跳转到内容

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 获取更多上下文或调用外部能力。

你问 Codex:

请根据我们公司的最新接口文档,帮我修改订单创建接口。

如果没有 MCP,你只能:

  • 手动打开接口文档。
  • 复制关键内容给 Codex。
  • 担心复制漏了。
  • 文档更新后还要重新复制。

如果公司文档系统提供 MCP,你可以让 Codex:

请先通过公司的文档 MCP 查询“订单创建接口”的最新文档。
找到接口字段、错误码和示例后,再分析当前项目里需要改哪些文件。
先不要修改代码。

这样 Codex 就不只是靠你粘贴的一段文本,而是可以通过 MCP 查到外部资料。

很多新手听到 MCP,会以为:

装越多 MCP,Codex 就越强。

这个理解不对。

更准确地说:

MCP 增加的是 Codex 可访问的外部能力,同时也增加权限、隐私和排查复杂度。

所以本教程的原则是:

先只读,后写入。
先低风险,后高风险。
先一个 MCP 跑通,再考虑多个 MCP。
项目作用
AGENTS.md告诉 Codex 当前项目怎么做事
MCP让 Codex 能访问项目外部的工具或资料

例子:

AGENTS.md 可以写:

修改接口前,先确认接口文档中的字段和错误码。

MCP 可以提供:

查询接口文档的工具。

一个是规则,一个是能力。

MCP 的配置通常写在 config.toml 里。

也就是说:

config.toml 是配置文件,MCP 是配置进去的一类外部工具能力。

你可以把它理解成:

  • config.toml 是插线板。
  • MCP server 是插到插线板上的设备。

不要把 MCP 当成另一个文档文件。

后面会讲 Skills。

这里先简单记:

项目作用
MCP给 Codex 外部工具和外部资料
Skills给 Codex 可复用的工作流程

举个例子:

  • MCP:能查设计稿、查接口文档、查 issue。
  • Skill:规定“每次修 Bug 时先查 issue,再读相关文件,再写复现步骤,再修复,再验收”。

它们经常配合使用。

不用被术语吓到。

在 Codex 这个场景里可以这样理解:

术语通俗解释
MCP clientCodex 里面负责连接 MCP 的那一端
MCP server外部工具提供能力的那一端
toolMCP server 暴露给 Codex 调用的具体能力
resourceMCP server 提供给 Codex 读取的资料
promptMCP server 提供的可复用提示

你作为用户大多数时候只需要关心:

这个 MCP server 会给 Codex 什么能力?
这些能力是只读还是会修改外部系统?
是否需要登录授权?
是否会接触敏感资料?

MCP 最适合解决:

  • Codex 需要实时读取外部文档。
  • Codex 需要查询 issue、PR、需求单。
  • Codex 需要读取设计稿或页面结构。
  • Codex 需要访问私有资料,但你不想每次复制粘贴。
  • Codex 需要调用一个明确、受控的内部工具。

比如:

请通过 OpenAI Docs MCP 查询 Codex MCP 的官方说明,然后总结当前项目应该怎么写教程。

或者:

请通过 GitHub MCP 读取这个 issue 的描述和评论,只做需求分析,不要修改代码。

下面这些不需要 MCP:

需求更合适的方式
当前任务的临时限制当前对话提示词
项目构建命令AGENTS.md
默认模型配置config.toml
一个本地文件里的信息让 Codex 读项目文件
你已经复制给 Codex 的一小段文案当前对话即可
只是想让 Codex 改一个按钮样式不需要 MCP

不要为了“高级”而上 MCP。

MCP 会让 Codex 接触项目外部系统,所以要比普通项目文件更谨慎。

你至少要问 5 个问题:

  1. 这个 MCP 是只读,还是能写入外部系统?
  2. 它会不会看到私有文档、客户数据、密钥、日志?
  3. 它调用工具前是否需要你批准?
  4. 它的输出是否可能包含不可信内容?
  5. 这个 MCP 是否来自可信来源?

新手第一次配置 MCP,建议选只读文档类 MCP。

不要第一次就配置:

  • 生产数据库写入工具。
  • 线上发布工具。
  • 能删除 issue、PR、文件的工具。
  • 能访问大量敏感客户数据的工具。

不要只说:

查一下文档然后改。

更好的说法是:

请先通过 MCP 查询相关文档。
要求:
1. 只读取资料,不要修改任何文件。
2. 先告诉我你查到了哪些资料和结论。
3. 如果资料里有不确定或冲突的地方,请标出来。
4. 等我确认后,再进入代码修改。

这样你能把风险控制在“先读、先汇报”。

读完后你应该能说清楚:

  1. MCP 是用来连接什么的。
  2. MCP 和 AGENTS.md 的区别。
  3. MCP 和 config.toml 的关系。
  4. 什么场景不需要 MCP。
  5. 为什么第一次应该从只读 MCP 开始。

下一篇看:什么时候应该给 Codex 配 MCP,什么时候不该配