MCPJungle 实战教程:用一个统一网关管好你所有的 MCP 服务器
问题:MCP 服务器越来越多,管理越来越乱
如果你同时使用多个 MCP 服务器——文件系统、数据库、GitHub、浏览器自动化——你很快就会遇到一个头疼的问题:每个客户端(Claude Desktop、Cursor、Copilot)都要单独配一堆 MCP 配置,每加一个新工具就得改一遍 claude_desktop_config.json 或 mcp.json。
更麻烦的是,团队协作时每个人都得手动同步 MCP 配置,工具发现全靠口头传递,权限控制更是无从谈起。
MCPJungle 就是来解决这个问题的。它是一个自托管(self-hosted)的 MCP 网关,把所有 MCP 服务器注册到同一个地方,然后让 Claude、Cursor、Copilot 或你自己的 Agent 通过一个统一端点访问所有工具。
快速安装
MCPJungle 推荐用 Docker Compose 启动,一条命令搞定:
curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.yaml docker compose up -d
启动后,MCPJungle 会在 http://localhost:8080/mcp 暴露 Streamable HTTP MCP 端点。
你也可以通过 Homebrew 安装 CLI:
brew install mcpjungle/mcpjungle/mcpjungle
注册你的第一个 MCP 服务器
装上 CLI 后,注册一个 MCP 服务器非常简单。假设你有一个运行在本地 http://127.0.0.1:8000/mcp 的计算器 MCP 服务器:
mcpjungle register \ --name calculator \ --description "提供基础数学工具" \ --url http://127.0.0.1:8000/mcp
如果 MCPJungle 跑在 Docker 里,而你不在 Linux 上,记得用 host.docker.internal 替代 localhost:
mcpjungle register \ --name calculator \ --url http://host.docker.internal:8000/mcp
对于需要认证的 SaaS MCP 服务(如 HuggingFace、Stripe),可以用 --bearer-token 传入令牌:
mcpjungle register \ --name huggingface \ --url https://huggingface.co/mcp \ --bearer-token "$HF_TOKEN"
还支持 STDIO 类型的 MCP 服务器(如本地运行的 npx 或 uvx 服务),只需要指定为 stdio 协议并传入启动命令即可。
连接 AI 客户端
连接 Claude Desktop
在 Claude Desktop 的配置中添加 MCPJungle 作为 MCP 服务器:
{
"mcpServers": {
"mcpjungle": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8080/mcp",
"--allow-http"
]
}
}
}
配置好后,Claude 就能通过 MCPJungle 调用所有已注册的 MCP 工具了。试试问 Claude:「用 context7 查一下 lodash 的文档」——MCPJungle 会自动路由到 context7__get-library-docs 工具。
连接 Cursor
{
"mcpServers": {
"mcpjungle": {
"url": "http://localhost:8080/mcp"
}
}
}
用 Tool Groups 控制工具暴露范围
当你注册的 MCP 服务器越来越多,网关下可能有成百上千个工具。对 AI Agent 来说,工具太多会导致性能下降——Agent 在每次调用前都要扫描所有工具的 Schema。
Tool Groups 让你只暴露特定子集给特定客户端。创建一个只包含常用工具的组:
cat > claude-tools-group.json << 'EOF'
{
"name": "claude-tools",
"description": "Claude Desktop 专用工具组",
"included_tools": [
"filesystem__read_file",
"filesystem__write_file",
"time__get_current_time",
"deepwiki__read_wiki_contents"
]
}
EOF
mcpjungle create group claude-tools-group.json
创建成功后,MCPJungle 会返回一个唯一的组端点。你可以在 Claude 的配置中用这个端点替换主端点,这样 Claude 只看到它需要的工具。
团队部署:Enterprise 模式与访问控制
如果要在团队中共享 MCPJungle,切换到 Enterprise 模式:
docker compose -f docker-compose.prod.yaml up -d mcpjungle init-server
Enterprise 模式下,默认所有 MCP 客户端都无法访问任何服务器——你必须显式创建客户端并分配权限:
mcpjungle create mcp-client cursor-local \ --allow "calculator, github"
这会生成一个访问令牌。在 Cursor 中配置时加上认证头:
{
"mcpServers": {
"mcpjungle": {
"url": "http://your-server:8080/mcp",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
}
}
}
可观测性
Enterprise 模式默认启用 OpenTelemetry 指标,暴露在 /metrics 端点,可以直接接入 Prometheus 进行监控。这对团队运维和成本分析非常有用。
总结
MCPJungle 解决了一个真实且日益严重的问题——MCP 服务器碎片化。不需要的重复配置、不统一的访问控制、不可见的工具管理,在注册数量超过 3-5 个时就会变成痛点。
它的价值随 MCP 生态的壮大而增长。个人开发者可以用它在本地保持 MCP 配置的整洁,团队可以用共享网关实现集中管理和安全控制。而且它是 MPL-2.0 许可的开源项目,代码和文档都在 GitHub 上,1,100+ Stars 的社区活跃度也说明了这个方向的需求真实性。
如果你正在为 MCP 配置管理发愁,不妨试试 MCPJungle——装好 Docker 就能上路。
相关链接: