为什么需要 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 社区公开教程