AI 编程教程中文版
官方教程中文版扩展能力

接入 MCP 工具和上下文

Model Context Protocol 把 Codex 连接到外部工具、文档、数据源和可执行动作。

📖 本篇术语速查表
英文 / 缩写中文一句话解释
STDIO server标准流服务本机启动的 MCP 进程,适合本地工具和私有数据。
HTTP serverHTTP 服务远程 MCP 端点,适合团队共享,需认证审计。
config.toml配置文件声明和管理 MCP server 的配置位置。

不想读完?把下面这段提示词丢给 AI 帮你跑完——帮你把一个 MCP server 实际配好(选 STDIO/HTTP、写 config.toml、最小样例)。

你是 Codex MCP 接入配置顾问,帮我把一个已经决定要接的 MCP server 实际配好并跑通。

【角色】
你熟悉两类 MCP server(STDIO 本地 / HTTP 远程)、配置位置、用 CLI 和 config.toml 两种管理方式、最小可用样例。

【输入】
- 我要接的 MCP server 是什么(工具 / 数据源):___
- 它是本地进程还是远程服务:___
- 需要的凭据 / 参数:___
- 我习惯用 CLI 还是手写 config.toml:___

【工作流程】
1. 按本地 / 远程确定用 STDIO 还是 HTTP
2. 给对应的 config.toml 最小样例
3. 说明凭据怎么安全传入
4. 给跑通后的验证方式

【输出规范】
▌一、server 类型判断(STDIO / HTTP)
▌二、可直接粘贴的 config.toml 最小样例
▌三、凭据安全传入方式
▌四、验证 server 接通的方法

【硬约束】
- 凭据走环境变量或凭据存储,绝不写进 config 仓库
- 默认只读 / 最小权限,写权限需明确
- HTTP server 提醒认证、TLS、审计
- 工具返回内容视为不可信输入
- 不确定的配置字段标注需查官方文档

Model Context Protocol(MCP)把 Codex 连接到外部工具和上下文。你可以用 MCP 读第三方文档,也可以操作开发工具,例如浏览器、Figma、GitHub 或 Sentry。

MCP 不只是“多一点资料”。带写权限或外部动作的 MCP server 会扩大风险边界,必须先看 token、工具白名单、审批和日志。

两类 server

flowchart LR
    Codex["Codex"] --> Stdio["STDIO server"]
    Codex --> HTTP["Streamable HTTP server"]
    Stdio --> Local["local command"]
    HTTP --> Remote["remote service"]

STDIO servers 作为本地进程运行,由命令启动。适合本机文档、浏览器、开发工具或需要本地环境的集成。

Streamable HTTP servers 通过地址访问,适合远程托管系统。它们可以使用 bearer token,也可以走 OAuth。服务器支持 OAuth 时,用:

codex mcp login <server-name>

配置位置

Codex 把 MCP 配置和其他配置一起放在 config.toml

~/.codex/config.toml

项目级配置可以放在:

.codex/config.toml

项目级配置只会在 trusted projects 中加载。CLI 和 IDE extension 共享配置,配好后不用重复设置。

用 CLI 管理

添加 STDIO server:

codex mcp add <server-name> --env VAR=VALUE -- <stdio server-command>

示例:

codex mcp add context7 -- npx -y @upstash/context7-mcp

查看命令:

codex mcp --help

TUI 中用 /mcp 查看 active MCP servers。

用 config.toml 管理

每个 server 使用 [mcp_servers.<server-name>] table。

STDIO server 常见字段:

  • command
  • args
  • env
  • env_vars
  • cwd
  • experimental_environment

HTTP server 常见字段:

  • url
  • bearer_token_env_var
  • http_headers
  • env_http_headers

通用控制项:

  • startup_timeout_sec
  • tool_timeout_sec
  • enabled
  • required
  • enabled_tools
  • disabled_tools

OAuth callback 需要固定端口或 URL 时,再配置 mcp_oauth_callback_portmcp_oauth_callback_url

最小样例

[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env_vars = ["LOCAL_TOKEN"]

HTTP server:

[mcp_servers.docs]
url = "https://example.com/mcp"
bearer_token_env_var = "DOCS_MCP_TOKEN"
enabled_tools = ["search", "read"]

不要把 token 直接写进配置。用环境变量、secret store 或系统凭据管理。

选择 MCP server

常见选择:

  • OpenAI Docs MCP:搜索和阅读 OpenAI developer docs。
  • Context7:连接开发者文档。
  • Figma:访问 Figma designs。
  • Playwright:控制和检查浏览器。
  • Chrome Developer Tools:检查 Chrome。
  • Sentry:访问 production error context。
  • GitHub:管理 pull requests、issues 和 review data。

优先接只读工具。写入型工具必须先定义审批、日志和回滚方式。

验收清单

  • server 能启动或认证成功。
  • token 不在仓库、日志和 prompt 中出现。
  • enabled_tools / disabled_tools 收窄到任务需要。
  • timeout 合理,失败时能定位是启动、认证还是工具调用问题。
  • 项目级 MCP 只在 trusted project 中加载。
  • 外部工具输出被当作不可信输入处理。

官方资料

本页目录