COEIRO Operator MCP 服务端
使用说明(简要)
- 项目简介
- 该仓库实现了一个 MCP 服务端,核心职责是以标准化方式向 LLM 客户端提供上下文信息和功能。具体包括:托管和管理资源(Resources)、注册与执行工具(Tools)、以及定义/渲染提示模板(Prompts)。服务器通过 JSON-RPC 与客户端通信,处理读取资源、调用工具、获取 Prompt 等请求,并返回 JSON-RPC 响应或通知。实现了基于 MCP 的工具注册、语音合成、会话/会话管理、以及多种传输协议的框架。
- 主要功能点
- MCP 核心能力
- 注册/暴露工具(如 operator_assign、operator_status、say、dictionary_register、queue_status 等)
- 调用工具并返回结构化结果
- 会话管理与能力声明
- 支持多种传输方式(如 Stdio,后续可扩展为 SSE、WebSocket 等)
- 集成组件
- SayCoeiroink:音声合成和队列管理
- OperatorManager:会话/操作者分配与状态管理
- CharacterInfoService、DictionaryService、TerminalBackground 等服务的组合使用
- 调试与测试覆盖
- 具备广泛的单元测试和集成测试覆盖 MCP 服务端、工具、以及核心逻辑
- MCP 核心能力
- 安装与运行
- MCP 服务端属于仓库的一个包,通常通过 MCP 客户端(如 Claude Code)的安装流程进行使用。服务器端可以通过 Node 直接运行(在打包/构建后以可执行文件形式使用,或通过 MCP 客户端的 npx/包管理器调用)。
- 运行时依赖与构建,由仓库的 monorepo 管理,建议按仓库根目录的开发文档进行构建与打包。
- 服务器配置(供 MCP 客户端参考)
- 该 MCP 服务端对接客户端时需要在客户端配置一个 MCP 服务器条目,描述服务器的启动命令与参数。以下为一个准确且可直接使用的配置示例(JSON 格式,勿直接作为代码执行): { "serverName": "coeiro-operator", "command": "npx", "args": ["-y", "--package", "@coeiro-operator/mcp", "coeiro-operator"] } 注释说明:
- serverName:在客户端配置中唯一标识的 MCP 服务器名称,需与服务器端实际名称保持一致。
- command/args:将使用 npx 调用包发布中的 MCP 服务器实现,coeiro-operator 即为仓库中 MCP 服务的入口包名。客户端无需额外配置服务器实现的内部细节,只需通过该条目启动并连接。
- 基本使用方法
- 第一步:在 Claude Code 或等效 MCP 客户端中注册 MCP 服务器。使用提供的 serverName(如上示例中的 coeiro-operator)进行注册。
- 第二步:按客户端文档完成连接配置,确保 MCP 服务器能够通过配置中的命令/参数被正确调用。
- 第三步:在 MCP 客户端加载 prompts、recipes 等资源,利用服务器暴露的 Tools 实现交互式任务(如 operator_assign、say、dictionary_register 等)。
- 第四步:通过 JSON-RPC 方式向 MCP 服务器发送请求,例如读取资源、执行工具、获取 Prompt 等,服务器返回标准的 JSON-RPC 响应或通知。
- 运行与调试
- MCP 服务器在本仓库中以 Node 脚本形式实现,并在测试中覆盖了多种工具和场景。实际部署时,请按照仓库提供的 CI/构建指南进行打包与发布,并在运行时确保依赖的音声合成、Character/CDictionary 服务可用。