mcpField
M
MCP Simple Gateway

MCP Simple Gateway

本地服务
github.com/denwakeup开发工具177 周前更新

关于 MCP Simple Gateway

MCP Simple Gateway 是用于汇总和管理多个 MCP 服务的代理,适合需要令牌认证及多种传输方式的部署场景。

主要功能

  1. 01汇总多个 MCP 服务
  2. 02基于令牌的身份验证
  3. 03JSON 配置
  4. 04支持 Docker
  5. 05支持 SSE、stdio 和 StreamableHTTP

适用场景

  1. 01通过一个地址接入多个 MCP 服务
  2. 02为代理访问配置令牌
  3. 03用 JSON 配置服务及代理选项

MCP 相关

它作为 MCP 代理汇总配置的服务,并支持 SSE、stdio 和 StreamableHTTP 连接。认证令牌可全局设置,也可按服务单独设置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"simple-gateway": {
"command": "npx",
"args": [
"-y",
"mcp-simple-gateway"
]
}
}
}
启动命令npx -y mcp-simple-gateway

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-simple-gateway

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

npm

MCP Simple Gateway

MCP Simple Gateway 是一个用于模型上下文协议(MCP)的代理服务,可通过单一接口聚合和管理多个 MCP 服务。

主要功能

  • 🚀 聚合多个 MCP 服务
  • 🔒 支持基于令牌的身份验证
  • 📝 灵活的基于 JSON 的配置
  • 🐳 支持 Docker
  • 🔌 支持 SSE、stdio 和 StreamableHTTP MCP

使用方法

通过 CLI 运行
npx mcp-simple-gateway --config config.json
通过 Docker Compose 运行

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

配置

配置文件(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"
    }
  }
}
配置参数
  • proxyServer.options:

    • logLevel:日志级别(debug、info、warn、error)
    • logPretty:日志格式
    • authTokens:身份验证令牌数组(用作所有服务的默认值)
    • cors:CORS 配置选项(可选)
  • mcpServers:MCP 服务配置

    • [serverName]:
      • command:启动服务的命令(用于 stdio 服务)
      • args:命令参数(用于 stdio 服务)
      • url:服务的 URL(用于 SSE 和 StreamableHTTP 服务)
      • type:服务类型(stdio 和 SSE 可选,StreamableHTTP 必填)
      • proxyOptions:特定服务的代理选项
        • authTokens:身份验证令牌数组(针对特定服务覆盖 proxyServer.options.authTokens)

根据上述配置,访问 MCP 服务的 URL 如下:

http://localhost:3000/time/sse
http://localhost:3000/filesystem/sse
http://localhost:3000/echo/sse
  • localhost:3000 - 代理服务的地址和端口(默认值)
  • /time/sse、/filesystem/sse 和 /echo/sse - 对应 MCP 服务的路径,与 mcpServers 配置中的键相对应

路线图

  • 支持 CORS
  • 支持 Streamable HTTP

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。