使用说明(Markdown 格式)

  • 项目简介
    • 这是一个面向 MCP 的后端服务器框架,负责托管资源、注册并执行工具、定义与渲染 Prompt 模板,并通过 JSON-RPC 与客户端通信。还提供对本地 MCP 服务器的管理、远端 MetaMCP 的集成,以及对客户端请求的会话管理、能力声明和多种传输协议支持(如 Stdio、SSE、WebSocket)。
  • 主要功能点
    • MCP 核心能力:资源读取、工具执行、Prompts 渲染等标准化上下文服务
    • 服务器聚合与代理:本地 MCP 服务器、远端 MetaMCP、以及内置能力的统一接入
    • 会话与能力声明:会话管理、能力声明、基于会话的工具可见性(渐进式披露)
    • 多传输协议:支持 Stdio、SSE、WebSocket 等传输方式的客户端对接
    • 安全与可扩展性:工具访问控制、日志/观测、插件化扩展点(内置工具、外部工具、代理工具)
    • 界面与运维:提供测试用例、示例服务器、以及监控/仪表盘等辅助组件(在仓库中有示例服务器与核心实现)
  • 安装步骤
    1. 克隆仓库并安装依赖
      • 在根目录执行安装命令(具体包管理器请按仓库提供的脚本执行)
    2. 构建核心与前端
      • 构建核心服务使其可以启动
      • 构建 UI/Dashboard(如有需要)
    3. 启动核心服务
      • 启动后端核心服务,默认监听端口 3000,提供 MCP API 与 SSE
    4. 启动并配置 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" }
  • 基本使用方法
    • 启动后,Hub 将统一暴露 MCP API,MCP 客户端可以通过以下方式与之交互:
      • 读取资源、调用工具、获取 Prompt 等操作,均通过标准化的 JSON-RPC 请求/响应进行通信
      • 客户端可以通过支持的传输协议(如 Stdio、SSE、WebSocket)连接并与 MCP 服务器交互
    • 常见流程包括:启动 MCP 服务器、通过代理获取工具、执行工具、渲染与读取 Prompts、进行上下文注入等
    • 使用时请参考仓库中 mcp-servers/test-server 的示例服务器实现,该服务器提供了一个简单的 echo 工具,用于演示工具调用与结果返回的流程

信息

分类

AI与计算