Stripe MCP 用 mcp.stripe.com 再 login,不要抄本地 --api-key

CLI:codex mcp add stripe --url https://mcp.stripe.com,再 mcp login stripe。官方页只示范 TOML。受限密钥走 bearer_token_env_var。不要和 OAuth 混用,也不要把 sk_live 写进 TOML。

Stripe 官方给 Codex CLI 的是远程 Streamable HTTP,地址是 https://mcp.stripe.com没有 /mcp 后缀。官方页只示范了写 ~/.codex/config.toml,CLI 也可以一次加完:

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

首选 OAuth。codex mcp login stripe 会开 Stripe 授权页;之后可在 Dashboard 的 OAuth sessions 里撤销。公司网络拦了外部 MCP 时,让 IT 放行 mcp.stripe.com

受限 API key 是备选,不要和已经 login 的 OAuth 写在同一张表:

[mcp_servers.stripe]
url = "https://mcp.stripe.com"
bearer_token_env_var = "STRIPE_API_KEY"
enabled = true

键里填的是变量。变量必须在启动 Codex 的那个进程里,桌面从 Dock 开不会读你刚 export 的终端。不要把 sk_live / rk_live 字面量写进 TOML 或 http_headers

Connect 平台要代 connected account 做事时,官方写明 MCP 不能用 OAuth 代表那个账号。改用平台受限密钥,再用 Stripe-Account 头。Codex 自定义头走 env_http_headers,右边仍是变量名:

[mcp_servers.stripe]
url = "https://mcp.stripe.com"
bearer_token_env_var = "STRIPE_API_KEY"
enabled = true

[mcp_servers.stripe.env_http_headers]
Stripe-Account = "STRIPE_ACCOUNT"

不要做这些:

  • 不要抄 Claude 的 claude mcp add --transport http,也不要抄它的 --header Authorization: Bearer
  • 不要把本地 npx -y @stripe/mcp --api-key 当成 Codex 默认。那是另一台 stdio 服务器;密钥不要写进 args
  • 不要把 stripe agent setup / ChatGPT 里的 Stripe 插件写成「必须先装才能用这条 MCP」。那是厂商插件路径,会顺带装 skills;本条主路径就是远程 URL。
  • 不要给它 required = true 挂全局。支付写入不是每条会话都要的依赖。
  • 不要抄 /sse,也不要给 stdio 写 --port
  • 写类工具(退款、出金)Stripe 会要求人点确认链接;批准后还要让模型重试那一次。错误正文和确认页都可能带提示注入,保持工具批准,不要一上来 --yolo

网页 Cloud 不读 ~/.codex/config.toml。改完新开会话,用 codex mcp get stripe 看传输是 streamable_http。

来源