【 Codex CLI windows终极解决方案 各类MCP支持】
本文提供了Windows系统下配置Codex CLI和各类MCP(模型上下文协议)的解决方案。针对常见的"program not found"、"request timed out"等错误,文章详细说明了TOML配置文件的正确格式和位置要求(C:\Users\用户名.codex\config.toml)。对于SSE/streamablehttp类MCP,指出直接配置存在的问题并提供解决方案。
问题分析
Windows 系统下 Model Context Protocol 配置本就需要技巧,而Codex使用非JSON
文件(.toml
)更是各类报错,本教程旨在分享自己解决问题的过程和方案,使得各类MCP完全适配Codex
常见错误:
program not found
- 程序未找到request timed out
- 请求超时newlines are unsupported in inline tables
- TOML 配置文件格式错误
TOML 格式要求不符、路径解析/环境变量存在问题、Windows 支持尚处实验不完全支持、网络/响应时长超时问题等均可导致!
配置文件位置
系统路径变量说明
- HOME: 用户主目录
- APPDATA: npm 全局包存储位置
- LOCALAPPDATA: npm 缓存目录
- SystemRoot: Windows 系统根目录
- admin:替换为实际的用户名
配置文件位置:
C:\Users\admin\.codex\config.toml
如果文件不存在,请先创建 .codex
目录和 config.toml
文件
Codex基础配置参考
model_provider = "openai"
model = "gpt-5-codex"
model_reasoning_effort = "high"
model_reasoning_format = "experimental"
search = "dangerously-bypass-approvals-and-sandbox"
disable_response_storage = true
[model_providers.openai]
name = "openai"
base_url = "https://文末官转请求地址/v1"
wire_api = "responses"
requires_openai_auth = true
非服务器发送事件类MCP
Playwright和SequentialThinking等
[mcp_servers.PlaywrightMCP]
type = "stdio"
command = "cmd"
args = ["/c", "npx", "-y", "@playwright/mcp@latest"]
startup_timeout_ms = 180000
env = { APPDATA = "C:\\Users\\admin\\AppData\\Roaming", LOCALAPPDATA = "C:\\Users\\admin\\AppData\\Local", HOME = "C:\\Users\\admin", SystemRoot = "C:\\Windows", NODE_OPTIONS = "--dns-result-order=ipv4first" }
[mcp_servers.SequentialThinking]
type = "stdio"
command = "cmd"
args = ["/c", "npx", "-y", "@modelcontextprotocol/server-sequential-thinking"]
startup_timeout_ms = 180000
env = { APPDATA = "C:\\Users\\admin\\AppData\\Roaming", LOCALAPPDATA = "C:\\Users\\admin\\AppData\\Local", HOME = "C:\\Users\\admin", SystemRoot = "C:\\Windows", NODE_OPTIONS = "--dns-result-order=ipv4first" }
要点:
- 使用
cmd
作为command
admin
替换为实际的用户名echo %USERNAME%
可查看用户名NODE_OPTIONS = "--dns-result-order=ipv4first"
为避免网络问题startup_timeout_ms = 180000
防止超时
context7等带API-KEY类
[mcp_servers.context7]
type = "stdio"
command = "cmd"
args = ["/c", "npx", "-y", "@upstash/context7-mcp", "--api-key", "your-context7-api-key"]
startup_timeout_ms = 120000
env = { APPDATA = "C:\\Users\\admin\\AppData\\Roaming", LOCALAPPDATA = "C:\\Users\\admin\\AppData\\Local", HOME = "C:\\Users\\admin", SystemRoot = "C:\\Windows", NODE_OPTIONS = "--dns-result-order=ipv4first" }
[mcp_servers.supabase]
type = "stdio"
command = "cmd"
args = ["/c", "npx", "-y", "@supabase/mcp-server-supabase@latest", "--read-only", "--project-ref=your-project-ref"]
startup_timeout_ms = 120000
env = { APPDATA = "C:\\Users\\Administrator\\AppData\\Roaming", LOCALAPPDATA = "C:\\Users\\Administrator\\AppData\\Local", HOME = "C:\\Users\\Administrator", SystemRoot = "C:\\Windows", NODE_OPTIONS = "--dns-result-order=ipv4first", SUPABASE_ACCESS_TOKEN = "your-supabase-access-token" }
- 其余要点同上
- 将
your-context7-api-key
和your-supabase-access-token
替换为你的API-KEY以及token - 注意
[mcp_servers.context7]
的格式 - context7是一个上下文记忆和管理的 MCP 服务器
LibSQL 数据库类
[mcp_servers.mcp-memory-libsql]
type = "stdio"
command = "cmd"
args = ["/c", "npx", "-y", "mcp-memory-libsql"]
startup_timeout_ms = 180000
[mcp_servers.mcp-memory-libsql.env]
LIBSQL_URL = "libsql://your-database-name.turso.io"
LIBSQL_AUTH_TOKEN = "your-actual-libsql-auth-token"
APPDATA = "C:\\Users\\admin\\AppData\\Roaming"
LOCALAPPDATA = "C:\\Users\\admin\\AppData\\Local"
HOME = "C:\\Users\\admin"
SystemRoot = "C:\\Windows"
NODE_OPTIONS = "--dns-result-order=ipv4first"
- 其余要点同上
- 必须使用真实的 Turso 数据库URL(如:
your-db-name.turso.io
) 和认证令牌(非示例令牌),占位符 URL 会导致连接失败 - 保证能访问 Turso 数据库
sse/streamablehttp解决方案
问题分析
以魔搭社区的MCP服务器为例
直接配置不行 例如
报错例如 PS D:\Projects\musickm> codex Error loading configuration: missing field command in mcp_servers.12306-mcp
分析:
- Codex CLI 的 MCP 配置要求:在 ~/.codex/config.toml(或项目本地 .codex/config.toml)中,MCP 服务器默认期望是本地可执行进程,因此需要 command(启动命令)、args(参数)和可选的 env(环境变量)。它不支持直接的 type = “sse” 或远程 URL。
- 解决方案核心:安装 mcp-proxy,它作为一个本地进程运行,代理远程 SSE 请求。然后在 Codex 配置中将 mcp-proxy 配置为本地 MCP 服务器。
解决步骤
步骤一 安装 mcp-proxy
mcp-proxy 是一个开源工具(GitHub: sparfenyuk/mcp-proxy),用于桥接 SSE 和 STDIO。
- 推荐安装方式(使用 uv 或 pipx,确保隔离环境):
- 如果有 uv(推荐,Rust-based Python 工具管理器)
uv tool install mcp-proxy
- 或者使用 pipx:
pipx install mcp-proxy
- 验证安装:
mcp-proxy --help
如果命令不存在,检查 PATH 环境变量,或使用全路径(Windows: where.exe mcp-proxy)。
- 如果安装失败:确保 Python 3.8+ 已安装。如果使用 conda 或 virtualenv,可以先激活环境再安装。
步骤二 找到mcp-proxy.exe
我的在C:\Users\admin\AppData\Roaming\uv\tools\mcp-proxy\Scripts\
路径下
- 添加以上路径到环境变量“控制面板”->“系统和安全”->“系统”->“高级系统设置”->“环境变量”
- 确保你的cmd能运行命令
mcp-proxy
步骤三 编写配置文件
保险起见,找到mcp-proxy.exe
后复制路径,结合之前的配置优化:
SSE:
[mcp_servers.amap-maps]
type = "sse"
command = "C:\\Users\\admin\\AppData\\Roaming\\uv\\tools\\mcp-proxy\\Scripts\\mcp-proxy.exe"
args = ["--transport", "sse", "https://mcp.api-inference.modelscope.net/your-modelscope-sse-api/sse"]
startup_timeout_ms = 180000
env = { APPDATA = "C:\\Users\\admin\\AppData\\Roaming", LOCALAPPDATA = "C:\\Users\\admin\\AppData\\Local", HOME = "C:\\Users\\admin", SystemRoot = "C:\\Windows", NODE_OPTIONS = "--dns-result-order=ipv4first" }
https://mcp.api-inference.modelscope.net/your-modelscope-sse-api/sse
替换为你实际的魔搭社区SSE服务器链接C:\\Users\\admin\\AppData\\Roaming\\uv\\tools\\mcp-proxy\\Scripts\\mcp-proxy.exe
替换为你mcp-proxy.exe
实际路径- 其余配置同上
streamablehttp:
[mcp_servers.chrome-mcp-server]
type = "streamablehttp"
command = "C:\\Users\\admin\\AppData\\Roaming\\uv\\tools\\mcp-proxy\\Scripts\\mcp-proxy.exe"
args = ["--transport", "streamablehttp", "http://127.0.0.1:12306/mcp"]
disabled = false
startup_timeout_ms = 180000
C:\\Users\\admin\\AppData\\Roaming\\uv\\tools\\mcp-proxy\\Scripts\\mcp-proxy.exe
替换为你mcp-proxy.exe
实际路径http://127.0.0.1:12306/mcp
你实际chrome-mcp-server
的响应地址- 其余配置同上
验证
启动codex后使用/mcp
即可验证 需等待MCP服务器连接验证(没有问题的话很快就会显示)
最终方案
如果以上配置还是无效
🐧使用 WSL
Windows Subsystem for Linux 是官方推荐的解决方案,完全兼容 Linux 环境,配置更简单:
# 在 PowerShell 中运行(管理员权限)
wsl --install
# 安装完成后,在 WSL 中安装 Codex CLI
npm install -g @openai/codex
🐳 使用 Docker
环境隔离,避免系统配置问题。通过 Docker 容器运行 Codex CLI:
# 创建 Dockerfile
FROM node:18-alpine
RUN npm install -g @openai/codex
WORKDIR /app
CMD ["codex"]
推荐高性价比官转(不降智版)
参考链接Codex不降智高性价比优惠活动
1.不降智响应快 支持MCP
2.low/medium/high不分别计价 不玩用量倍率套路 输入$0.1250/M 输出$1.0000/M
3.1RMB等于1刀 0.1倍率相当 等价于1R=10刀
更多推荐
所有评论(0)