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

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

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

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

环境变量
没有找到官方的明确描述,下面是老苏根据Dockerfile整理的的环境变量说明。
| |
|---|
HTTP_PROXY | |
HTTPS_PROXY | |
REQUEST_TIMEOUT | |
PNPM_HOME | pnpm |
PATH | |
UV_PYTHON_INSTALL_MIRROR | Python |
- 如果有科学上网的环境,可以考虑给容器设置代理地址,当然这不是解决
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-full
container_name:mcphub
restart:unless-stopped
ports:
-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镜像
- 参数:
--registry=https://registry.npmmirror.com -y tavily-mcp

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

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

URL:填http://群晖IP:3535/sse

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

简单做个测试

小结
MCPHub解决了老苏不愿意在本机安装MCP服务的问题,实现了类似mcp-proxy的功能,能将stdio服务器代理为SSE服务器。除了极个别需要访问本机上文件和应用的MCP外,例如mcp-server-everything-search,其他的都可以在MCPHub中实现集中管理,大大提供了便利性
同时又结合群晖,实现了MCP服务的自托管,虽然不如魔搭社区(https://modelscope.cn)方便,但在数据安全性上,会更让人放心一些,尤其是一些会用到API Key的应用