MCP 是什么,为什么 Codex 需要它
MCP 是什么,为什么 Codex 需要它
Section titled “MCP 是什么,为什么 Codex 需要它”前面你已经学过:
- 用提示词描述当前任务。
- 用
AGENTS.md沉淀项目规则。 - 用
config.toml配置 Codex 自身怎么运行。
现在进入下一层:
MCP:让 Codex 连接外部工具和外部资料。前置教程:用户级 config.toml 和项目级 .codex/config.toml 怎么选
如果你还不清楚用户级配置和项目级配置的区别,先看前置教程。MCP 配置通常也会写进config.toml,分层不清楚会很难排查。
MCP 是 Codex 连接外部系统的标准方式。这里的外部系统可以是:
- 官方文档。
- 私有知识库。
- GitHub。
- Linear、Jira 这类任务系统。
- Figma 这类设计工具。
- 浏览器开发工具。
- 内部接口、内部工具、内部数据服务。
没有 MCP 时,Codex 主要能看:
- 当前项目文件。
- 你在对话里粘贴的内容。
- Codex 自己能运行命令得到的本地结果。
- 已配置的内置工具能力。
有 MCP 后,Codex 可以通过你授权的 MCP server 获取更多上下文或调用外部能力。
一个非常直观的例子
Section titled “一个非常直观的例子”你问 Codex:
请根据我们公司的最新接口文档,帮我修改订单创建接口。如果没有 MCP,你只能:
- 手动打开接口文档。
- 复制关键内容给 Codex。
- 担心复制漏了。
- 文档更新后还要重新复制。
如果公司文档系统提供 MCP,你可以让 Codex:
请先通过公司的文档 MCP 查询“订单创建接口”的最新文档。找到接口字段、错误码和示例后,再分析当前项目里需要改哪些文件。先不要修改代码。这样 Codex 就不只是靠你粘贴的一段文本,而是可以通过 MCP 查到外部资料。
MCP 不是万能插件
Section titled “MCP 不是万能插件”很多新手听到 MCP,会以为:
装越多 MCP,Codex 就越强。这个理解不对。
更准确地说:
MCP 增加的是 Codex 可访问的外部能力,同时也增加权限、隐私和排查复杂度。所以本教程的原则是:
先只读,后写入。先低风险,后高风险。先一个 MCP 跑通,再考虑多个 MCP。MCP 和 AGENTS.md 的区别
Section titled “MCP 和 AGENTS.md 的区别”| 项目 | 作用 |
|---|---|
AGENTS.md | 告诉 Codex 当前项目怎么做事 |
| MCP | 让 Codex 能访问项目外部的工具或资料 |
例子:
AGENTS.md 可以写:
修改接口前,先确认接口文档中的字段和错误码。MCP 可以提供:
查询接口文档的工具。一个是规则,一个是能力。
MCP 和 config.toml 的区别
Section titled “MCP 和 config.toml 的区别”MCP 的配置通常写在 config.toml 里。
也就是说:
config.toml 是配置文件,MCP 是配置进去的一类外部工具能力。你可以把它理解成:
config.toml是插线板。- MCP server 是插到插线板上的设备。
不要把 MCP 当成另一个文档文件。
MCP 和 Skills 的区别
Section titled “MCP 和 Skills 的区别”后面会讲 Skills。
这里先简单记:
| 项目 | 作用 |
|---|---|
| MCP | 给 Codex 外部工具和外部资料 |
| Skills | 给 Codex 可复用的工作流程 |
举个例子:
- MCP:能查设计稿、查接口文档、查 issue。
- Skill:规定“每次修 Bug 时先查 issue,再读相关文件,再写复现步骤,再修复,再验收”。
它们经常配合使用。
MCP server、MCP client 是什么
Section titled “MCP server、MCP client 是什么”不用被术语吓到。
在 Codex 这个场景里可以这样理解:
| 术语 | 通俗解释 |
|---|---|
| MCP client | Codex 里面负责连接 MCP 的那一端 |
| MCP server | 外部工具提供能力的那一端 |
| tool | MCP server 暴露给 Codex 调用的具体能力 |
| resource | MCP server 提供给 Codex 读取的资料 |
| prompt | MCP server 提供的可复用提示 |
你作为用户大多数时候只需要关心:
这个 MCP server 会给 Codex 什么能力?这些能力是只读还是会修改外部系统?是否需要登录授权?是否会接触敏感资料?MCP 最适合解决什么问题
Section titled “MCP 最适合解决什么问题”MCP 最适合解决:
- Codex 需要实时读取外部文档。
- Codex 需要查询 issue、PR、需求单。
- Codex 需要读取设计稿或页面结构。
- Codex 需要访问私有资料,但你不想每次复制粘贴。
- Codex 需要调用一个明确、受控的内部工具。
比如:
请通过 OpenAI Docs MCP 查询 Codex MCP 的官方说明,然后总结当前项目应该怎么写教程。或者:
请通过 GitHub MCP 读取这个 issue 的描述和评论,只做需求分析,不要修改代码。MCP 不适合解决什么问题
Section titled “MCP 不适合解决什么问题”下面这些不需要 MCP:
| 需求 | 更合适的方式 |
|---|---|
| 当前任务的临时限制 | 当前对话提示词 |
| 项目构建命令 | AGENTS.md |
| 默认模型配置 | config.toml |
| 一个本地文件里的信息 | 让 Codex 读项目文件 |
| 你已经复制给 Codex 的一小段文案 | 当前对话即可 |
| 只是想让 Codex 改一个按钮样式 | 不需要 MCP |
不要为了“高级”而上 MCP。
MCP 会让 Codex 接触项目外部系统,所以要比普通项目文件更谨慎。
你至少要问 5 个问题:
- 这个 MCP 是只读,还是能写入外部系统?
- 它会不会看到私有文档、客户数据、密钥、日志?
- 它调用工具前是否需要你批准?
- 它的输出是否可能包含不可信内容?
- 这个 MCP 是否来自可信来源?
新手第一次配置 MCP,建议选只读文档类 MCP。
不要第一次就配置:
- 生产数据库写入工具。
- 线上发布工具。
- 能删除 issue、PR、文件的工具。
- 能访问大量敏感客户数据的工具。
使用 MCP 时的提示词习惯
Section titled “使用 MCP 时的提示词习惯”不要只说:
查一下文档然后改。更好的说法是:
请先通过 MCP 查询相关文档。
要求:1. 只读取资料,不要修改任何文件。2. 先告诉我你查到了哪些资料和结论。3. 如果资料里有不确定或冲突的地方,请标出来。4. 等我确认后,再进入代码修改。这样你能把风险控制在“先读、先汇报”。
这一篇的验收标准
Section titled “这一篇的验收标准”读完后你应该能说清楚:
- MCP 是用来连接什么的。
- MCP 和
AGENTS.md的区别。 - MCP 和
config.toml的关系。 - 什么场景不需要 MCP。
- 为什么第一次应该从只读 MCP 开始。