Get started with the Wowza Streaming Engine MCP Server

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.

  1. Clone the wowza-streaming-engine-mcp repo:
 git clone git@github.com:WowzaMediaSystems/wowza-streaming-engine-mcp.git
  1. 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.

  1. 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.
  1. Copy the contents of the example .env.example file into the .env file you created in step 1.
  2. 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]
  1. 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.

  1. Set the WOWZA_FLAGS variable in the .env file. For example, WSE_FLAGS=application.
  2. 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.

  1. Set the MCP_KEY in the .env file.
  2. 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:

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:

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:

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.

More resources