﻿---
title: "Context7 MCP 跟 Learn 示例走 stdio，密钥不要写进 args"
summary: "Learn 免费入门：codex mcp add context7 -- npx -y @upstash/context7-mcp。厂商页的 --api-key、startup_timeout_ms、字面量 http_headers 不要抄。Cloud 不读这份 config.toml。"
category: mcp
level: starter
surfaces: [cli, app, ide]
tags: ["MCP", "Context7", "stdio", "env_vars"]
canonical: /tips/mcp-context7/
---

# 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 要把命令写在 `--` 后面：

```bash
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）：

```toml
[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：

```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 的 `mcpServers` JSON。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 要在网页环境的工具里单独加。改完新开会话。

## 来源

- [OpenAI · Model Context Protocol](https://learn.chatgpt.com/docs/extend/mcp)
- [Context7 · Codex](https://context7.com/docs/clients/codex)
- [upstash/context7](https://github.com/upstash/context7)
