问题分析

原文阅读体验更佳

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-keyyour-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

分析:

  1. Codex CLI 的 MCP 配置要求:在 ~/.codex/config.toml(或项目本地 .codex/config.toml)中,MCP 服务器默认期望是本地可执行进程,因此需要 command(启动命令)、args(参数)和可选的 env(环境变量)。它不支持直接的 type = “sse” 或远程 URL。
  2. 解决方案核心:安装 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\路径下

  1. 添加以上路径到环境变量“控制面板”->“系统和安全”->“系统”->“高级系统设置”->“环境变量”
    1. 确保你的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刀

Logo

更多推荐