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、以及跨模式状态文件的规范化处理,提升在不同环境间的可移植性与安全性。

服务器信息