使用说明
-
项目简介
- 该仓库实现了一个面向 MCP 的后端服务器架构,能够托管资源、注册并执行工具、以及管理提示模板的渲染和上下文,同时提供多种传输协议的对接能力,通过 JSON-RPC 与 MCP 客户端交互。
-
主要功能点
- MCP 服务器核心能力:处理 MCP 请求与响应,支持工具注册、资源管理、以及提示模板渲染的端到端流程。
- 多传输协议适配:实现了基于 WebSocket、MQTT/UDP 等协议的 MCP 传输层,提供统一的请求/响应桥接。
- 工具注册与执行:内置方式注册工具并绑定处理函数,支持工具调用及返回结构化内容或音频数据。
- 资源与记忆:集成资源读取、音频资源分页获取、记忆上下文等能力,便于 LLM 客户端获取上下文。
- 服务器端会话与安全:包含会话管理、权限接口,以及用于对接外部身份认证和配置提供者的机制(如 Redis、Auth 管理等)。
-
安装与运行
- 该项目包含了完整的服务端代码及示例,用 Go 语言实现,需在具备 Go 语言开发环境的系统中构建运行。由于项目结构较大,建议按项目自带的快速开始文档与各模块文档分步进行,确保依赖与编译环境一致(如配置文件路径、依赖版本等)。
- 构建后直接运行服务端主程序,提供对应的配置文件路径参数即可启动 MCP 服务及其对外接口。
-
服务器配置(MCP 客户端需要的连接信息) 下面给出 MCP 客户端在连接到该 MCP 服务器时可使用的配置信息示例(JSON 格式,包含服务器名称、启动命令及参数等)。注:这是用于 MCP 客户端建立连接的客户端配置示例,配置信息以文本形式展示,实际 MCP 客户端可按需解析并传入执行。 { "server_name": "xiaozhi-mcp-server", "command": "./xiaozhi_server", "args": [ "-c", "config/config.yaml" ], "note": "命令需要在构建后的服务端二进制可执行文件所在位置执行,config.yaml 路径请依据实际环境调整。" }
-
基本使用方法
- 启动服务器
- 使用提供的配置文件(如 config/config.yaml)启动服务端主程序,确保依赖环境就绪。
- 连接 MCP 客户端
- MCP 客户端通过 JSON-RPC 与 MCP 服务器通信,服务器可接收读取资源、调用工具、获取 Prompts 等请求并返回响应。
- 运行阶段的注意点
- 保持服务器端运输层(WebSocket/MQTT/UDP)的正常工作,及时处理心跳与连接状态。
- 按需注册和实现工具处理器,以实现更丰富的 MCP 功能与场景适配。
- 如需扩展资源/提示/工具,请参考仓库内相关模块的示例(如 test/mcp_server_over_websocket、internal/app/server/mcp 与相关工具实现)。
- 启动服务器
信息
分类
AI与计算