功能
在生产环境运行 MCP
所需的一切。
MCPHub 起初只是个人配置整理工具,如今已经成为团队管理 AI 工具入口的生产级平台。下面这些能力,让 MCP 真正可控、可用、可扩展。
01 · 运维
集中管理
监控每台 MCP 服务器的健康状态、延迟和工具用量。在同一个控制台中启停服务、热重载配置、轮换凭证,无需 SSH 进容器,也不用逐台修改 JSON。
- 每台服务器的实时健康检查
- 热重载无需重启客户端
- 每次配置变更都有审计日志
- 按服务器设置资源限额与配额
Servers · health overview
● all healthyG
github
v2025.05.17
P
postgres
v2025.05.16
P
playwright
v2025.05.15
S
slack
v2025.05.14
B
brave-search
v2025.05.13
02 · 路由
一份配置,四种路由模式
不同团队看待 MCP 集群的方式不同。MCPHub 用四种 URL 模式暴露同一批服务器,聚合访问、限定范围、单服务器直通可以自由组合,无需重新部署。
- /mcp — 聚合(所有工具)
- /mcp/{group} — 限定到指定分组
- /mcp/{server} — 单服务器直通
- /mcp/$smart — 语义工具发现
/mcpaggregate247 tools/mcp/{group}groupscoped/mcp/{server}single1 server/mcp/$smartsemantictop-k03 · 智能路由
语义工具发现
当服务器超过 30 台、工具超过 200 个时,模型很难一次性消化全部上下文。智能路由会将每个工具描述写入向量索引,并按请求只返回最匹配的一组工具。
- pgvector + Cohere embeddings(支持自带嵌入服务)
- 按请求调整 top-k
- 向量库不可用时回退到关键词搜索
- 兼容所有 MCP 客户端
“Find the last 5 issues mentioning database timeouts and create a tracking doc.”
SEMANTIC MATCH
github.search_issues0.94linear.list_issues0.87notion.create_page0.83sentry.list_errors0.6104 · 安全
OAuth 2.0:客户端与服务端模式
MCPHub 既可以作为下游服务器的 OAuth 提供方,也可以作为资源服务器接入你现有的 IdP。用户、分组和服务器级 scope 会随每次工具调用传递。
- 开箱支持 GitHub、Google、通用 OIDC
- 通过 M2M token 支持服务端到服务端调用
- 审计日志记录谁在何时调用了什么
- PKCE 与 refresh token 轮换
REQUEST · AUTHORIZATION
POST /mcp/{group}
Authorization: Bearer mcphub-sk-***
X-User-Id: u_8f3a
X-Scope: tools.read,tools.write
→ 200 OK · 12 tools available
→ audit: u_8f3a → github.search_issues
→ audit: u_8f3a → linear.list_issuesGitHubGoogleOktaAuth0Generic OIDC
05 · 多租户
分组与按用户的可见性
一个 MCPHub 实例可以服务多个团队。你可以定义分组、分配服务器,并限制每个用户可调用的工具。企业版可接入 SCIM 自动开通。
- 基于角色的访问(admin / member / viewer)
- 按服务器的可见性规则
- 分组端点支持独立配额
- SCIM 2.0 自动配置(企业版)
platform-enggithubpostgressentrylinear
data-teampostgressqlitesnowflake
supportslacknotionlinear
06 · 数据库模式
面向生产部署的 PostgreSQL 后端
当你需要持久化、副本或水平扩展时,可以把内嵌 JSON 存储切换为 PostgreSQL。路由、分组、OAuth 状态和用量记录都会进入同一套 schema。
- 保持单一二进制分发,Postgres 可选
- 启动时自动执行迁移
- 支持只读副本做分析
- 兼容 Neon、Supabase、RDS
services:
mcphub:
image: samanhappy/mcphub
environment:
DATABASE_URL: postgres://...
AUTH_SECRET: ${AUTH_SECRET}
depends_on: [postgres]
postgres:
image: postgres:16
volumes: [pgdata:/var/lib/postgresql/data]NeonSupabaseAWS RDSCrunchySelf-hosted
准备好统一管理 MCP 服务器了吗?
一条 Docker 命令,五分钟起步,初始配置为零。