使用说明
项目简介
MCPHub 是一个用于统一管理多个 Model Context Protocol (MCP) 服务器的中心枢纽。它简化了 MCP 服务的管理,并为所有 MCP 需求提供了一个集中的接口。通过仪表板 UI 可以监控服务器状态,并支持通过 SSE 协议连接应用程序,方便用户在一个地方管理和使用多个 MCP 服务器提供的功能。
主要功能点
- 集中管理: 统一管理多个 MCP 服务器,简化服务部署和维护。
- 协议支持: 兼容 stdio 和 SSE 两种 MCP 服务器协议。
- 仪表板 UI: 提供 Web 界面,直观监控服务器连接状态和已注册的工具。
- 灵活配置: 通过 JSON 文件 'mcp_settings.json' 轻松配置和添加/删除 MCP 服务器。
- 统一接入点: 客户端应用只需连接 MCPHub 的单一 SSE 端点,即可访问所有托管的 MCP 服务器的功能。
安装步骤
Docker 安装 (推荐)
- 确保已安装 Docker。
- 在本地创建 'mcp_settings.json' 配置文件(配置方法见“服务器配置”部分)。
- 运行 Docker 命令:
这将启动 MCPHub 容器,并将主机的 'mcp_settings.json' 文件挂载到容器中。通过浏览器访问 'http://localhost:3000' 即可打开仪表板。docker run -p 3000:3000 -v $(pwd)/mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub
手动安装
- 确保已安装 Node.js (14+) 和 pnpm。
- 克隆仓库到本地:
git clone https://github.com/samanhappy/mcphub.git cd mcphub - 安装依赖:
pnpm install - 创建 'mcp_settings.json' 配置文件在项目根目录下(配置方法见“服务器配置”部分)。
- 启动服务器:
服务器默认运行在 'http://localhost:3000',访问该地址即可打开仪表板。pnpm dev
服务器配置
MCPHub 通过项目根目录下的 'mcp_settings.json' 文件进行配置,以管理需要 Hub 代理的 MCP 服务器。以下是一个配置示例:
{ "mcpServers": { "time-mcp": { // 服务器名称,用户自定义,用于在仪表板中标识 "command": "npx", // 启动 MCP 服务器的命令,例如使用 npx 运行 "args": ["-y", "time-mcp"] // 命令参数,用于指定要启动的 MCP 服务器,例如 time-mcp }, "sequential-thinking": { // 可以配置多个 MCP 服务器 "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"] } } }
- 'mcpServers': 配置项的根节点,包含了所有需要管理的 MCP 服务器的配置。
- '服务器名称': 每个 MCP 服务器配置的键名,可以自定义,用于在仪表板上区分不同的服务器。
- 'command': (stdio 类型服务器必需) 启动 MCP 服务器的命令,通常是 Node.js 环境下的 'npx' 或 'node'。
- 'args': (stdio 类型服务器必需) 命令参数,传递给 'command' 的参数数组,用于指定具体的 MCP 服务器及其启动参数。
- 'url': (sse 类型服务器必需) 已启动的 SSE MCP 服务器的 URL 地址,例如 'http://localhost:3001/sse'。
- 'env': (可选) 环境变量,可以为启动的 MCP 服务器设置额外的环境变量。
根据需要添加或修改 'mcp_settings.json' 文件中的服务器配置。MCPHub 会根据配置启动或连接到相应的 MCP 服务器,并将它们的功能集成到 Hub 中。
基本使用方法
- 启动 MCPHub 服务器后,访问 'http://localhost:3000' 打开仪表板 UI。
- 在仪表板上,可以查看已配置的 MCP 服务器列表,以及它们的状态(连接/断开)和提供的工具。
- 客户端应用可以通过 SSE 协议连接到 MCPHub 的统一端点 'http://localhost:3000/sse'。
- 客户端通过此 SSE 连接,可以访问和调用所有已注册到 MCPHub 的 MCP 服务器提供的工具,实现集中化的 MCP 功能访问。
信息
分类
开发者工具