云计算百科
云计算领域专业知识百科平台

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:latestfull
    container_name: mcphub
    restart: unlessstopped
    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 镜像

    • 命令: 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

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » MCPHub:一站式MCP服务器聚合平台
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!