Xenobot MCP 服务器

使用说明(Markdown 格式):

  • 项目简介
    • Xenobot MCP 服务器是在本仓库中实现的 MCP 服务端。它按照 MCP 协议定义处理客户端发来的 JSON-RPC 请求,提供资源管理、工具执行、以及集成入口等能力,并支持通过 WebSocket、SSE、以及可以扩展的 HTTP 传输方式进行通信。
  • 主要功能点
    • 资源管理:托管与读取资源,支持订阅更新通知。
    • 工具注册与执行:内置并可扩展的工具集合,支持通过 RPC 调用工具并获得结构化结果。
    • 传输协议与 JSON-RPC:通过 WebSocket、SSE、HTTP 三种传输通道以 JSON-RPC 风格进行通信。
    • 集成入口与健康端点:提供集成预设、资源列表、工具列表等接口,以及健康检查。
  • 安装步骤
    • 安装 Rust 开发环境(如 Rustup、Cargo)。
    • 在仓库根目录执行 cargo build 或 cargo run,基于你要编译的工作区成员来构建 xenobot-mcp 服务端二进制。
    • 运行示例(假设编译产物名为 xenobot-mcp):此处以命令行参数示例展示可用选项,实际执行请按你的构建产物名称和本仓库提供的参数进行。
  • 服务器配置(MCP 服务器给 MCP 客户端使用,客户端需要的配置会包含服务器端的启动命令与参数;以下给出一个可用的示例,字段含义见注释) 生效配置示例(JSON,字段含义如下说明): { "serverName": "Xenobot MCP Server", "command": "xenobot-mcp", "args": [ "--host", "127.0.0.1", "--port", "8081", "--db-path", "/path/to/xenobot.db", "--name", "Xenobot MCP Server", "--server-version", "0.1.0", "--resource-root", "/path/to/resources1", "--resource-root", "/path/to/resources2" ] } 字段说明
    • serverName: MCP 服务器在初始化响应中对客户端暴露的服务器名称(来自仓库默认值,通常为 "Xenobot MCP Server")。
    • command: 启动 MCP 服务器的可执行命令名称,当前实现的二进制名称为 xenobot-mcp。
    • args: 启动命令的参数列表,包含:
      • --host: 服务器监听的绑定地址(如 127.0.0.1)。
      • --port: 服务器监听端口(如 8081)。
      • --db-path: 内置工具使用的数据库路径(如 /path/to/xenobot.db)。
      • --name: MCP 服务器的逻辑名称(与 serverName 对应)。
      • --server-version: 服务器版本标识。
      • --resource-root: 资源根目录,可以重复指定。
  • 基本使用方法
    • 启动服务器后,MCP 客户端可以通过以下方式与服务器对接:
      • 读取资源:发送 MCP 资源读取请求,获取资源内容。
      • 调用工具:通过 Tools/CALL 方式调用已注册的工具,并获得执行结果。
      • 登记订阅:对资源进行订阅,以接收后续资源更新通知。
    • 客户端应使用 JSON-RPC 风格的消息格式,与服务器端进行握手初始化、工具调用、资源订阅等交互。
    • 如要对接不同传输通道,可选用 WebSocket、SSE 或 Streamable HTTP 端点:
      • WebSocket:/ws
      • SSE:/sse
      • HTTP(流式 JSON-RPC,端点 /mcp)

服务器信息