MCP Simple Gateway
About
Simple proxy server for MCP with token-based authentication support.
Details
- Author
- denwakeup
- GitHub stars
- 1
- Downloads
- 178
- Categories
- Other
Jump to
- Aggregation of multiple MCP servers
- Token-based authentication support
- Flexible JSON-based configuration
- Docker support
- Supports SSE, stdio, and StreamableHTTP MCP transports
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Simple GatewayCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Run it via CLI with npx mcp-simple-gateway --config config.json, or deploy it using Docker Compose with an image from ghcr.io/denwakeup/mcp-simple-gateway:latest. Configuration is provided as a JSON file that defines the proxy server options and a list of MCP servers to aggregate.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp simple gateway": {
"mcp-simple-gateway": {
"command": "npx",
"args": [
"mcp-simple-gateway",
"--config",
"config.json"
]
}
}
}
}
McpServers
{
"mcp-simple-gateway": {
"command": "npx",
"args": [
"mcp-simple-gateway",
"--config",
"config.json"
]
}
}
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 # For Apple Silicon Users
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
- proxyServer.options:
- logLevel: Logging level (debug, info, warn, error)
- logPretty: Log formatting
- authTokens: Array of authentication tokens (used as default for all servers)
- cors: CORS configuration options (optional)
- mcpServers: MCP servers configuration
- [serverName]:
- command: Command to start the server (for stdio servers)
- args: Command arguments (for stdio servers)
- url: URL of the server (for SSE and StreamableHTTP servers)
- type: Server type (optional for stdio and SSE, required for StreamableHTTP)
- proxyOptions: Proxy options for a specific server
- authTokens: Array of authentication tokens (overrides proxyServer.options.authTokens for the specific server)
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
- [x] CORS support
- [x] Streamable HTTP support
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



