MCP 服务器 · 发布者仓库

MCPHub

MCPHub 是连接 AI 客户端与多个 MCP 服务器的自托管网关,集中提供端点聚合、分组路由、访问控制、凭据隔离、运行日志和可选的向量智能路由。

2.4k StarsApache-2.0TypeScript今天更新
01

项目介绍

MCPHub 是一个位于 AI 客户端和多个 MCP 服务器之间的自托管网关与控制面。它把全部服务器、分组、单服务器和智能路由分别暴露为统一端点,并在同一网页控制台中管理认证、可见性、用户凭据、运行状态与日志。它更像团队级 MCP 基础设施,而不是单一工具服务器。采用前应先划定上游服务器权限、凭据存储、活动日志和网络暴露范围。

MCPHub 网页控制台展示 MCP 服务器列表、状态和管理操作
仓库自带的 MCPHub 控制台截图,用于说明集中管理多台 MCP 服务器的界面。查看仓库原图
02

核心功能

01

统一 MCP 端点

把已配置服务器聚合到 /mcp,也可以通过 /mcp/{group} 和 /mcp/{server} 将访问范围限制到分组或单台服务器。

02

认证与访问控制

支持 Bearer Key、JWT、MCP OAuth 与 Better Auth,并可把服务器可见性设置为私有、分组或公开。

03

按用户隔离凭据

管理员可为服务器声明环境变量或请求头凭据槽,用户各自提交的值经 AES-256-GCM 加密存储并在运行时隔离注入。

04

智能工具路由

可索引工具名称、描述和参数,在 $smart 端点用向量相似度检索相关工具,并支持按分组限定搜索范围。

05

控制台与运行观察

网页控制台提供服务器状态、日志和活动视图;/health 无需认证,数据库模式可持久化工具调用活动。

03

安装与连接

官方推荐先用 Docker 启动单实例并持久化 data 目录,再在首次登录后添加最小权限的上游服务器;只有确实需要智能路由或多实例时再引入 PostgreSQL、pgvector 和嵌入服务。

AI AGENT INSTALL

让 AI Agent 帮你安装

把这段话发送给 Codex、Claude Code 或其他可以操作本地环境的 AI Agent。

请帮我部署 MCPHub v1.0.36。项目地址:https://github.com/samanhappy/mcphub。先阅读 README、quickstart、authentication、per-user-credentials 和 monitoring 文档。优先使用 Docker,将 data 目录持久化;为 ADMIN_PASSWORD、JWT_SECRET 和 MCPHUB_CREDENTIAL_ENCRYPTION_KEY 生成强随机值并通过秘密管理方式注入,不要把值写进版本库或聊天记录。启动后只添加一个低权限测试 MCP 服务器,检查 /health、管理员登录、服务器列表和工具列表。不要启用 skipAuth,也不要启用智能路由或连接生产凭据,除非我明确授权。遇到开放公网端口、挂载敏感目录、写入现有配置、调用外部嵌入服务或要求额外权限时先询问我。
01开始前准备
  • Docker 可用,宿主机 3000 端口未被占用
  • 为管理控制台准备强随机密码并通过环境或秘密管理器注入
  • 如挂载配置文件,在当前目录准备 mcp_settings.json
  • 确认要接入的上游 MCP 服务器所需文件、命令、网络和凭据权限
  • 智能路由另需 PostgreSQL、pgvector 与兼容的嵌入服务
02复制安装命令或配置
docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub
03按步骤完成安装
  1. 1
    准备最小配置与秘密

    确认端口和 data 持久化目录,为管理员密码、JWT 会话和用户凭据加密分别准备随机秘密;不要提交到 Git。

  2. 2
    启动持久化 Docker 实例

    按获取区的 Docker 命令启动 MCPHub;如暂时没有自定义服务器,可先不挂载 mcp_settings.json,但应保留 data 卷。

  3. 3
    登录并添加低权限服务器

    访问 http://localhost:3000,以管理员账号登录,在 Servers 页面添加一台无需生产凭据的测试服务器,并限制其可见性。

  4. 4
    连接客户端并验证

    让 MCP 客户端连接 http://localhost:3000/mcp 或范围更小的分组、服务器端点,确认能列出并调用预期工具,且未暴露其他服务器。

  5. 5
    按需升级运行模式

    仅在需要多实例、持久活动、Better Auth 或智能路由时迁移到 PostgreSQL;启用智能路由前审查嵌入服务的数据处理政策。

如何确认安装成功

容器启动后访问 http://localhost:3000,使用首次启动日志中的管理员密码或预设密码登录;添加一个最小测试服务器,再运行 `mcphub servers list` 和 `mcphub tools list`。能看到该服务器及其工具,并且 /health 返回健康状态,才算基础安装成功。

使用前注意
  • 未设置 ADMIN_PASSWORD 时,首次启动会在日志中生成随机管理员密码;应立即保存并避免把日志暴露给无关人员。
  • 生产环境显式设置 JWT_SECRET,否则重启会使会话失效,多副本也无法共享会话。
  • 凭据加密密钥必须持久化和备份;丢失后已有个人凭据无法解密。
  • 不要在可被非受信用户访问的环境启用 skipAuth。
04

使用场景

SCENARIO 01

团队统一 MCP 入口

多个客户端只维护一个网关地址,由管理员集中更新服务器配置、别名和可见性。

SCENARIO 02

按团队或环境分组

通过 /mcp/{group} 把开发、测试、生产或部门工具隔离到不同端点和访问范围。

SCENARIO 03

个人凭据共享服务器定义

团队共享同一上游服务器模板,每位用户只提交自己的 API Key 或请求头,运行时互不混用。

SCENARIO 04

大型工具目录的语义发现

在 PostgreSQL 模式中通过 $smart 根据自然语言查询检索相关工具,并用渐进披露减少完整参数模式占用的上下文。

05

使用评价

MCPHub 的价值在于把分散的 MCP 服务器变成可集中治理的共享基础设施。统一端点、分组、按用户凭据和清晰的 Docker 路径让它适合小团队逐步落地;代价是网关会集中承载高权限工具、秘密和调用内容,运维与审计责任也随之集中。当前仓库活跃且 v1.0.36 针对凭据和稳定性持续修复,但活跃度不能替代独立安全评估。

值得一试的地方

  • 覆盖 stdio、SSE 与 Streamable HTTP 三类上游传输
  • 同时提供全局、分组、单服务器和智能路由端点
  • 按用户加密凭据降低共享配置中的秘密串用风险
  • Docker、npm 与本地开发路径都有仓库文档
  • Apache-2.0 许可证明确,近期发布和提交活跃

使用前要知道

  • 缺少 SECURITY.md 和公开漏洞报告流程
  • 数据库活动表会持久化完整请求输入与响应输出
  • 智能路由依赖数据库和外部或自托管嵌入服务
  • 内建观察能力不等同于完整指标、追踪和告警体系
  • 集中式网关一旦配置过宽,会放大上游 MCP 权限风险
06

README

MCPHub


Overview

MCPHub 是连接 AI 客户端与多个 MCP 服务器的自托管网关,集中提供端点聚合、分组路由、访问控制、凭据隔离、运行日志和可选的向量智能路由。 Self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.

Getting started

  • 官方推荐先用 Docker 启动单实例并持久化 data 目录,再在首次登录后添加最小权限的上游服务器;只有确实需要智能路由或多实例时再引入 PostgreSQL、pgvector 和嵌入服务。
  • 项目定位为自托管 MCP 网关与控制面,支持将全部服务器、指定分组、单台服务器或智能路由暴露为独立 MCP 端点。
  • 服务器可通过 stdio、SSE 或 Streamable HTTP 接入;控制台提供服务器与分组管理、别名、访问控制、日志、健康状态和热更新。
  • 容器启动后访问 http://localhost:3000,使用首次启动日志中的管理员密码或预设密码登录;添加一个最小测试服务器,再运行 `mcphub servers list` 和 `mcphub tools list`。能看到该服务器及其工具,并且 /health 返回健康状态,才算基础安装成功。

Configuration

docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub
在 GitHub 阅读完整 README