mcp-hub.kira. One hub. Many MCP clients. Ready to use
由Kira.id开源人工智能研究团队用心打造
这个仓库提供了一个即开即用的(程序/应用) MCP-Hub 配置方式允许您将多个MCP服务器聚合到一个HTTP端点后。
仓库布局
config/mcp-hub.json— 样本中心配置,通过该配置启动每个STDIO MCP服务器npx。.env.example— 环境模板;复制到.env并填写您的API令牌。scripts/install-mcp-hub.sh— 构建打包文件的辅助工具mcp-hub使用npm在每台机器上安装一次CLI。
要求
- Node.js 18 或更高版本
- npm 9+(随 Node.js 18 一起提供)—— 包含
npx
在本地安装集线器
运行辅助脚本来从嵌入的(或供应商提供的)资源中构建并链接CLI(命令行界面) mcp-hub 来源:
./scripts/install-mcp-hub.sh脚本正在运行 npm install 并且 npm run build 里面 ./mcp-hub然后是符号链接 /usr/local/bin/mcp-hub 到编译后的命令行界面(CLI)。
配置密钥
cp .env.example .env
# edit .env with your real tokens在本地开发过程中,你可以保留 .env 在项目根目录下创建文件(该文件会被git忽略)或者手动导出变量。
运行集线器
加载您的机密信息,并使用提供的配置启动中心:
export $(grep -v '^#' .env | xargs) \
&& mcp-hub --port 37373 --config "$(pwd)/config/mcp-hub.json"将MCP客户端(如Claude Desktop、Cline等)指向 http://:37373/mcp。
不想全局安装二进制文件?你也可以直接运行已发布的包:
npx mcp-hub@latest --port 37373 --config "$(pwd)/config/mcp-hub.json"要在Codex CLI配置中添加中心节点:
experimental_use_rmcp_client = true
[mcp_servers.kira]
url = "http://localhost:37373/mcp"与……合作 config/mcp-hub.json
每个条目中的 mcpServers 使用(某工具/方法)生成一个MCP服务器 npx确保您的配置类似于以下结构:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": [
"@upstash/context7-mcp",
"--api-key",
"${env:CONTEXT7_API_KEY}"
]
}
}
}根据需求添加或移除服务器,并在您的环境中保存API密钥,而不是将其硬编码。
认证令牌处理
- 本地开发 — 从(某处)加载值
.env或者在你的Shell会话中导出它们。 - 共享主机 — 更倾向于使用密钥管理工具(如1Password、AWS SSM、Doppler等),并引用它们
${cmd:...}在配置中,如果你不希望将令牌保存在磁盘上。 - 按用户访问 — 设定
MCP_HUB_ENV在启动中心之前,注入的值对每个用户来说都是独立的:
MCP_HUB_ENV='{"CONTEXT7_API_KEY":"...","UNSPLASH_ACCESS_KEY":"..."}' \
mcp-hub --port 37373 --config /path/to/config/mcp-hub.json- 定期轮换API密钥并重启中心(
POST /api/restart或者重启进程以获取新值。
部署思路
- Systemd 服务 (Linux)
1. 创建一个专用用户(例如。 mcp) 拥有项目目录并 .env 文件。 1. 部署一个单位在 /etc/systemd/system/mcp-hub.service:
[Unit]
Description=MCP Hub
After=network.target
[Service]
Type=simple
EnvironmentFile=/home/mcp/projects/mcp-hub.kira/.env
ExecStart=/usr/local/bin/mcp-hub --port 37373 --config /home/mcp/projects/mcp-hub.kira/config/mcp-hub.json
Restart=on-failure
[Install]
WantedBy=multi-user.target1. 启用并启动它: sudo systemctl enable --now mcp-hub。
- Docker — 包裹一个最小化的Node镜像,复制配置文件,并使用Docker secrets或环境变量注入密钥。
监控该集线器 /api/health 或者SSE流在 /api/events 确认所有服务器保持连接状态。
