自动化代码审查服务

MCP服务器自动化两个编码代理之间的代码审查循环,通过文件交换实现无需守护进程或代理服务器的代码审查流程。

  • by ALPAC-4
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ALPAC-4/codex-review-mcp

使用说明

codex评论mcp

MCP服务器,自动化两个编码代理之间的代码审查循环。

概述

两个代理同时运行,并通过工作目录中的文件交换代码审查。

Implementing agent ←── stdio ──→ MCP process ──→ .codex-review/requests/
Reviewing agent    ←── stdio ──→ MCP process ←── .codex-review/requests/
                                                   ──→ .codex-review/responses/

不需要守护进程或代理服务器。每个代理都启动自己的stdio MCP进程,这两个进程都公开相同的工具,并且它们通过JSON文件进行通信 .codex-review/.

审查循环

  1. 实现代理更改代码和调用 request_review
  2. 审核代理通过以下方式接收请求 wait_for_review_request
  3. 审阅者直接从代码仓库读取代码,并通过以下方式发送反馈 submit_review
  4. 实施者收到反馈、电话 ack_review,修复问题和电话 request_review 再次
  5. 重复直到 approved: true

安装

npm install
npm run build

设置

向每个MCP客户端注册相同的命令。

克劳德代码

claude mcp add -s user codex-review -- node /path/to/codex-review-mcp/build/index.js

Codex CLI

codex mcp add codex-review -- node /path/to/codex-review-mcp/build/index.js

不需要模式参数。额外的命令行参数将被忽略。

可选:增加Codex MCP超时

Codex CLI识别中的每台服务器MCP超时设置 ~/.codex/config.toml.

[mcp_servers.codex-review]
command = "node"
args = ["/path/to/codex-review-mcp/build/index.js"]
tool_timeout_sec = 300
startup_timeout_sec = 45

如果 codex-review 已注册,仅将超时密钥添加到现有密钥中 mcp_servers.codex-review 部分。

跑

  • 致执行代理:使用 implement_and_review 或者让它执行任务并致电 request_review
  • 致审核代理:使用 review_mode 所以它等待着 wait_for_review_request 并回复 submit_review

MCP工具

所有工具在每个MCP过程中都可用。

工具 说明
request_review 请求审核并等待回复。退货 { approved, feedback, iteration }
ack_review 确认收到的审查回复,以免重新提交
wait_for_review_request 等待审核请求。退货 { context, iteration }
submit_review 提交审核反馈。需要 feedback, approved,以及 iteration
get_review_status 检查当前迭代和待处理消息

MCP提示

提示 使用 描述
implement_and_review 实施代理 指导实施->审查->修复循环工作流程
review_mode 审核代理 指导连续审核模式

已知限制

Codex CLI工具调用超时: 如果 tool_timeout_sec 不增加, wait_for_review_request 在默认的Codex CLI设置中,可能会在大约120秒后超时。当这种情况发生时,审阅者只需致电 wait_for_review_request 再次继续等待。请求文件保留在磁盘上,因此不会丢失任何消息。

建筑

  • 基于文件的IPC:消息是JSON文件 .codex-review/;不需要代理服务器
  • stdio传输:每个代理都使用标准的MCP stdio传输,并启动自己的本地MCP进程
  • 单刀具表面:每个MCP过程都公开相同的工具和提示
  • 迭代匹配:按迭代次数对请求和响应进行配对
  • 无消息丢失:文件会一直保存在磁盘上,直到被明确使用。如果轮询中断,文件将保留以备下次尝试