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)
- 启动服务器后,MCP 客户端可以通过以下方式与服务器对接: