Codex MCP 代码审查服务器
使用说明内容(Markdown格式)
-
项目简介
- 该仓库实现了一个基于 Model Context Protocol 的 MCP 服务器,用于通过 Codex 的 app-server 执行对未提交代码变更的自动审查,并返回结构化的评审结果。服务器处理 MCP 请求/响应、管理审查任务、支持取消与并发控制,适用于集成到更大规模的 LLM 驱动工作流中。
-
主要功能点
- MCP 协议处理:实现 initialize、tools/list、tools/call、notifications/initialized 等 MCP 请求,向 MCP 客户端暴露工具清单与调用入口。
- 工具执行:提供名为 review_uncommitted_changes 的工具,通过 Codex app-server 执行实际的代码审查任务,返回结构化结果以及文本摘要。
- 会话与并发控制:支持并发模式 auto/threads/processes,允许并发执行多次评审,并具备取消未完成任务的能力。
- 递归保护与安全性:通过 Spawn Guard 与相关检查避免在受保护环境中递归触发 MCP 工具调用。
- 结果渲染:返回结构化的评审结果和综述文本,包含 verdict、summary、comment_markdown 等字段,便于 LLM 客户端进一步处理。
-
安装步骤
- 需求准备
- 需要有一个可用的 Python 运行环境,以及 Codex CLI 与 uv(用于运行 MCP 服务器的执行环境)。
- 获取代码
- 将仓库克隆到本地或直接下载代码。
- 运行服务器
- 使用 uv 启动:将服务器作为一个 MCP 服务对外暴露,具体命令在 README 的示例中给出,包含并发、超时等参数配置。
- 注意
- 服务器通过 Codex app-server 与代码审查流程进行交互,运行时会对 Codex 可执行文件 codex 的路径进行检查,并通过 MCP 参数进行配置。
- 需求准备
-
服务器配置(MCP 客户端需要的配置示例,JSON 格式) 说明:以下配置用于 MCP 客户端在启动时知道如何启动并连接到该 MCP 服务器。服务器名称在示例中为 codex-code-review,实际名称可按需调整。 { "mcpServers": { "codex-code-review": { "command": "uv", "args": [ "run", "-m", "mcp_code_review.server", "--parallelism", "1", "--concurrency-mode", "auto", "--timeout-seconds", "2700", "--profile", "review" ], "env": {} } } }
-
基本使用方法
- 服务器简介
- 该 MCP 服务器为 Codex 应用场景设计,核心功能是通过工具接口触发对未提交代码变更的自动评审,并返回可直接被 LLM 客户端消费的结果。
- 启动与调用
- 通过 uv 启动服务器,传入并发、超时、模型等配置后即可对外提供 MCP 服务。
- MCP 客户端通过工具调用接口(tools/list 获取工具、tools/call 调用具体工具)与服务器交互,服务器按请求执行并返回结果。
- 关键点
- 支持取消机制: MCP 客户端可通过特定通知取消正在执行的评审任务。
- 安全性与隔离:评审是在独立的 Codex app-server 进程中执行,并提供只读沙箱等参数设置以限制操作。
- 使用建议
- 配置 tool_timeout 与服务器 timeout 的关系,确保评审任务有足够时间完成。
- 根据实际工作负载选择并发模式(auto/threads/processes)以获得最佳性能。
- 服务器简介