MCP超级网关集线器
在一台机器上运行62台MCP服务器,每台服务器都通过以下方式作为可流式传输的HTTP端点公开 超级通道.通过网络将Claude Code(或任何MCP客户端)连接到所有这些客户端。
为什么?
MCP服务器通常作为stdio进程运行,非常适合本地使用,但不能在机器之间共享。该集线器将每个服务器封装在一个超级网关实例中,该实例将stdio桥接到HTTP,因此您可以在专用设备上运行所有MCP服务器,并从任何开发机器连接。
克劳德代码 工具搜索 该特性意味着配置许多服务器几乎不需要任何成本——它只加载每个查询所需的内容。
快速开始
# Clone and install
git clone https://github.com/dpdanpittman/mcp-supergateway-hub.git
cd mcp-supergateway-hub
# Configure
cp .env.template .env
nano .env # Add your API keys
# Install gateway dependencies
cd gateway
npm install
# Launch all servers
node index.js用法
# Start all servers
node index.js
# Start only specific servers
node index.js --only github,git,memory,fetch
# Start all except certain servers
node index.js --exclude blender,ableton,reaper
# List all available servers
node index.js --list
# Generate Claude Code settings
node index.js --generate连接克劳德代码
启动后,集线器生成 gateway/claude-settings.json 包含所有服务器URL的文件。
重要提示: 克劳德代码要求 "type": "http" 在MCP配置中。裸露的 "url" settings.json中的条目不起作用。使用以下命令添加服务器:
claude mcp add --transport http http://YOUR_SERVER_IP:
/mcp或者手动添加到项目的 .claude.json:
{
"mcpServers": {
"github": { "type": "http", "url": "http://YOUR_SERVER_IP:3170/mcp" },
"memory": { "type": "http", "url": "http://YOUR_SERVER_IP:3173/mcp" }
}
}作为服务运行(systemd)
# Edit mcp-gateway.service to match your install path and user
sudo cp mcp-gateway.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now mcp-gateway服务在出现故障时会自动重启,延迟10秒。
建筑
systemd (mcp-gateway.service)
└─ node gateway/index.js
├─ Reads .env for API keys
├─ Spawns one supergateway per server
│ └─ Bridges stdio ↔ streamable HTTP
└─ Sequential ports starting at 3170
├─ :3170/mcp filesystem
├─ :3171/mcp git
├─ :3172/mcp github
└─ ...etc每个服务器都作为一个子进程运行,由超级网关封装。服务器以10台为一批启动,以避免系统不堪重负。如果服务器在启动后5秒内没有崩溃,则视为已启动。
超级网关被固定为本地依赖项(不通过npx),以避免过时的缓存问题。
配置
.env-API密钥和连接字符串。没有密钥的服务器仍将启动,但不会通过外部API进行身份验证。gateway/servers.js--添加、删除或修改服务器。每个条目定义name,command,args,可选env映射。servers/--定制服务器实现(例如。,ollama-assistant,quint).
故障排除
服务器显示 [OK] 但随后死亡: Supergateway在5秒后将服务器标记为OK。如果基础服务需要身份验证(Discord、Slack等),则稍后连接被拒绝时可能会崩溃。检查日志:
journalctl -u mcp-gateway.service -f | grep DIEDDiscord机器人因“不允许的意图”而崩溃: 在中启用所有三个特权网关意图 Discord开发者门户 → Bot → 特权网关意图(状态、服务器成员、消息内容)。
崩溃时清空stderr: 一些服务器将错误写入stdout而不是stderr。直接测试服务器以查看真正的错误:
DISCORD_TOKEN=your_token npx mcp-discordClaude Code无法连接: 确保配置使用 "type": "http" --裸URL条目将被自动忽略。使用 claude mcp add --transport http.
需求
- Node.js 22+
- Python 3.10+ 紫外线 (适用于基于uvx的服务器)
- Docker(用于Docker MCP服务器)
- Quint CLI(
npm i -g @informalsystems/quint)用于形式验证服务器
包含的服务器(62)
| 层 | 类别 | 服务器 |
|---|---|---|
| 1 | 核心开发 | 文件系统、git、github、内存、顺序思维、fetch、时间、docker |
| 2 | 数据库 | postgres、sqlite、mongodb、redis |
| 3 | 云和基础设施 | cloudflare、terraform、kubernetes、localstack |
| 4 | 浏览器和网络 | 剧作家、木偶师、勇敢的搜索、页面地图 |
| 5 | 沟通 | 松弛、不和谐、观念 |
| 6 | 创意与设计 | figma、搅拌机、ableton、收割机、svgmaker、manim、davinci resolve |
| 7 | 智能家居 | 家居助理 |
| 8 | 金融与加密货币 | coingecko、羊驼、加密货币交易、加密货币投资组合、alphavantage、无银行链上 |
| 9 | 监控 | 哨兵,公理 |
| 10 | 数据和API | 任何查询、管道流、apify、e2b、mindsdb |
| 11 | AI Bridges | olama助手、olama桥、openai桥、双子座桥、openai-image、谷歌imagen |
| 12 | 游戏 | 高级游戏 |
| 13 | DevOps | atlassian、azure DevOps、gitlab |
| 14 | 杂项 | youtube成绩单、spotify、开放库、tmdb、个性化 |
| 15 | 形式验证 | 五件套 |
| 16 | Meta | 一切,觅食 |
食谱
使用网关的端到端工作示例:
- 通过电子邮件发送每日Slack摘要 -系统工时+
claude -p+松弛MCP+msmtp。典型的“claude as cron”模式。
许可证
麻省理工学院
