This page provides a detailed configuration reference for connecting to the Wowza Streaming Engine MCP server using a Docker Compose deployment.
It explains how to define and manage environment variables using the docker-compose.yaml and .env example files in the wowza-streaming-engine-mcp repository, allowing you to control deployment behavior and authentication settings.
You'll also learn how to use the Wowza flag system to filter and control which MCP tools are exposed to connected MCP clients.
Docker Compose configuration
The Docker Compose configuration defines how the MCP server and its related services (such as the Wowza Streaming Engine container) are deployed, networked, and configured.
| File | Description |
|---|---|
| docker-compose.yaml | Defines container services, ports, environment variables, and dependencies. |
| .env.example | Stores environment-specific values (such as ports, API keys, and authentication credentials) that Docker Compose automatically substitutes into the YAML file at runtime. |
Docker Compose configuration reference
The docker-compose.yaml file defines how the Wowza Streaming Engine MCP server and related services are built and deployed. All configurations are loaded via the .env file.
| Service | Description |
|---|---|
| engine | Contains the core of the Wowza Streaming Engine media server software product, upon which all other components are built. Consists of the software that ingests, processes, and delivers your live and video-on-demand (VOD) streams. |
| manager | Contains the web-based user interface you can use to configure, manage, and monitor your Wowza Streaming Engine server. |
| mcp | Contains the core of the Wowza Streaming Engine MCP integration layer, acting as a bridge between AI agents and Wowza Streaming Engine REST APIs. Ensures that the engine container starts first, because the MCP server needs to connect to it via REST API calls. |
| agent_http | Runs a Google ADK-powered agent that listens for AI-driven HTTP requests and forwards them to the Wowza Streaming Engine MCP Server. Launches a lightweight UI to visualize the Google ADK Client agent. |
| agent_stdio | Runs the Google ADK Client in STDIO mode, allowing direct local connections to the Wowza Streaming Engine without requiring the MCP server. Mainly used for testing, debugging, and standalone use. Launches a lightweight UI to visualize the Google ADK Client agent. |
Environment variable configuration reference
The sample .env file contains the values referenced by the docker-compose.yaml file. These variables make your configuration portable and easier to maintain. You can copy the values into your own .env file to customize environment-specific settings without altering the reference configuration that ships with the project. The .env file is typically excluded from version control, ensuring your sensitive data remains private.
- For variables used with the engine service, see Update the Wowza Streaming Engine container.
- For variables used with the manager service, see Update the Wowza Streaming Engine Manager container.
Note: Don't commit your customized .env file to version control if it includes sensitive values for API keys, usernames, passwords, or license keys.
Wowza Streaming Engine MCP Server variables
| Variable | Description | Example value |
|---|---|---|
| MCP_HOST | Specifies the network interface to which the Wowza Streaming Engine MCP Server binds when it starts. Setting this to 0.0.0.0 makes the server listen on all available interfaces, allowing connections from other containers or external systems (depending on exposed ports and network rules). Used to define the base URL of the external Wowza Streaming Engine MCP Server endpoint. For example, http://localhost:8002/mcp. | 0.0.0.0 |
| MCP_PORT | Binds the port to the Wowza Streaming Engine MCP Server container. The MCP server listens on this port, and MCP clients use this port to connect to the server. For example, the external endpoint for the MCP server is http://localhost:8002/mcp. | 8002 |
| MCP_MODE | Specifies the operating mode for the Wowza Streaming Engine MCP Server. Use HTTP for network access or STDIO for local subprocess mode. For more, see Select the MCP mode. | http |
| MCP_KEY | Add a self-generated API key value that acts as a shared secret by MCP clients to authenticate to the Wowza Streaming Engine MCP Server. This is required for HTTP mode, but not needed for STDIO mode. The key can be any length. When configuring your MCP client, you must add the X-Wowza-MCP-Key header in every HTTP request with this MCP_KEY value. To generate a key, see this third-party API key generator. | my-secret-key |
| WOWZA_ENGINE_BASE_URL | Identifies the base URL where the Wowza Streaming Engine instance is running. Enables the MCP server to connect to Wowza Streaming Engine and the REST API. | http://wse.docker:8087 |
| WOWZA_ENGINE_INSTANCE_NAME | Identifies the default instance name for Wowza Streaming Engine. | wowza |
| WOWZA_ENGINE_PASSWORD | Adds the password for authentication requests from the MCP server to the Wowza Streaming Engine REST API. Must match the ADMIN_PASSWORD value used to log in to Wowza Streaming Engine. | wowza |
| WOWZA_ENGINE_SERVER_NAME | Identifies the default server name for Wowza Streaming Engine. | Wowza Streaming Engine |
| WOWZA_ENGINE_USERNAME | Adds the username for authentication requests from the MCP server to the Wowza Streaming Engine REST API. Must match the ADMIN_USER value used to log in to Wowza Streaming Engine. | admin |
| WOWZA_ENGINE_VHOST_NAME | Identifies the default virtual host (VHost) name for Wowza Streaming Engine. | _defaultVHost_ |
Google ADK Client variables
| Variable | Description | Example value |
|---|---|---|
| AGENT_PORT | Identifies the port to access the Google ADK Client UI when all Docker containers are running. | 3005 |
| LLM_MODEL_CLOUD | Specifies the OpenAI ChatGPT large language model that the Google ADK Client can use to power conversations. | openai/gpt-4o-mini |
| MCP_COMMAND | Runs the /app/server.py Python application using the uv environment manager, ensuring any dependencies are resolved and isolated before running. Required when using the Google ADK Client and STDIO mode only. | uv run /app/server.py |
| OPENAI_API_KEY | Assigns an OpenAI key that can be set up in the OpenAI platform, allowing the Google ADK Client to access ChatGPT models, such as GPT-4.1 or GPT-4.0. | my-openai-api-key |
| WSE_FLAGS | Includes a comma-separated list of category flags to filter available tools. This environment variable is only used with STDIO mode. For more information, see the Tool filtering section. | application |
| WSE_MCP_URL | Defines the base URL so the Google ADK Client can connect to the MCP server via HTTP. Required when using the Google ADK Client and HTTP mode only. | http://mcp.docker:8002/mcp |
Tool filtering
The Wowza Streaming Engine MCP Server allows fine-grained control over which tools are available to connected clients through a flexible flag system.
In HTTP mode, these flags are defined using the X-Wowza-Flags header, while in STDIO mode, they're set through the WSE_FLAGS environment variable. The system uses OR logic for category flags, meaning that if multiple categories are specified, all tools from both categories are exposed. You can narrow down access by selecting only the categories you need.
Access modifier flags further refine the selection:
- The read access flag limits access to non-destructive, read-only operations.
- The write access flag restricts visibility to tools that perform create, update, or delete actions.
Note: Careful selection of flags is important for security, performance, and reliability. LLMs often perform better when presented with a smaller, more focused toolset. By limiting the number of exposed tools, you reduce processing overhead, improve reasoning accuracy, and make it easier for the LLM to select the correct operation.
Main category flags
| Flag | Description |
|---|---|
| application | Application management – create, update, and configure applications and instances. |
| publisher | Publisher/live stream management – manage incoming streams and publishers. |
| transcoder | Transcoder operations – templates, encoding, and overlay settings. |
| mediacache | Media cache management – sources, stores, and cached assets. |
| mediacaster | MediaCaster operations – pull streams from external sources (IP cameras, streaming servers). |
| monitoring | Server monitoring and statistics – performance metrics, analytics, and tuning configuration. |
| streaming_engine | Streaming engine operations – live sources and stream targets management. |
| vhost | Virtual host management – vHost configuration and stats. |
| server-action | Server actions – start, restart, and stop server operations. |
| server-config | Server configuration – general server settings. |
| server-info | Server information – Wowza Streaming Engine REST API version and build details. |
| server-license | Server license management. |
| server-listener | Server listener configuration – network interfaces and listener settings. |
| server-logs | Server log management – access and read log files. |
| server-status | Server status information. |
| user | User management operations – manage server users and permissions. |
| log4j | Logging configuration – log levels and settings. |
| all | All available tools. |
Access modifier flags
| Flag | Description |
|---|---|
| read | Allows only non-destructive operations (view, list, inspect) within the selected tool categories. Removes all write or destructive capabilities. |
| write | Allows only create, update, and delete operations within the selected tool categories. |
The read flag filters your selected categories. For example:
- "application,read" - Exposes all application tools, but allows read-only, non-destructive operations.
- "publisher,monitoring,read" - Exposes all publisher and monitoring tools, but only allows read-only, non-destructive operations.
- "read" - Exposes all tools, but allows read-only, non-destructive operations.
Flag combination examples
Category or logic:
"X-Wowza-Flags": "application" // All application tools "X-Wowza-Flags": "application,publisher" // All application AND publisher tools "X-Wowza-Flags": "monitoring,transcoder" // All monitoring AND transcoder tools
Read-only filter:
"X-Wowza-Flags": "application,read" // All application tools, read-only "X-Wowza-Flags": "publisher,monitoring,read" // Publisher AND monitoring, read-only "X-Wowza-Flags": "read" // All tools, read-only
Write-only filter (create, update, delete):
"X-Wowza-Flags": "application,write" // Only write operations for application "X-Wowza-Flags": "publisher,write" // Only write operations for publisher
Multiple categories:
"X-Wowza-Flags": "application,publisher,transcoder" // All tools from these categories "X-Wowza-Flags": "application,publisher,transcoder,read" // Same tools, but read-only




