使用说明(Markdown 格式)
- 项目简介
- 这是一个面向 MCP 的后端服务器框架,负责托管资源、注册并执行工具、定义与渲染 Prompt 模板,并通过 JSON-RPC 与客户端通信。还提供对本地 MCP 服务器的管理、远端 MetaMCP 的集成,以及对客户端请求的会话管理、能力声明和多种传输协议支持(如 Stdio、SSE、WebSocket)。
- 主要功能点
- MCP 核心能力:资源读取、工具执行、Prompts 渲染等标准化上下文服务
- 服务器聚合与代理:本地 MCP 服务器、远端 MetaMCP、以及内置能力的统一接入
- 会话与能力声明:会话管理、能力声明、基于会话的工具可见性(渐进式披露)
- 多传输协议:支持 Stdio、SSE、WebSocket 等传输方式的客户端对接
- 安全与可扩展性:工具访问控制、日志/观测、插件化扩展点(内置工具、外部工具、代理工具)
- 界面与运维:提供测试用例、示例服务器、以及监控/仪表盘等辅助组件(在仓库中有示例服务器与核心实现)
- 安装步骤
- 克隆仓库并安装依赖
- 在根目录执行安装命令(具体包管理器请按仓库提供的脚本执行)
- 构建核心与前端
- 构建核心服务使其可以启动
- 构建 UI/Dashboard(如有需要)
- 启动核心服务
- 启动后端核心服务,默认监听端口 3000,提供 MCP API 与 SSE
- 启动并配置 MCP 服务器实例
- 通过仓库中的 mcp-servers 目录配置各个 MCP 服务器的启动命令、参数与环境变量
- 克隆仓库并安装依赖
- 服务器配置(MCP 服务器配置 JSON)说明
- MCP 客户端需要将服务器的启动信息配置为 JSON,包含以下字段(含义说明,便于理解而非具体代码):
- name: 服务器名称,用于标识该 MCP 服务器
- command: 启动服务器所使用的命令,例如 node、go 等
- args: 启动命令的参数数组,例如 [ "mcp-servers/test-server/index.js" ]
- env: 启动时的环境变量对象(可选),如 { "MCP_STDIO_ENABLED": "true" }
- 参考仓库中的实现逻辑:核心会读取 mcp-servers 目录下的配置,为各个 MCP 服务器注入环境变量并启动对应进程。MCP 客户端连接所需的只是获取服务器的 name、command、args 等信息,以建立与 MCP 服务器的连接并执行资源、工具等操作。
- 说明性示例(描述性文本,不直接展示代码):
- 服务器名称:test-server
- 启动命令:node
- 启动参数:["mcp-servers/test-server/index.js"]
- 环境变量:{ "MCP_STDIO_ENABLED": "true" }
- MCP 客户端需要将服务器的启动信息配置为 JSON,包含以下字段(含义说明,便于理解而非具体代码):
- 基本使用方法
- 启动后,Hub 将统一暴露 MCP API,MCP 客户端可以通过以下方式与之交互:
- 读取资源、调用工具、获取 Prompt 等操作,均通过标准化的 JSON-RPC 请求/响应进行通信
- 客户端可以通过支持的传输协议(如 Stdio、SSE、WebSocket)连接并与 MCP 服务器交互
- 常见流程包括:启动 MCP 服务器、通过代理获取工具、执行工具、渲染与读取 Prompts、进行上下文注入等
- 使用时请参考仓库中 mcp-servers/test-server 的示例服务器实现,该服务器提供了一个简单的 echo 工具,用于演示工具调用与结果返回的流程
- 启动后,Hub 将统一暴露 MCP API,MCP 客户端可以通过以下方式与之交互:
信息
分类
AI与计算