
简介
什么是 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

端口
本地端口不冲突就行,不确定的话可以用命令查一下
bash
# 查看端口占用
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
更快捷
bash
# 运行容器
docker run -d \
--restart unless-stopped \
--name mcphub \
-p 3535:3000 \
samanhappy/mcphub:latest-full
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
yaml
version: '3'
services:
mcphub:
image: samanhappy/mcphub:latest-full
container_name: mcphub
restart: unless-stopped
ports:
- 3535:3000
然后执行下面的命令
bash
# 新建文件夹 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