← 返回目录
M

MetaMCP

社区
将多个 MCP 服务器聚合为统一端点的自托管网关。
GitHub 源仓库 ↗
★ 2.5k Stars 分类 · 开发工具 非常热门
60FMRS · C
可靠性
10/20
安全与权限
12/20
维护活跃度
10/20
文档质量
15/20
安装易用性
13/20

来源显示 MetaMCP 是 MIT 许可的自托管 MCP 聚合与网关项目,支持工具、资源和提示,并提供命名空间、端点、认证、OIDC、限流、工具覆盖和中间件能力。当前来源未提供具体工具名称或已缓存的服务器清单;部分搜索、更多中间件和无头管理 API 仍列在路线图中。

查看 FMRS 评分方法 →

MetaMCP 是一个 MCP 代理、聚合器、编排器、中间件和网关。它可以将多个 MCP 服务器组合到命名空间中,按服务器或工具启用、禁用和覆盖工具元数据,并通过统一的 SSE、Streamable HTTP 或 OpenAPI 端点提供服务。MetaMCP 本身也是 MCP 服务器,可连接支持这些传输方式的 MCP 客户端。

工具能力

暂未整理工具清单。

安装接入

克隆仓库,复制 example.env 为 .env,然后运行 docker compose up -d。默认推荐使用 Docker Compose。配置端点和命名空间后,将生成的 SSE 或 Streamable HTTP 地址填入客户端配置。仅支持 STDIO 的客户端需要使用本地代理,例如 mcp-proxy。

claude_desktop_config.json
{"mcpServers":{"MetaMCP":{"url":"http://localhost:12008/metamcp/<YOUR_ENDPOINT_NAME>/sse"}}}

选型与风险

适合谁

  • 需要自托管 MCP 基础设施的开发者和组织。
  • 需要集中管理多个 MCP 服务器、命名空间、端点和访问密钥的团队。
  • 需要通过认证、限流和工具筛选控制 MCP 暴露面的部署。

不适合谁

  • 只需要连接单个 MCP 服务器且不需要聚合或网关功能的用户。
  • 无法运行 Docker 或提供所需运行环境的部署。
  • 只支持 STDIO 且不允许使用本地代理的客户端场景。

所需权限

  • 需要访问和管理已配置的上游 MCP 服务器。
  • 使用 STDIO MCP 服务器时,可能需要启动其命令及相关依赖。
  • 可能需要读取容器环境变量中的密钥和其他配置。
  • 启用认证时,需要处理会话、API Key 或 OIDC 登录信息。
  • 部署服务需要网络、Docker 和持久化 PostgreSQL 存储。

风险与副作用

  • 错误配置可能将多个上游 MCP 服务器或工具暴露到同一公共端点。
  • 环境变量和 API Key 处理不当可能导致凭据泄露。
  • 公共端点可能受到未授权调用、过量请求或上游工具滥用。
  • 限流计数器存储在内存中,集群中每台机器独立计数。
  • 运行 STDIO 服务器及其依赖会扩大容器中的执行和网络访问范围。

常见排障

  1. 确认客户端使用实际的端点名称以及正确的 SSE 或 Streamable HTTP 路径。
  2. SSE 不支持通过 api_key 查询参数认证;优先使用 Authorization: Bearer <API_KEY>。
  3. 仅支持 STDIO 的客户端使用 mcp-proxy;README 指出 mcp-remote 不适用于 MetaMCP API Key 认证。
  4. 确认 APP_URL 与访问地址一致,因为 MetaMCP 会执行 CORS 限制。
  5. 检查 Docker、Docker Compose、PostgreSQL、上游服务器依赖和环境变量配置。
  6. 需要降低冷启动时,检查空闲会话设置并考虑在自定义 Dockerfile 中预装依赖。
  7. 使用反向代理时,检查 SSE 长连接相关的 Nginx 配置。

使用场景

将多个 MCP 服务器组合为统一的 MCP 端点。
按命名空间选择服务器和工具,并覆盖工具名称、标题、描述和注释。
为 MCP 端点提供 API Key 或 MCP OAuth 认证。
通过中间件过滤工具并进行请求和响应处理。
使用带保存配置的 Inspector 调试 MCP 端点。
为 Open WebUI 等客户端提供 OpenAPI 端点。

支持客户端

Cursor完整支持
Claude Desktop部分支持