CircleCI 在 Codex 里先装插件,托管 MCP 才是 mcp.circleci.com/v1/mcp

Codex 主路径是 /plugins 装 CircleCI,并先 circleci auth login。跨工具才用 codex mcp add circleci --url https://mcp.circleci.com/v1/mcp 再 mcp login。不要装已弃用的 npx @circleci/mcp-server-circleci,也不要和 Circle 支付 MCP 搞混。

CircleCI 官方给 Codex 的主路径是插件,不是本地 npx 包。先装 CLI 并登录(浏览器授权,凭证进系统钥匙串,不必手拷 PAT):

brew install circleci
circleci auth login
circleci auth me

然后在 Codex 会话里打开 /plugins,目录里找 CircleCI,安装后新开会话。技能要新会话才加载。用自然语言即可,不必每句都 @circleci

  • 检查最近一次 pipeline
  • 审查本仓库的 CircleCI 配置(底层是 circleci config validate
  • 诊断最近一次失败构建

多数命令从当前 git remote / 分支推断项目。组织 slug 是 circleci/ 而不是 gh/ 时,在仓库里再跑 circleci project link。网页「Copy Fix Prompt」会复制一段带 run UUID 和 --failure-report 的提示,直接贴进 Codex;不要把那段 UUID 写进 config.toml

跨编辑器、或只要远程 MCP 时,托管地址是 Streamable HTTP:

codex mcp add circleci --url https://mcp.circleci.com/v1/mcp
codex mcp login circleci
[mcp_servers.circleci]
url = "https://mcp.circleci.com/v1/mcp"
enabled = true

服务器名用 circleci,不要抄 Claude 文档里的 circleci-mcp-server。CI 不能开浏览器时,用个人 API token 走 bearer_token_env_var(CLI 环境变量名是 CIRCLE_TOKEN),不要把 Authorization: Bearer 写进 http_headers

[mcp_servers.circleci]
url = "https://mcp.circleci.com/v1/mcp"
bearer_token_env_var = "CIRCLE_TOKEN"
enabled = true

不要和已经 mcp login 的 OAuth 写在同一张表。变量必须在启动 Codex 的那个进程里。

本机 CLI MCP(circleci mcp start)官方 enable 列表只有 Claude / Cursor / VS Code,没有 circleci mcp codex enable。硬要 stdio 时自己 codex mcp add circleci -- circleci mcp start,仍先 circleci auth login

不要做这些:

  • 不要装 npx -y @circleci/mcp-server-circleci。官方已弃用;旧文里的 CIRCLECI_TOKEN + env 表不要抄。
  • 不要抄 Claude 的 --transport httpmcpServers JSON。
  • 不要和 Circle(circle.com 支付 / 链上)那台 api.circle.com MCP 搞混。那是另一家。
  • 不要给它 required = true 挂全局。
  • 不要一上来 --yolo。触发 pipeline、重跑工作流都是写操作。

网页 Cloud 不读 ~/.codex/config.toml。改完新开会话。用 codex mcp get circleci 看传输是 streamable_http。插件不生效时先确认 circleci versioncircleci auth me

来源