MCPHub:一个平台统一管理所有 MCP 服务器

MCPHub:用一个平台统一管理所有 MCP 服务器

如果你在用 Claude Code、Cursor 或其他 AI 编码助手,大概率已经接触过 MCP(Model Context Protocol)——那些让 AI 连接数据库、浏览器、文件系统的工具服务器。问题在于:每加一个 MCP 服务器,就要单独配置一次认证、路由和访问权限。服务器多了之后,管理员的维护成本直线上升,而且客户端配置也会变得臃肿。MCPHub 正是为解决这个痛点而生:它扮演 MCP 网关的统一入口,让你从单点管理所有服务器的连接、认证和路由策略。

核心能力与设计原则

MCPHub 本质是一个自托管的 MCP 网关与管理平台,核心功能围绕三个维度展开:

统一端点暴露:将多个 MCP 服务器汇聚到同一个 MCP 端点下,支持分组路由(/mcp/{group})和单服务器路由(/mcp/{server}),客户端只需配置一个地址即可访问所有服务器,无需逐个注册。

访问控制与认证:内置 OAuth 2.0(客户端和服务端双模式)、Bearer Key 认证、按用户凭证隔离(Per-user Credentials)三层安全机制。敏感工具的访问权限可以在分组或单服务器级别精细控制,防止误暴露。

热插拔与可观测性:配置文件(mcp_settings.json)变更无需重启即可生效;提供工具调用日志、请求状态、延迟监控和健康检查,帮助快速定位哪个服务器的哪个工具出了问题。

认可度

  • GitHub Star:约 2.3K(截至 2026-09-10)
  • GitHub Forks:约 269
  • License:Apache-2.0(开源免费)
  • 定位:MCP 生态中的基础设施类工具,非单点 Skill,而是管理平台

MCPHub 在 bestaifor.me 上已被标记为 Verified Skill,定位为 Coding/Automation 类别,认证为 Community Reviewed 安全状态,被推荐安装于 Claude Code 和 Cursor。

链接

GitHub:https://github.com/samanhappy/mcphub

官网:https://mcphub.app

文档:https://docs.mcphub.app

演示环境:https://demo.mcphub.app(可免部署直接体验)

原作者

samanhappy(GitHub username)—— MCPHub 开源项目的独立维护者,专注于 MCP 生态的基础设施工具开发。

介绍

MCPHub 提供了一种统一的方式连接和管理多个 MCP 服务器。它将分散的 MCP 节点组织成分组、控制访问权限,并为 Claude Code、Cursor、Cherry Studio、OpenWebUI 等 MCP 兼容客户端暴露稳定的端点。在实际工作流中,如果你同时需要文件系统工具、Git 工具、数据库工具和 Slack 通知工具,通常每新增一个工具都要在每个 AI 客户端里单独配置一次——MCPHub 让这步变成:在一个 mcp_settings.json 文件里声明所有服务器,然后客户端只连一个网关地址。

该平台支持 SSE(Server-Sent Events)、Streamable HTTP 和 stdio 三种传输方式,兼顾本地和远程服务器的接入场景。远程服务器可以通过 HTTP URL 接入,本地服务器可以用 stdio 模式运行,灵活度很高。

另一个核心设计是智能路由(Smart Routing):内置向量语义搜索能力,AI 客户端在调用工具时不需要记住具体工具名,说清楚想做什么,系统自动匹配最合适的一个或多个工具返回。这降低了 AI 客户端配置的认知负担,也减少了因工具名记错导致的调用失败。

特点

  • 统一 MCP 端点:一个地址访问所有服务器,支持分组和单服务器两种路由粒度
  • 多协议支持:SSE / Streamable HTTP / stdio,兼容本地和远程 MCP 服务器
  • 三层安全机制:OAuth 2.0 + Bearer Key + Per-user Credentials 隔离,敏感工具按需授权
  • 热插拔配置:编辑 mcp_settings.json 无需重启,服务器变更实时生效
  • 可观测性:工具调用日志、请求状态、延迟监控和健康检查一目了然
  • 智能路由:基于向量语义搜索的工具发现,说意图而非工具名即可触发正确工具
  • Docker 一键部署:一条命令启动完整服务,支持生产级 PostgreSQL 存储模式
  • MCP Apps 代理:交互式 MCP Apps 可透明转发到单服务器路由

使用方法

安装(一键 Docker):

docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub

配置 mcp_settings.json(声明要接入的 MCP 服务器):

{
  "mcpServers": {
    "time": { "command": "npx", "args": ["-y", "time-mcp"] },
    "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] }
  }
}

接入 AI 客户端(以 Claude Code 为例):

在 Claude Code 的 MCP 配置文件中添加:

{
  "mcpServers": {
    "mcphub": {
      "command": "npx",
      "args": ["-y", "samanhappy/mcphub"]
    }
  }
}

之后在 Claude Code 中访问工具时,只需连 http://localhost:3000/mcp(或对应服务器地址),所有已在网关注册的 MCP 工具均可调用。

连接端点说明:

  • /mcp — 所有服务器
  • /mcp/{group} — 指定分组
  • /mcp/{server} — 单个服务器
  • /mcp/$smart — 智能路由(AI 自动匹配工具)

使用场景与人群

适用场景:

  • 团队内部统一管理 MCP 服务器,共享同一套认证和配置,无需每人单独维护
  • 需要同时调用多个 MCP 工具(文件 + Git + 数据库 + API)且不想每个客户端单独配一堆插件
  • 对敏感工具(如数据库写操作)需要按用户粒度控制访问权限
  • 希望在多个 AI 编码助手(Claude Code + Cursor + Cherry Studio)之间共享同一套 MCP 工具集
  • 需要日志审计:谁在什么时候调用了什么工具

目标用户:

  • AI 工程团队的技术负责人(统一管理 MCP 基础设施)
  • 在企业内部部署 AI 编程助手的 DevOps / 平台工程师
  • 需要跨平台复用 MCP 工具的个人开发者

输入与输出案例

案例一:按分组路由

管理员在 mcp_settings.json 中将 MCP 服务器分组:

{
  "mcpServers": {
    "dev-tools": {
      "time": { "command": "npx", "args": ["-y", "time-mcp"] },
      "git": { "command": "uvx", "args": ["mcp-server-git"] }
    },
    "data": {
      "db": { "command": "uvx", "args": ["mcp-server-postgres", "--url", "postgres://..."] }
    }
  }
}

Claude Code 客户端连接 http://localhost:3000/mcp/dev-tools,即可访问 time 和 git 两个工具,而无法触达 data 分组下的数据库工具,实现分组隔离。

案例二:智能路由调用

用户对 AI 说:「帮我查一下今天是周几,然后把它写到桌面上的一个备忘录里。」

AI 客户端通过 MCPHub 智能路由端点(/mcp/$smart)发送请求。MCPHub 的向量语义搜索模块识别出需要调用「获取当前时间」和「文件系统写入」两个工具,自动路由到对应的 MCP 服务器执行,返回最终结果。整个过程用户无需知道具体工具名称,AI 助手完成意图理解、工具匹配和执行串联。


GitHub:https://github.com/samanhappy/mcphub | Apache-2.0 开源


GitHub: https://github.com/samanhappy/mcphub

评论区

0 条评论

登录后可评论。

Skill超级捕获手 1174 阅读