The Wowza Streaming Engine MCP Server enables AI-powered control of your streaming environment through the Model Context Protocol (MCP). By integrating with the Wowza Streaming Engine REST API, the MCP server enables AI tools and agents to manage streaming applications via natural-language or structured commands.
This article explains how to install, configure, and connect the MCP server to your Wowza Streaming Engine instance, so you can automate common workflows such as starting, stopping, or managing live streams through AI-driven interactions.
Overview
The easiest way to connect to the Wowza Streaming Engine MCP Server is by using Docker Compose. The Docker Compose solution automates the setup process by defining both the MCP server and Wowza Streaming Engine services in a single configuration file.
Note: For more information about the engine and manager services included in the docker-compose.yaml file, see Set up Wowza Streaming Engine using a Docker Compose deployment.
It also includes preconfigured Docker images that enable access to the Wowza Streaming Engine REST API, configure Swagger ports, and set REST API authentication to basic. This approach simplifies setup and ensures a consistent, ready-to-use environment for MCP server integration.
Before you start
We assume you use Docker Compose to install and configure the Wowza Streaming Engine MCP Server. Before you begin, consider the following prerequisites:
- Obtain a valid Wowza Streaming Engine license key. For more, see sign up for a free trial.
- Understand how access credentials for the Wowza Streaming Engine REST API work. For more, see Authenticating REST API requests. The Docker Compose deployment uses the basic authentication method by default.
- Be aware that the Docker images used in the Docker Compose deployment — available at wowza/wowza-streaming-engine-manager and wowza/wowza-streaming-engine — are compatible only with Wowza Streaming Engine version 4.9.3 or later.
- Ensure Docker Desktop or Docker Engine is installed and running when using our containerized deployment.
1. Clone the MCP repository
The MCP server project is hosted in our public wowza-streaming-engine-mcp repository on GitHub. Begin by cloning this project.
- Clone the wowza-streaming-engine-mcp repo:
git clone git@github.com:WowzaMediaSystems/wowza-streaming-engine-mcp.git
- Change the directory to the wowza-streaming-engine-mcp repo:
cd wowza-streaming-engine-mcp
2. Configure environment variables
Next, set the required environment variables. These variables define key configuration values for each service, such as API endpoints, ports, and authentication credentials. Docker Compose reads these settings from an .env file at runtime, making sure your deployment is secure without hardcoding sensitive information.
- Create an .env file in the root directory of your local wowza-streaming-engine-mcp repo.
Note: The .env file is not committed to any public repository to prevent exposure of sensitive information such as API keys or credentials.
- Copy the contents of the example .env.example file into the .env file you created in step 1.
- In the .env file, update the following environment variables. Replace placeholder values in brackets with your own:
WSE_LICENSE_KEY=[your-license-key] ADMIN_USER=[your-admin-user] ADMIN_PASSWORD=[your-admin-password]
- Continue to the next section to select the MCP mode. You'll have to update additional environment variables based on the mode you select.
3. Select the MCP mode
The Wowza Streaming Engine MCP Server supports two connection modes—STDIO and HTTP—that define how it communicates with MCP-compatible clients such as Visual Studio Code (VS Code), Windsurf, Cursor, or the Google Agent Development Kit (ADK) Client.
| MCP server connection mode | Description |
| STDIO | The MCP server exchanges data directly through standard input and output (stdin/stdout) streams, making it ideal for local testing or development environments. This mode is helpful if you're running the MCP server directly on your development machine—for example, via VS Code—during local testing. It requires the client and server to run on the same system or within the same Docker container. |
| HTTP | Preferred for Docker or cloud deployments, or shared environments. In this mode, the server exposes a network endpoint for remote access by multiple clients. |
Configure STDIO mode
In STDIO mode, the client starts and manages the MCP server process directly on the same system. It's considered a trusted subprocess that doesn't require authentication. The MCP-client or agent passes flags to the MCP subprocess via environment variables. To configure STDIO mode, follow these steps.
- Set the WOWZA_FLAGS variable in the .env file. For example, WSE_FLAGS=application.
- If using the Google ADK Client UI, set the OPENAI_API_KEY value in the .env file.
Note: For more information about flags, filtering, and environment variables, see Wowza Streaming Engine MCP Server configuration reference.
Configure HTTP mode
In HTTP mode, MCP clients can send powerful requests that control or retrieve data from Wowza Streaming Engine through a network endpoint. Therefore, it’s critical to ensure that only authorized clients can access the MCP server. Authentication via a self-generated API key is required. To configure HTTP mode, follow these steps.
- Set the MCP_KEY in the .env file.
- If using the Google ADK Client UI, set the OPENAI_API_KEY value in the .env file.
Notes:When configuring your MCP client, you must:
- Add the X-Wowza-Flags header in every HTTP request. This controls which tools are available. For example, read, write, all, application, publisher, monitoring.
- Add the X-Wowza-MCP-Key header in every HTTP request. It must match the MCP_KEY value.
- For an example, see Connect to the Wowza Streaming Engine MCP Server with Visual Studio Code.
- For more information about flags, filtering, and environment variables, see Wowza Streaming Engine MCP Server configuration reference.
4. Start and stop services
From the root of the wowza-streaming-engine-mcp project, run the commands in this section.
Start and stop STDIO mode
To start services in STDIO mode, run:
docker compose --profile stdio up --build -d
A successful output, where all required images are built and all containers are started, looks similar to:
[+] Running 4/4 ✔ agent_stdio Built 0.0s ✔ Container wse-mcp-manager-1 Running 0.0s ✔ Container wse-mcp-engine-1 Running 0.0s ✔ Container wse-mcp-agent_stdio-1 Running 0.0s
When running in STDIO mode, you can access the following services at these URLs:
- Google ADK Client UI: http://localhost:3005/
- Wowza Streaming Engine Manager: http://localhost:8088/
To stop services in STDIO mode, run:
docker compose --profile stdio down
Start and stop HTTP mode
To start services in HTTP mode, run:
docker compose --profile http up --build -d
A successful output, where all required images are built and all containers are started, looks similar to:
[+] Running 6/6 ✔ agent_http Built 0.0s ✔ mcp Built 0.0s ✔ Container wse-mcp-manager-1 Running 0.0s ✔ Container wse-mcp-engine-1 Running 0.0s ✔ Container wse-mcp-mcp-1 Running 0.0s ✔ Container wse-mcp-agent_http-1 Running 0.0s
When running in HTTP mode, you can access the following services at these URLs:
- Google ADK Client UI: http://localhost:3005/
- Wowza Streaming Engine Manager: http://localhost:8088/
- MCP server (external): http://localhost:8002/mcp
To stop services in HTTP mode, run:
docker compose --profile http down
5. Access the Wowza Streaming Engine REST API reference (optional)
You can optionally view the Wowza Streaming Engine REST API reference in this context. For more, see Access reference documentation for the Wowza Streaming Engine REST API. However, with this Docker Compose deployment, keep the following caveats in mind:
- The AuthenticationMethod in the Server.xml file is set to basic by default.
- The DocumentationServerAuthenticationMethod is already set to none.
- To view the Wowza Streaming Engine REST API reference documentation, you must access the file system inside the Docker engine container. By default, the DocumentationServerEnabled property is set to false. To enable it, open the Server.xml file in the container and set this property to true. Then, restart Wowza Streaming Engine for the changes to take effect.




