MCP Simple Gateway
@denwakeup
Simple proxy server for MCP with token-based authentication support.
Overview
What is MCP Simple Gateway?
MCP Simple Gateway is a proxy server for the Model Context Protocol (MCP) that aggregates and manages multiple MCP servers through a single interface. It is intended for developers who need to centralize access to various MCP endpoints.
How to use MCP Simple Gateway?
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.
Key features of MCP Simple Gateway
- Aggregation of multiple MCP servers
- Token-based authentication support
- Flexible JSON-based configuration
- Docker support
- Supports SSE, stdio, and StreamableHTTP MCP transports
Use cases of MCP Simple Gateway
- Aggregating multiple MCP servers (e.g., time, filesystem, echo) behind a single proxy
- Adding token-based authentication to MCP servers that lack it
- Enabling CORS for cross-origin requests to MCP servers
- Simplifying client configuration by exposing one endpoint
FAQ from MCP Simple Gateway
What types of MCP servers are supported?
The gateway supports stdio, SSE, and StreamableHTTP MCP servers.
How do I configure authentication?
Provide an array of authentication tokens in the proxyServer.options.authTokens field. These tokens apply to all servers by default, and can be overridden per server via proxyOptions.authTokens.
Can I run MCP Simple Gateway with Docker?
Yes, a Docker Compose example is provided in the README, using the image ghcr.io/denwakeup/mcp-simple-gateway:latest.
What is the default port?
The default proxy server address and port is localhost:3000.
How do I set up CORS?
CORS configuration is optional; you can set proxyServer.options.cors using Express.js CORS middleware options.