核心功能:MCP 与 Git / GitHub 工作流

从零开始掌握 OpenAI Codex——AI 编程工程 Agent。14 章覆盖认识 Codex、四种入口安装、核心功能(自动化/插件/Skill/MCP/Git/记忆)、标准工作流、实战案例和第三方模型接入。

一句话结论

MCP 让 Codex 接入外部工具,Git 工作流让 Codex 的改动可追踪、可回滚、可审查——这是工程化使用 Codex 的基础。

MCP

只有进阶AI编程才需要了解,普通人可以直接跳过

让 Codex 连接外部工具的接口。

Codex 本身可以读代码、改代码、运行命令。

MCP 的作用是让 Codex 连接更多外部工具、数据源或服务。

什么是 MCP

概念简单来说
MCP连接外部工具的标准接口
MCP Server提供工具能力的服务
ToolCodex 可以调用的具体功能
ConfigMCP 的配置文件
STDIO Server通过本地命令启动的 MCP 服务
HTTP Server通过网址连接的 MCP 服务
Context外部工具提供给 Codex 的上下文信息

生活化理解:
[code]
Codex = 一个会干活的人
MCP = 给他接上不同工具的插座
MCP Server = 插在插座上的工具箱
Tool = 工具箱里的具体工具
[/code]

比如一个文档 MCP,可以让 Codex 读取文档。

一个数据库 MCP,可以让 Codex 查询数据库。

一个设计工具 MCP,可以让 Codex 获取设计稿信息。


MCP 适合做什么

场景MCP 可以怎么用
查开发文档连接文档 MCP,让 Codex 查新版本 API
连接数据库让 Codex 查询数据库结构或测试数据
连接设计工具让 Codex 读取设计稿、组件信息
连接项目管理工具读取 issue、任务、需求说明
连接内部系统调用公司内部工具或数据源
连接知识库让 Codex 根据团队文档工作
连接自动化工具让 Codex 调用额外脚本或服务

小白可以这样判断:
[code]
普通写代码,不一定需要 MCP。
需要 Codex 访问外部工具或外部数据时,才考虑 MCP。
[/code]

MCP Server 是什么

MCP Server 可以理解成:

给 Codex 提供工具能力的服务。

比如:

MCP Server 类型能提供什么
文档 MCP查询开发文档、API 文档
数据库 MCP查询表结构、读取测试数据
GitHub MCP读取 issue、PR、仓库信息
Figma MCP读取设计稿信息
Notion MCP读取知识库页面
浏览器 MCP访问网页、获取页面信息
内部工具 MCP连接公司自己的系统

简单来说:
[code]
MCP Server = Codex 可以调用的外部工具服务。
[/code]

在 Codex App 里怎么使用 MCP

Codex App 使用 MCP 的基本流程
步骤操作简单来说
1打开 Codex App进入桌面版 Codex
2进入 Settings打开设置
3找到 MCP servers进入 MCP 工具管理区
4查看 recommended servers查看官方或系统推荐的 MCP
5添加 custom server添加自己的 MCP server
6按提示完成授权有些 MCP 需要登录外部账号
7回到项目 thread在任务里调用 MCP
8查看结果和权限请求确认 Codex 调用了什么工具

Codex App中MCP Server的设置界面

添加 MCP 时通常需要填什么
配置项作用简单来说
NameMCP 名称给这个工具起名字
Command / URL启动命令或服务地址Codex 通过它连接工具
TypeMCP 类型本地命令型或远程 HTTP 型
Env环境变量放 token、配置项等
Auth授权方式是否需要登录外部账号
Enabled tools启用哪些工具只打开需要的功能

Codex App中添加MCP时的设置界面

添加 MCP 后怎么使用

添加完成后,回到 Codex App 的 thread,直接描述任务即可。

用法示例
直接描述需求请查一下 Next.js App Router 的最新用法
明确要求使用 MCP请使用可用的 MCP 工具查询这个库的文档
指定某个 MCP请用 context7 查询 Next.js 的最新文档
先查看可用工具当前有哪些 MCP 工具可以用?

示例提示词:
[code]
请使用可用的 MCP 文档工具,
查询 Next.js App Router 的最新用法,
然后告诉我当前项目应该怎么修改。
[/code]

或者:
[code]
请用 Figma MCP 读取这个设计稿,
分析页面结构,并给我生成前端实现计划。
[/code]

在 Codex CLI 里怎么使用 MCP

在 Codex CLI 里使用 MCP,可以理解成:

给终端版 Codex 接入外部工具。

比如:
[code]
文档 MCP:让 Codex 查询开发文档
GitHub MCP:让 Codex 读取 issue、PR、仓库信息
Figma MCP:让 Codex 读取设计稿
数据库 MCP:让 Codex 查询数据库结构
[/code]

小白可以这样理解:
[code]
Codex CLI = 终端里的 AI 编程助手
MCP = 给 Codex CLI 接外部工具的接口
[/code]


CLI 使用 MCP 的基本流程
步骤操作简单来说
1打开终端PowerShell / Terminal
2进入项目目录让 Codex 知道当前项目
3添加 MCP server给 Codex 接入外部工具
4检查 MCP 是否添加成功确认工具已经可用
5启动 Codex CLI进入 Codex 对话界面
6用 /mcp 查看工具看当前能用哪些 MCP
7在任务里调用 MCP让 Codex 使用外部工具
8查看结果和权限提示确认是否安全

常用 MCP 终端命令
命令作用简单来说
codex mcp --help查看 MCP 命令帮助不知道怎么用时先看
codex mcp list查看已配置 MCP server看现在接了哪些外部工具
codex mcp add添加 MCP server给 Codex 增加一个外部工具
codex mcp remove删除 MCP server不用了就移除
codex mcp get查看某个 MCP server 详情看具体配置
codex mcp login登录需要授权的 MCP给某些远程 MCP 授权
codex mcp logout退出某个 MCP 授权取消连接状态
/mcp在 Codex 会话里查看 MCP看当前会话能调用哪些工具

添加 MCP 的基本格式

添加 MCP 的基本命令通常是:
[code]
codex mcp add 名称 -- 启动命令
[/code]

简单来说:
[code]
名称 = 你给这个 MCP 起的名字
启动命令 = 这个 MCP 怎么启动
[/code]

示例:
[code]
codex mcp add context7 -- npx -y @upstash/context7-mcp
[/code]

这条命令可以理解成:
[code]
给 Codex 添加一个叫 context7 的 MCP。
它通过 npx 启动 @upstash/context7-mcp 这个工具。
[/code]


查看已经添加的 MCP

添加后可以运行:
[code]
codex mcp list
[/code]

作用:
[code]
查看当前 Codex CLI 已经配置了哪些 MCP server。
[/code]

如果能看到你刚添加的名称,说明配置已经写入。


进入 Codex 后查看 MCP

先进入项目目录:
[code]
cd 项目目录
[/code]

然后启动 Codex:
[code]
codex
[/code]

进入 Codex CLI 后,输入:
[code]
/mcp
[/code]

作用:
[code]
查看当前会话里可用的 MCP 工具。
[/code]

如果 MCP 没显示,可能是:

问题可能原因
没添加成功codex mcp add 命令失败
MCP 启动失败依赖没装或命令错误
名称写错调用时写错 server 名
需要授权还没登录外部服务
配置没刷新需要重启 Codex CLI

在任务里调用 MCP

配置好 MCP 后,不一定要记复杂命令。

你可以直接在 Codex CLI 里说:
[code]
请使用可用的 MCP 工具,查询 Next.js App Router 的最新文档。
[/code]

也可以指定某个 MCP:
[code]
请用 context7 查询 Next.js App Router 的最新用法,
然后告诉我当前项目应该怎么修改。
[/code]

如果是 Figma 类 MCP,可以这样说:
[code]
请用 Figma MCP 读取这个设计稿,
分析页面结构,并给我生成前端实现计划。
[/code]

如果是 GitHub 类 MCP,可以这样说:
[code]
请用 GitHub MCP 查看这个仓库最近的 open issue,
帮我整理出优先级最高的 3 个问题。
[/code]


MCP 配置文件在哪里

Codex 的 MCP 配置会写进配置文件里。

常见位置是:
[code]
~/.codex/config.toml
[/code]

简单来说:
[code]
config.toml = Codex 的配置文件
[/code]

里面可能会有类似这样的配置:
[code]
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
[/code]

这表示:
[code]
有一个 MCP server 叫 context7。
启动命令是 npx -y @upstash/context7-mcp。
[/code]

如果你不熟悉配置文件,前期不要手动乱改。

优先使用:
[code]
codex mcp add
codex mcp list
codex mcp remove
[/code]


添加远程 MCP

有些 MCP 不是本地命令启动,而是通过网址连接。

这类一般叫远程 MCP / HTTP MCP。

可能会需要:

配置项简单来说
URL远程 MCP 服务地址
Auth是否需要登录
Token访问凭证
OAuth浏览器授权登录

如果需要登录,可以使用:
[code]
codex mcp login MCP名称
[/code]

不用了可以:
[code]
codex mcp logout MCP名称
[/code]

新手建议:
[code]
先用不需要复杂授权的文档类 MCP。
后面再尝试需要登录的远程 MCP。
[/code]


删除不用的 MCP

如果某个 MCP 不用了,可以删除:
[code]
codex mcp remove 名称
[/code]

比如:
[code]
codex mcp remove context7
[/code]

删除后再检查:
[code]
codex mcp list
[/code]

确认它已经不在列表里。

代码管理 (Git 与 GitHub 工作流)

用 Codex 做真实项目时,一定要懂一点 Git 和 GitHub。

小白可以先这样理解:
[code]
Git = 本地代码版本管理工具
GitHub = 把代码放到网上协作的平台
Codex = 帮你读代码、改代码、跑命令的 AI 编程助手
[/code]

一句话:
[code]
Git 负责记录代码变化。
GitHub 负责远程保存和协作。
Codex 负责帮你完成具体编程任务。
[/code]

Git 和 GitHub 有什么区别

对比GitGitHub
简单来说本地版本管理工具代码云盘 + 协作平台
主要作用记录代码每次改了什么远程保存代码、团队协作
使用位置你的电脑里浏览器 / 云端
核心能力commit、branch、diff、mergerepository、issue、pull request
是否必须联网不需要需要
和 Codex 的关系Codex 改完代码后,用 Git 检查和保存Codex Web / Cloud 常和 GitHub 配合
小白必须先懂的 Git 概念
概念简单来说作用
Repository一个代码仓库存放整个项目
Commit一次代码存档记录这次改了什么
Branch分支在不影响主线的情况下改代码
Diff改动对比看新增、删除、修改了什么
Stage暂存区准备把哪些改动保存进 commit
Merge合并把一个分支的改动合到另一个分支
Conflict冲突两边改了同一处代码,需要手动选择
Push推送把本地代码上传到 GitHub
Pull拉取把 GitHub 上的新代码同步到本地
Clone克隆从 GitHub 下载一个项目到本地

小白必须先懂的 GitHub 概念
概念简单来说作用
RepositoryGitHub 上的项目仓库存代码
Issue问题 / 需求记录记录 bug、需求、任务
Pull Request / PR代码合并申请改完代码后申请合并
Main Branch主分支项目的稳定版本
Feature Branch功能分支用来开发新功能
Review代码检查合并前检查代码
Actions自动化流程自动测试、构建、部署
README项目说明书告诉别人项目怎么用
.gitignore忽略文件清单防止上传无关或敏感文件

为什么用 Codex 更需要 Git

场景为什么需要 Git
Codex 改了很多代码可以查看具体改了哪里
Codex 改错了可以回退到之前版本
Codex 删除了不该删的内容可以用 Git 找回
多次让 Codex 修改每次 commit 保存一个阶段
想让 Codex 大胆试方案用 branch 或 worktree 隔离风险
要把项目放到 GitHub需要 push 到远程仓库
团队协作需要 PR、review、merge

一句话:
[code]
没有 Git,Codex 改错了你很难回退。
有了 Git,Codex 可以放心试,你可以随时检查和恢复。
[/code]


如何在 Codex 中使用 Git

步骤操作目的
1初始化 Git让项目开始被 Git 管理
2写好 .gitignore防止上传垃圾文件和密钥
3先 commit 一次保存干净版本
4新建分支给 Codex 一个安全实验区
5让 Codex 修改代码完成具体任务
6查看 diff检查 Codex 改了什么
7运行项目 / 构建确认没出错
8满意后 commit保存这次修改
9push 到 GitHub上传远程仓库
10创建 PR合并前再检查一次
在 Codex 对话框中输入:把项目初始化成一个 Git 工程,并排除不需要的文件

在Codex中使用Git的界面


Codex 会帮我们直接写好 .gitignore 文件

在Codex中使用Git的界面

如何在 Codex 中使用 GitHub

使用前需要准备什么
准备项作用简单来说
GitHub 账号保存远程代码代码云盘账号
Git本地版本管理记录代码变化
GitHub 仓库放项目代码一个远程项目文件夹
本地项目Codex 要修改的代码电脑里的项目文件夹
GitHub 登录权限允许 push / PR证明这是你的仓库
.gitignore防止上传无关文件不上传垃圾文件和密钥
标准上传流程
步骤操作目的
1在 GitHub 新建仓库创建一个远程项目空间
2复制仓库地址后面要连接本地项目
3将地址复制给 Codex让 Codex 知道要上传到哪个仓库
4推送到 GitHub正式上传代码
创建 GitHub 仓库

GitHub创建仓库页面

复制仓库地址

在GitHub上创建仓库时复制仓库地址的操作界面

将地址复制给 Codex

Codex平台中“做一个首页”项目的页面

推送到 GitHub

代码回滚

修改代码

先让 AI 修改一下代码

Codex平台中“做一个首页”项目的界面

提交到 Git,保存好当前版本

Codex平台中使用Git进行代码管理的操作界面

继续修改代码

在Codex中使用Git的代码回滚操作界面

打开 IDE 查看代码并且回退代码

先打开 IDE 查看代码

在Codex中使用Git的界面

复制版本号

在VS Code中使用Codex进行代码回滚的操作界面

复制给 Codex,让它回退代码到指定版本

在Codex中使用Git进行代码回滚的操作界面

Git Worktree

给同一个 Git 项目,额外开一个独立工作副本。

相当于一个草稿本,效果满意后再合并回正式项目。

为什么需要 Worktree

普通 Git 分支虽然可以切换,但每次只能在一个文件夹里操作一个分支。

Worktree 的好处是:

场景Worktree 的作用
想让 Codex 大胆改代码给它单独开一个副本
不想影响当前项目主项目保持不动
想同时做多个任务每个任务一个 worktree
想比较多个方案方案 A / B / C 分开放
改坏了不想要直接丢掉 worktree
做大改动 / 重构降低污染主项目的风险
创建 Worktree

Codex移动版界面中“hello - Codex”项目的操作菜单

Codex平台界面,左侧为项目列表,其中“hello - codex_2”项目被红色框突出显示

使用分支进行任务

Gitpod界面中“hello - codex_2”分支的代码编辑区域

合并回主干

检查效果满意后,就可以合并回主干,并把这个分支删除。

在GitHub上使用Worktree进行代码管理的操作界面