oh-my-codex MCP 服务端集合
使用说明
-
项目简介
- oh-my-codex (OMX) 提供一个 MCP 服务器集合,用以在后端以标准化方式对外暴露“资源/数据访问、工具执行、Prompt 模板”等能力,供 LLM 客户端调用与获取上下文。
- MCP 服务器通过 JSON-RPC 与客户端通信,核心能力包括:资源与内存/状态的托管、工具注册与执行、以及提示模板的定义与渲染。当前实现了若干独立的 MCP 服务器实例,分别管理不同领域的上下文数据。
- 服务器端负责会话管理、能力声明,并支持多种传输协议(当前实现基于 STDIO 传输,设计上也支持未来扩展为 SSE/WebSocket 等传输)。
-
主要功能点
- 资源与状态管理:提供对项目内存、状态及日志等资源的持久化与访问接口,确保长期上下文可以在会话间保留。
- 工具注册与执行:注册一组工具(Tools),LLM 客户端可通过 JSON-RPC 调用执行外部功能,如诊断、符号搜索、代码分析等。
- Prompt/模板渲染:定义并渲染用于 LLM 交互的 Prompt 模板,方便实现可定制化对话模式。
- 会话与能力声明:对会话、能力、以及多工作流场景进行状态管理,支持多种工作流场景的协作。
- 多传输与扩展性:当前实现基于 STDIO 传输,设计上具备扩展到 SSE/WebSocket 的潜力,便于在不同部署场景下与客户端通信。
-
安装与运行
- 环境要求:Node.js 版本 >= 20。
- 构建与运行:在仓库根目录下,执行常规的构建流程(如 npm install、npm run build),随后以运行产物启动各 MCP 服务器。仓库提供了用于自动启动的开关(OMX_STATE_SERVER_DISABLE_AUTO_START、OMX_MEMORY_SERVER_DISABLE_AUTO_START、OMX_CODE_INTEL_SERVER_DISABLE_AUTO_START、OMX_TRACE_SERVER_DISABLE_AUTO_START、OMX_TEAM_SERVER_DISABLE_AUTO_START),默认情况下会在模块加载时自动启动 STDIO 传输的 MCP 服务器。若需要禁用,请设置相应的环境变量。
- 测试用例:仓库包含大量单元测试覆盖各 MCP 服务器与相关工具的行为,便于在本地验证实现的正确性。
-
服务器配置(MCP 客户端配置信息示例) 说明:以下配置用于 MCP 客户端连接到对应的 MCP 服务器。服务器名称、启动命令和参数需与实际部署环境一致。JSON 描述用于帮助理解配置,不作为可执行代码。
-
服务器示例一:状态管理服务器 { "name": "omx-state", "command": "node", "args": ["dist/mcp/state-server.js"] } 注释:负责读取/写入/清除并管理全局及会话范围的状态文件。
-
服务器示例二:内存与笔记本服务器 { "name": "omx-memory", "command": "node", "args": ["dist/mcp/memory-server.js"] } 注释:提供项目内存和便签(Notepad)等持久化存储能力。
-
服务器示例三:代码智能与分析服务器 { "name": "omx-code-intel", "command": "node", "args": ["dist/mcp/code-intel-server.js"] } 注释:提供诊断、符号搜索、AST 匹配等代码相关能力。
-
服务器示例四:跟踪与调试服务器 { "name": "omx-trace", "command": "node", "args": ["dist/mcp/trace-server.js"] } 注释:提供对代理任务与模式转移动作的跟踪与统计。
-
服务器示例五:团队协作服务器 { "name": "omx-team", "command": "node", "args": ["dist/mcp/team-server.js"] } 注释:为多工作流团队提供任务分发、队列、告警等能力。
-
-
基本使用方法
- 启动 MCP 服务器后,客户端可以通过 JSON-RPC 的 ListTools 请求获取可调用工具列表; 通过 CallTool 请求执行具体工具并获取结果文本。
- 客户端应在连接时声明要使用的服务器名称、启动该服务器的命令及参数。
- 服务器端提供了会话管理、能力声明以及多种工具的输入输出结构,便于将来集成到更复杂的 LLM 交互流程中。
-
运行与开发要点
- 本实现包含对多种 MCP 服务器的独立实现,测试覆盖较广,包含对工具清单、请求格式、以及状态、导航等关键路径的验证。
- 设计了自动启动开关,便于在开发阶段本地打开/关闭 MCP 服务的自动启动行为。
- 提供了对工作目录、Session、以及跨模式状态文件的规范化处理,提升在不同环境间的可移植性与安全性。