MCP Simple Gateway

by denwakeup

1 stars
178 downloads
Not rated
GitHub

About

Simple proxy server for MCP with token-based authentication support.

Details

Author
denwakeup
GitHub stars
1
Downloads
178
Categories
Other

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Simple Gateway
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.