lightweight Docker image for launching multiple MCP servers via MCPO with unified OpenAPI access.
50K+
This Docker image provides a lightweight environment for running mcpoβ , a versatile MCP server launcher for Open WebUIβ .
MCPO is a server that orchestrates multiple MCPβ tools using a single configuration file, providing a unified HTTP interface to each.
Official MCP tools are available here:
π https://github.com/modelcontextprotocol/serversβ
This project focuses on using the Claude Desktop format to run multiple MCP tools under one config via a unified interface.
When starting out, I found that the official Open WebUI documentation often highlights one-liner launch commands (e.g. using npx or uvx directly) and provides translations from Claude configs to one-liners.
However, I noticed two things:
So instead of manually translating JSON blocks to CLI commands, I embraced the Claude config format fully. This makes the setup clearer, easier to maintain, and perfectly compatible with mcpo.
docker pull masterno12/webui-mcpo:latest
You must provide a config.json in a local folder (e.g., mcpo/). If mcpo/config.json does not exist, the container will automatically generate a minimal default one.
The local folder mcpo/ must be in the same directory where docker-compose.yml is.
π Example config.json:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone=America/New_York"]
}
}
}
docker run -d \
--name webui-mcpo \
-p 8000:8000 \
-v $(pwd)/mcpo:/opt/mcpo \
-e MCPO_API_KEY=top-secret \ # Optional: define an API key
masterno12/webui-mcpo:latest
services:
mcpo:
image: masterno12/webui-mcpo:latest
container_name: webui-mcpo
ports:
- "8000:8000"
volumes:
- ./mcpo:/opt/mcpo
# Optional: define an API key
# environment:
# - MCPO_API_KEY=top-secret
restart: unless-stopped
Start with:
docker compose up -d
Once running, each MCP server is exposed at its own HTTP route:
Each route comes with its own OpenAPI UI:
MCPO_API_KEY environment variable.entrypoint.sh to dynamically append --api-key if the variable is present.config.json for server configuration.v1.1 config files.mcpo with config file support.Content type
Image
Digest
sha256:018df5374β¦
Size
176.9 MB
Last updated
over 1 year ago
docker pull masterno12/webui-mcpo