Context7 MCP 跟 Learn 示例走 stdio,密钥不要写进 args
Learn 免费入门:codex mcp add context7 -- npx -y @upstash/context7-mcp。厂商页的 --api-key、startup_timeout_ms、字面量 http_headers 不要抄。Cloud 不读这份 config.toml。
Learn 的 MCP 页用 Context7 当 stdio 示例。CLI 要把命令写在 -- 后面:
codex mcp add context7 -- npx -y @upstash/context7-mcp
免费额度不强制 API key。codex mcp get context7 --json 应看到传输是 stdio、命令是 npx、参数里是 @upstash/context7-mcp。冷 npx 把 startup_timeout_sec 提到 20。
要提高限额时,密钥从启动 Codex 的进程转发,不要写进 args(会进进程列表和 config):
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env_vars = ["CONTEXT7_API_KEY"]
startup_timeout_sec = 20
enabled = true
远程托管也可以,地址是 https://mcp.context7.com/mcp。用 bearer_token_env_var,不要把 token 写进 TOML:
[mcp_servers.context7]
url = "https://mcp.context7.com/mcp"
bearer_token_env_var = "CONTEXT7_API_KEY"
enabled = true
不要做这些:
- 不要抄厂商 Codex 页里的
args带--api-key,也不要把startup_timeout_ms = 20_000当主键。现行键是startup_timeout_sec。 - 不要把
Authorization: Bearer …或CONTEXT7_API_KEY字面量写进http_headers。HTTP 走bearer_token_env_var,自定义头走env_http_headers。 - 不要贴 Claude / Cursor 的
mcpServersJSON。Codex 写~/.codex/config.toml。 - 不要给这台
required = true挂全局。文档检索不是每条会话都要的依赖。 - 不要给这台 stdio 再写
--port当 HTTP。已经在跑的托管服务才用上面的url。 - 不要把 Windows 的
npx.cmd+SystemRoot抄进 WSL。原生 Windows 超时见启动超时那条。 - 不要写
args里的${CONTEXT7_API_KEY}。TOML 占位符不会展开;stdio 靠服务器读环境,名字必须先出现在env_vars。
npx ctx7 setup --codex 会改 config.toml 和 AGENTS.md。提交前自己审 diff,不要当成静默的官方唯一路径。插件备选是 codex plugin marketplace add upstash/context7,再 codex plugin add context7@context7-marketplace,然后新开线程。这不比 Learn 的 mcp add 更「官方」。
厂商文宣称 CLI / 桌面 / IDE / Cloud 共用 ~/.codex/config.toml。本站已核对:网页 Work / Cloud 不读这份文件。Cloud 要在网页环境的工具里单独加。改完新开会话。