2026年7月17日 1 分钟阅读

MCPJungle 实战教程:用一个统一网关管好你所有的 MCP 服务器

tinyash 0 条评论

问题:MCP 服务器越来越多,管理越来越乱

如果你同时使用多个 MCP 服务器——文件系统、数据库、GitHub、浏览器自动化——你很快就会遇到一个头疼的问题:每个客户端(Claude Desktop、Cursor、Copilot)都要单独配一堆 MCP 配置,每加一个新工具就得改一遍 claude_desktop_config.jsonmcp.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 服务器(如本地运行的 npxuvx 服务),只需要指定为 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 就能上路。

相关链接:

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。