
MCP Simple Gateway
MCP Simple Gateway is a proxy server for Model Context Protocol (MCP) that allows you to aggregate and manage multiple MCP servers through a single interface.
Key Features
- 🚀 Aggregation of multiple MCP servers
- 🔒 Token-based authentication support
- 📝 Flexible JSON-based configuration
- 🐳 Docker support
- 🔌 SSE, stdio and StreamableHTTP MCP supported
Usage
Running via CLI
npx mcp-simple-gateway --config config.json
Running via Docker Compose
Example docker-compose.yml
:
services:
mcp-gateway:
platform: linux/amd64
image: ghcr.io/denwakeup/mcp-simple-gateway:latest
volumes:
- ./config.json:/app/config.json
ports:
- '3000:3000'
environment:
- CONFIG_PATH=/app/config.json
Configuration
Example configuration file (config.json
):
{
"proxyServer": {
"logLevel": "debug",
"logPretty": true,
"authTokens": ["your-auth-token"],
"cors": {
"origin": true
}
},
"mcpServers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone=Europe/Moscow"],
"proxyOptions": {
"authTokens": ["server-specific-token"]
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/app/files"]
},
"echo": {
"type": "streamableHttp",
"url": "http://localhost:8080/mcp"
}
}
}
Configuration Parameters
Based on the configuration above, the URLs for accessing MCP servers will be as follows:
http://localhost:3000/time/sse
http://localhost:3000/filesystem/sse
http://localhost:3000/echo/sse
localhost:3000
- proxy server address and port (default)
/time/sse
, /filesystem/sse
, and /echo/sse
- paths to corresponding MCP servers that match the keys in the mcpServers
configuration
Roadmap
License
MIT