实战

MCP + Skills 一键搭建自动化 Code Review:Codex 进阶实战

2026/8/154 分钟阅读

为什么需要 MCP + Skills?

单独用 Codex 写代码已经很强了,但有几个痛点绕不开:

  • 读不了 PR:你每次都得手动贴 diff
  • 记不住规范:团队命名约定、代码风格每次都要重新说
  • 工具孤立:数据库、日志、Jira 里的信息没法直接调用

MCP(Model Context Protocol)和 Skills 就是解决这三个问题的。

类比:Codex 是大脑,MCP 是手脚(接外部工具),Skills 是岗位 SOP(告诉它什么场景该怎么做)。


第一步:配置 MCP 服务器

MCP 配置写在 ~/.codex/config.toml(和 API Key 配置是同一个文件)。

以接入 GitHub 和 Git 为例,添加如下配置:

[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "你的 GitHub Personal Access Token" }

[mcp_servers.git]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-git"]

常用 MCP 服务速查:

MCP 名称 用途 配置命令
@modelcontextprotocol/server-github 读取 PR diff / commit 信息 npx -y @modelcontextprotocol/server-github
@modelcontextprotocol/server-git 本地分支 / diff 操作 npx -y @modelcontextprotocol/server-git
@upstash/context7-mcp 查询项目架构文档 cmd /c npx -y @upstash/context7-mcp
chrome-devtools-mcp 浏览器自动化 cmd /c npx chrome-devtools-mcp@latest

配置完成后重启 Codex,或在 CLI 中输入 codex doctor 检查 MCP 服务是否正常启动。


第二步:写一个 Code Review Skill

~/.codex/skills/code-review/SKILL.md 创建以下文件:

---
name: code-review
description: 对代码变更进行团队规范审查,输出结构化审查报告
allow_implicit_invocation: true
---

你是一名严格的代码审查助手。收到审查请求后,请按以下步骤执行:

## 1. 获取变更内容
- 如果用户提供了 PR 链接,调用 github MCP 获取 diff
- 如果用户提供了分支或文件路径,调用 git MCP 读取变更

## 2. 审查维度
- 命名规范:函数/变量/组件命名是否符合团队约定
- 类型安全:TypeScript 中是否有 any、隐式转换、未处理的可选链
- 性能隐患:是否存在重复计算、不必要的重渲染、大数据量循环
- 安全风险:XSS、SQL 注入、敏感信息硬编码
- 可维护性:函数长度、魔术数字、注释质量

## 3. 输出格式
对每处问题,按下面格式输出:

[高风险/中风险/低风险] 文件名:行号
问题: ...
建议: ...

最后给出:
- 整体评级:A / B / C / D
- 最优先修复的 3 个问题
- 是否建议合入:建议 / 暂缓 / 拒绝

第三步:跑起来

在 Codex 中只需一句指令:

审查一下这个 PR:https://github.com/your-org/your-repo/pull/123

Codex 会自动: 1. 读取项目 AGENTS.md,了解项目规范 2. 触发 code-review Skill 3. 调用 GitHub MCP 获取 PR diff 4. 按 Skill 中定义的维度逐项审查 5. 输出结构化报告

你不需要手动贴代码、贴规则、贴格式——Codex 自己知道该干嘛。


真实审查输出示例

[高风险] src/pages/UserProfile.tsx:42
问题: 使用 dangerouslySetInnerHTML 渲染用户输入的富文本,存在 XSS 风险
建议: 改用 DOMPurify 净化后再渲染,或换用安全组件

[中风险] src/hooks/useOrderList.ts:18
问题: useEffect 依赖数组为空,但内部使用了外部传入的 filter 参数
建议: 将 filter 加入依赖数组,或封装成稳定引用

[低风险] src/utils/format.ts:7
问题: 常量命名使用小写 camelCase(maxRetryCount)
建议: 改为 SCREAMING_SNAKE_CASE(MAX_RETRY_COUNT)

整体评级:B
最优先修复的 3 个问题:
1. UserProfile.tsx XSS 风险
2. useOrderList.ts 依赖缺失
3. 补充 OrderList 组件单元测试
是否建议合入:暂缓,修复高风险项后再合

让 Code Review 真正自动化

把上面的流程接进 GitHub Actions,实现无人值守审查:

- name: AI Code Review
  run: |
    codex --quiet \
      --skill code-review \
      --message "审查 PR #${{ github.event.pull_request.number }}" \
      --output review-report.md

每次有人开 PR,Codex 自动跑一遍审查,结果贴到 PR 评论区——小团队最缺 Code Review 人手,AI 先审一遍,人再看一遍,能省下大量排查低级错误的时间。


常见问题

Q: Skill 和 AGENTS.md 有什么区别? AGENTS.md 是项目全局规则(团队约定),Skill 是任务级规则(具体任务怎么执行)。两者不冲突,建议 AGENTS.md 写规范,Skill 写执行流程。

Q: GitHub API 调用慢吗? 一般 PR diff 不大的话几秒就回来了。大重构可以先按文件分批审。

Q: 小团队用得着吗? 太用得上。小团队最缺 Code Review 人手,AI 先审一遍过滤低级问题,人再看一遍聚焦设计决策,效率提升明显。


来源:本文根据公众号「程序员达不溜」发布的《用了 Codex 这么久,我有个特别真实的感受》一文整理改写。Codex Skills 官方文档参考:https://github.com/openai/codex/blob/main/docs/skills.md。MCP 配置示例综合自 Docker MCP Toolkit 官方文档。

资料最后核对日期:2026-08-15 · 内容整理自 CodexGuide 社区公开教程