MCPHub:一站式MCP服务器聚合平台

简介
什么是 MCPHub ?
MCPHub是一个统一的MCP(Model Context Protocol,模型上下文协议)服务器聚合平台,可以根据场景将多个服务器聚合到不同的流式HTTP(SSE)端点。它通过直观的界面和强大的协议处理能力,简化了您的AI工具集成流程。
🚀 功能亮点
- 开箱即用的 MCP 服务器支持:无缝集成 amap-maps、playwright、fetch、slack等常见服务器。
- 集中式管理控制台:在一个简洁的 Web UI中实时监控所有服务器的状态和性能指标。
- 灵活的协议兼容:完全支持 stdio和SSE两种MCP协议。
- 热插拔式配置:在运行时动态添加、移除或更新服务器配置,无需停机。
- 基于分组的访问控制:自定义分组并管理服务器访问权限。
- 安全认证机制:内置用户管理,基于 JWT和bcrypt,实现角色权限控制。
- Docker 就绪:提供容器化镜像,快速部署。

安装
在群晖上以 Docker 方式安装。
在注册表中搜索 samanhappy ,选择第一个 samanhappy/mcphub,版本选择 latest 或者 latest-full。
老苏没有找到这两个版本的具体说明,但一般来说, full 可能意味着包含更多的组件和依赖项

本文写作时,
latest版本对应为0.5.0;而latest-full版本对应为0.5.0-full

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 | 
|---|---|
| 3535 | 3000 | 

环境变量
没有找到官方的明确描述,下面是老苏根据 Dockerfile 整理的的环境变量说明。
| 环境变量 | 描述 | 
|---|---|
| HTTP_PROXY | 用于 HTTP请求的代理地址 | 
| HTTPS_PROXY | 用于 HTTPS请求的代理地址 | 
| REQUEST_TIMEOUT | 请求超时时间,默认为 60000毫秒 | 
| PNPM_HOME | pnpm的安装目录路径 | 
| PATH | 包含 pnpm的路径,用于全局命令的查找 | 
| UV_PYTHON_INSTALL_MIRROR | Python包镜像源,设置为阿里云的PyPI镜像地址 | 
- 如果有科学上网的环境,可以考虑给容器设置代理地址,当然这不是解决 MCP服务安装问题的唯一的方法;
- 通过设置 UV_PYTHON_INSTALL_MIRROR,也可以解决Python包的安装问题;
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 运行容器
docker run -d \--restart unless-stopped \--name mcphub \-p 3535:3000 \samanhappy/mcphub:latest-full
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3'services:mcphub:image: samanhappy/mcphub:latest-fullcontainer_name: mcphubrestart: unless-stoppedports:- 3535:3000
然后执行下面的命令
# 新建文件夹 mcphub 和 子目录
mkdir -p /volume1/docker/mcphub# 进入 mcphub 目录
cd /volume1/docker/mcphub# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行
在浏览器中输入 http://群晖IP:3535 就能看到登录界面
默认用户名/密码为
admin/admin123

登录成功后的主界面

进入 Settings --> Language --> 中文

设置完成之后,界面就是中文了

默认带了 4 个服务

可以根据需要进行删、改

而市场中可以直接添加

安装 MCP 服务过程中可能会遇到各种问题,最常见的一般都是网络原因,除了前面提到的网络代理之外,还可以使用国内镜像源
uvx 类型
老苏加了个 web-fetch

没有网络代理和镜像源的情况下,肯定是会显示离线,需要处理一下

对于 Python 包,还可以使用 -i 参数指定国内镜像

修改参数 -i http://mirrors.aliyun.com/pypi/simple mcp-web-fetch
常用国内 PyPI 镜像
- 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:http://mirrors.aliyun.com/pypi/simple
- 中国科技大学:https://mirrors.ustc.edu.cn/pypi/simple
- 华为云:https://repo.huaweicloud.com/repository/pypi/simple
- 腾讯云:https://mirrors.cloud.tencent.com/pypi/simple

正常情况下,应该是可以成功的

npx 类型
老苏加了个 tavily-mcp

对于 NodeJS 包,可以使用 --registry 参数指定国内 npm 镜像
- 命令: npx
- 参数: --registry=https://registry.npmmirror.com -y tavily-mcp

为了测试方便,老苏禁用了几个。其实更好的办法是使用分组功能,不过这个不是重点

Cherry Studio
MCPHub 支持 sse 和 mcp 两种协议, 这两种协议在 Cherry Studio 中都支持,但老苏更推荐 mcp 协议,如果使用其他的 AI 客户端就看情况了
- 类型:选择 mcp
- URL:填- http://群晖IP:3535/mcp

- 类型:选择 sse
- URL:填- http://群晖IP:3535/sse

如果没有报错的话,切换到工具,可以看到 3 个函数

简单做个测试

小结
MCPHub 解决了老苏不愿意在本机安装 MCP 服务的问题,实现了类似 mcp-proxy 的功能,能将 stdio 服务器代理为 SSE 服务器。除了极个别需要访问本机上文件和应用的 MCP 外,例如 mcp-server-everything-search ,其他的都可以在 MCPHub 中实现集中管理,大大提供了便利性
同时又结合群晖,实现了 MCP 服务的自托管,虽然不如魔搭社区(https://modelscope.cn)方便,但在数据安全性上,会更让人放心一些,尤其是一些会用到 API Key 的应用
参考文档
samanhappy/mcphub:一个统一的中心服务器,可将多个 MCP 服务器聚合为单独的可流式传输 HTTP (SSE) 终端节点,以用于不同的场景 — samanhappy/mcphub: A unified hub server that aggregates multiple MCP servers into separate Streamable HTTP (SSE) endpoints for different scenarios
地址:https://github.com/samanhappy/mcphub
MCPHub - Your Ultimate MCP Server Hub
地址:https://www.hubmcp.dev/
tavily-ai/tavily-mcp
地址:https://github.com/tavily-ai/tavily-mcp
mcp.science/servers/web-fetch at main · pathintegral-institute/mcp.science
地址:https://github.com/pathintegral-institute/mcp.science/tree/main/servers/web-fetch
面向新手的MCP使用教程:在Cherry Studio中配置和使用模型上下文协议 - 文档共建 - LINUX DO
地址:https://linux.do/t/topic/503051
