Codex 与 MCP:连接外部工具和数据

Codex 与 MCP:连接外部工具和数据

了解 Model Context Protocol 的用途、stdio 与 HTTP 配置、安全边界,以及如何验证 MCP 工具是否可用。

Codex 与 MCP:连接外部工具和数据#

MCP(Model Context Protocol)让 Codex 通过标准接口调用外部工具,例如查询文档、读取工单、访问设计系统或调用内部服务。MCP 扩展的是 Codex 可使用的工具,不是替换模型 API 的方式。

MCP 与模型提供商的区别#

这两个概念经常被混在一起:

  • 模型提供商决定 Codex 的推理请求发送到哪里,例如 OpenAI 或 APIBest。
  • MCP 服务器向 Codex 提供额外工具和数据,例如文档搜索或数据库只读查询。

把 Codex 配置到 https://apibest.org/v1 不会自动添加 MCP 工具;添加 MCP 也不会改变模型请求的计费服务。

两种常见连接方式#

本地 stdio 服务器由 Codex 启动一个进程:

toml
[mcp_servers.example]
command = "npx"
args = ["-y", "@example/mcp-server"]

远程 HTTP 服务器使用 URL:

toml
[mcp_servers.example]
url = "https://mcp.example.com/mcp"
bearer_token_env_var = "EXAMPLE_MCP_TOKEN"

令牌同样应通过环境变量提供。具体鉴权方式、超时和工具限制字段应根据 Codex MCP 官方文档 配置。

添加前先做安全检查#

MCP 工具可能具有读写外部系统的能力。安装或授权前至少确认:

  • 服务器来源和维护者是否可信。
  • 工具列表中哪些是只读,哪些会写入或删除数据。
  • 它能访问哪些账号、工作区和目录。
  • 发送给服务器的提示、文件或查询是否包含敏感信息。
  • 是否可以用允许列表只启用当前需要的工具。
  • 远程服务如何保存日志和处理数据。

不要仅因为 MCP 包出现在公开仓库,就默认它可以访问公司的生产系统。

管理与验证#

CLI 可以查看当前版本支持的 MCP 管理命令:

bash
codex mcp --help

添加后启动新会话,确认服务器初始化成功,并让 Codex 列出可用工具。第一次调用选择一个只读、容易核对的操作,例如读取公开文档标题,而不是创建或删除数据。

如果服务器无法启动,按顺序检查:启动命令能否在普通终端运行、依赖是否存在、环境变量是否传入、工作目录是否正确、超时是否过短。HTTP 服务还要检查 URL、TLS、鉴权和网络权限。

把工具限制在任务需要的范围#

好的 MCP 配置不是工具越多越好。工具名称相近时,Codex 可能需要额外判断;不相关工具也会增加上下文负担。按项目启用必要服务,并对有写入能力的工具保留审批。

团队可以在 AGENTS.md 中说明何时使用某个工具,但服务器地址和凭据通常属于用户或受管环境配置。这样仓库描述工作流,机器配置掌握真实访问权。