@zhangzwd/mcp-gateway
v1.1.0
Published
Personal MCP Gateway - aggregate multiple MCP servers into one stdio interface
Readme
@zhangzwd/mcp-gateway
一个轻量级 MCP 网关,将多个 MCP 服务聚合成一个统一的 stdio 接口。
每个子服务的工具会自动加上 {服务名}_ 前缀,避免工具名冲突。
安装
npx @zhangzwd/mcp-gateway无需全局安装,npx 会自动下载运行。
配置文件
默认读取 ~/.mcp/gateway.config.json,可通过环境变量 MCP_GATEWAY_CONFIG 覆盖路径。
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp", "--api-key", "你的API_KEY"]
},
"另一个服务名": {
"command": "node",
"args": ["path/to/server.js"]
}
}
}mcpServers 中的每个 key 就是服务名,会作为工具前缀。例如 context7 服务的 resolve-library-id 工具对外暴露为 context7_resolve-library-id。
在 AI 工具中使用
opencode.json
{
"mcp": {
"gateway": {
"type": "local",
"command": ["npx", "-y", "@zhangzwd/mcp-gateway"]
}
}
}codex config.toml
[mcp_servers.gateway]
command = "npx"
args = ["-y", "@zhangzwd/mcp-gateway"]reasonix config.json
{
"mcpServers": {
"gateway": {
"command": "npx",
"args": ["-y", "@zhangzwd/mcp-gateway"]
}
}
}项目结构
~/.mcp/gateway.config.json # 配置文件(你编辑这个)
~/.mcp-gateway/
gateway.js # 主程序(已发布到 npm)
package.json
README.md工作原理
- 读取
gateway.config.json,获取子 MCP 服务列表 - 为每个子服务启动一个子进程(stdio 通信)
- 调用
listTools获取工具列表,工具名加{服务名}_前缀 - 将自己注册为一个 MCP Server,暴露合并后的工具列表
- 收到
tools/call请求时,根据工具名前缀路由到对应的子服务
