关于 Codex Mcp Server
Codex MCP Server 是一个 MCP 服务,将 Claude、Cursor 等 AI 助手连接到 OpenAI Codex CLI,用于代码分析、审查与重构。它面向需要在 MCP 客户端中调用 Codex CLI 的开发者,支持多轮会话与沙箱化编辑。
主要功能
- 01通过 @ 引用文件进行代码分析
- 02多轮会话与工作区隔离
- 03沙箱模式与审批策略控制
- 04OLD/NEW 结构化补丁输出
- 05支持 Ollama 与 LM Studio 本地模型
- 06批量执行与执行后验证修复
适用场景
- 01让 Claude 或 Cursor 分析项目架构与依赖
- 02对代码变更进行非交互式审查
- 03以结构化补丁方式批量重构代码
MCP 相关
该服务以 MCP 服务形式运行,向 MCP 客户端暴露 ask-codex、review-changes、do-act 等工具,并通过 Codex CLI 执行实际操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @trishchuk/codex-mcp-toolCODEX_MCP_CWDOverride working directory for all tool callsCODEX_SESSION_TTL_MSSession time-to-live in milliseconds (default: 86400000 = 24h)CODEX_MAX_SESSIONSMaximum concurrent sessions (default: 50)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
13收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| prompt | string | 是 | 任务或问题。使用 @ 包含文件(例如,'@largefile.ts explain')。 |
| model | string | 否 | 可选的模型覆盖值。已知模型:gpt-5.6、gpt-5.6-sol、gpt-5.6-terra、gpt-5.6-luna、gpt-5.5、gpt-5.4、gpt-5.4-mini。如果省略,则使用 Codex CLI 的默认模型(~/.codex/config.toml)。仅在需要覆盖时指定。 |
| sandbox | boolean | 否 | 快速自动化模式:启用 workspace-write,并将 approval 设为 never。沙箱仍保持启用。 |
| fullAuto | boolean | 否 | 兼容性别名,等同于 workspace-write 且 approval=never(不是 --yolo) |
| approvalPolicy | enum | 否 | 审批策略:never、on-request、untrustednever | on-request | untrusted |
| approval | enum | 否 | 审批策略:untrusted、on-request、nevernever | on-request | untrusted |
| sandboxMode | enum | 否 | 访问权限:read-only、workspace-write、danger-full-accessread-only | workspace-write | danger-full-access |
| yolo | boolean | 否 | ⚠️ 绕过所有安全保护(危险) |
| cd | string | 否 | 工作目录 |
| workingDir | string | 否 | 执行时使用的工作目录 |
| changeMode | boolean | 否 | 返回用于重构的结构化 OLD/NEW 编辑内容 |
| chunkIndex | number | 否 | 分块索引(从 1 开始) |
| chunkCacheKey | string | 否 | 用于继续操作的缓存键 |
| image | any | 否 | 要随提示词一并包含的可选图像文件路径 |
| config | any | 否 | 配置覆盖项,格式为 'key=value' 字符串或对象 |
| profile | string | 否 | 要从 ~/.codex/config.toml 使用的配置文件 |
| timeout | number | 否 | 最长执行时间(毫秒,可选) |
| includeThinking | boolean | 否 | 在响应中包含推理/思考部分 |
| includeMetadata | boolean | 否 | 在响应中包含配置元数据 |
| search | boolean | 否 | 使用原生 --search 标志启用网络搜索(v0.52.0+)。需要网络访问;如果未指定,则自动将沙箱设置为 workspace-write。 |
| oss | boolean | 否 | 使用本地 Ollama 服务(便于设置 -c model_provider=oss)。需要 Ollama 在本地运行。如果未指定,则自动将 sandbox 设置为 workspace-write。 |
| localProvider | enum | 否 | 指定要使用的本地提供方(lmstudio 或 ollama)。如果未设置,则自动启用 --oss。如果省略此项但指定了 --oss,则使用配置默认值或显示选择界面。lmstudio | ollama |
| enableFeatures | array | 否 | 启用功能标志(可重复)。等同于 -c features.<name>=true |
| disableFeatures | array | 否 | 禁用功能标志(可重复)。等同于 -c features.<name>=false |
| addDirs | array | 否 | 工作区之外的其他可写目录(例如,["/tmp", "/var/log"])。适用于单体仓库和多目录项目。 |
| toolOutputTokenLimit | number | 否 | 工具输出的最大 token 数(100–10,000)。控制响应详略程度。 |
| reasoningEffort | enum | 否 | 推理深度。省略时使用 CLI 默认值。max/ultra 是因模型而异的 GPT-5.6 选项;ultra 可能会委派给子 Agent。low | medium | high | xhigh | max | ultra |
| sessionId | string | 否 | 用于保持对话连续性的会话 ID。启用 Codex 原生恢复功能。 |
| resetSession | boolean | 否 | 执行前清除会话上下文。开始全新对话。 |
| outputSchema | any | 否 | 用于约束输出格式的 JSON Schema 路径或内联 Schema(Codex CLI v0.95.0+) |
| personality | enum | 否 | 沟通风格:务实(简洁、便于机器处理)或友好(对话式)。Codex CLI v0.94.0+pragmatic | friendly |
| skipGitRepoCheck | boolean | 否 | 跳过 Git 仓库验证。适用于非 Git 目录(Codex CLI v0.75.0+) |
| outputLastMessage | string | 否 | 将 Codex 最终消息写入文件路径。适用于捕获 CI/CD 结果(Codex CLI v0.95.0+) |
| strictConfig | boolean | 否 | 当 config.toml 包含已安装 Codex CLI 不识别的字段时,执行失败 |
| ephemeral | boolean | 否 | 运行时不将 Codex 会话文件持久化到磁盘 |
| ignoreUserConfig | boolean | 否 | 本次运行忽略 $CODEX_HOME/config.toml;仍会加载身份验证信息 |
| ignoreRules | boolean | 否 | 本次运行忽略用户和项目的 execpolicy .rules 文件 |
| bypassHookTrust | boolean | 否 | 危险:在未持久化钩子信任的情况下运行已启用的钩子 |
| responseMode | enum | 否 | 响应详细程度:"clean" 仅返回最终答案(默认值);"full" 返回完整执行日志,包括思考过程、工具调用和 Agent 活动clean | full |
详细介绍
Codex MCP Server
连接 Claude/Cursor 与 Codex CLI 的 MCP 服务。支持通过 @ 文件引用进行代码分析、多轮对话、沙箱编辑以及结构化变更模式。
功能特性
- 文件分析 — 使用
@src/、@package.json语法引用文件 - 多轮会话 — 借助工作区隔离实现对话连续性
- 原生恢复 — 使用
codex resume保留上下文(CLI v0.36.0+) - 本地开源模型 — 通过
localProvider使用 Ollama 或 LM Studio 运行 - 网络搜索 — 通过
search: true启用研究能力 - 沙箱模式 — 借助显式沙箱与审批策略实现安全自动化
- 变更模式 — 为重构提供结构化 OLD/NEW 补丁输出
- 头脑风暴 — SCAMPER、设计思维、横向思维框架
- 健康诊断 — CLI 版本、功能与会话监控
- 跨平台 — 全面支持 Windows、macOS、Linux
快速开始
claude mcp add codex-cli -- npx -y @trishchuk/codex-mcp-tool
前置条件: Node.js 18+、已安装并完成认证的 Codex CLI。
配置
{
"mcpServers": {
"codex-cli": {
"command": "npx",
"args": ["-y", "@trishchuk/codex-mcp-tool"]
}
}
}
配置位置: macOS:~/Library/Application Support/Claude/claude_desktop_config.json | Windows:%APPDATA%\Claude\claude_desktop_config.json
使用示例
// File analysis
'explain the architecture of @src/';
'analyze @package.json and list dependencies';
// With specific model
'use codex with model gpt-5.6-sol to analyze @algorithm.py';
// Multi-turn conversations (v1.4.0+)
'ask codex sessionId:"my-project" prompt:"explain @src/"';
'ask codex sessionId:"my-project" prompt:"now add error handling"';
// Brainstorming
'brainstorm ways to optimize CI/CD using SCAMPER method';
// Sandbox mode
'use codex sandbox:true to create and run a Python script';
// Web search
'ask codex search:true prompt:"latest TypeScript 5.7 features"';
// Local OSS model (Ollama)
'ask codex localProvider:"ollama" model:"qwen3:8b" prompt:"explain @src/"';
工具
| 工具 | 描述 |
|---|---|
ask-codex | 使用文件、模型、会话和安全控制执行 Codex CLI |
batch-codex | 按顺序或并发运行多个原子 Codex 任务 |
review-changes | 运行原生非交互式 Codex 审查命令 |
do-act | 执行、通过 shell 命令验证,并重试修复 |
image-gen | 使用 Codex 内置的 image_gen 工具生成或编辑图像 |
brainstorm | 使用结构化创意框架生成想法 |
list-sessions | 查看、删除或清除 MCP 对话映射 |
list-skills | 列出所选工作区中可见的技能 |
health | 诊断 CLI 安装、版本、功能和会话 |
fetch-chunk | 从缓存的变更模式输出中获取一个分块 |
ping | 测试 MCP 连接 |
help | 返回当前的 codex --help 输出 |
version | 报告 Codex CLI、Node.js、平台和软件包版本 |
timeout-test | 测试保活和超时行为 |
图像生成
image-gen 驱动 Codex 内置的 image_gen 工具,因此它会使用你的 ChatGPT 登录信息,且不需要 OPENAI_API_KEY。该工具只接受提示词和参考图像路径:由 Codex 选择图像模型和像素尺寸,并且没有尺寸、质量、格式或蒙版参数。因此,image-gen 将所有引导信息都放入一个结构化提示词中(用例、资产类型、风格、构图、确切文本、参考角色、编辑不变量、宽高比、预设),并指示 Codex 宿主模型转发该提示词,而不是即兴发挥。
// New image, 16:9, exact Cyrillic headline, copied into the project
'image-gen prompt:"YouTube cover about AI coding agents" aspect:"wide" text:"АГЕНТИ БЕЗ ХАОСУ" presets:["thumbnail","exact-text"] outputPath:"assets/cover.png"';
// Edit: change only the headline, keep everything else
'image-gen editImage:"assets/cover.png" prompt:"Replace the headline text" text:"ЧАСТИНА 2" preserve:["people and background"] outputPath:"assets/cover.png"';
图像由 Codex 保存在 $CODEX_HOME/generated_images/<thread>/ 下,并在提供 outputPath 时复制到该路径;如果文件已存在则保留原文件,并将副本写为带 -v2 后缀的同级文件,除非设置 overwrite: true。结果会报告每个文件的尺寸和 alpha 通道,因此如果 transparentBackground 请求返回的是不透明图像,就会被标记出来。
模型
默认情况下,model 参数会被省略,Codex CLI 会应用你 ~/.codex/config.toml 中的默认模型(例如 model = "gpt-6.1-sol")。仅当你需要为单次调用覆盖已配置的默认值时才传入 model。推理深度按工具进行校准:
ask-codex— 使用 Codex CLI 默认推理(medium)。仅当任务需要更多规划或检查时才提高它。brainstorm、do-act、review-changes— 默认reasoningEffort: "high"(创意构思、执行-检查-修复循环以及代码审查都能从更深入的推理中受益)。
| 模型 | 建议 |
|---|---|
gpt-6.1-sol | 用于编码和日常工作 的最新主力模型(CLI 0.159+) |
gpt-6-astra | 面向最高要求工作的前沿智能 |
gpt-6-sol | 上一代主力模型 |
gpt-6-luna | 快速且经济;适合更简单、可重复的任务 |
gpt-5.6-sol | 较老一代主力模型 |
gpt-5.6-terra | 面向简单工作的较老平衡模型 |
gpt-5.6-luna | 较老的快速、高效模型 |
gpt-5.5 | 旧版 — Codex 会引导调用方使用 gpt-5.6-sol |
Sol、Astra 和 Terra 模型暴露 max 和 ultra 推理;Luna 模型最高到 max,而 gpt-5.5 最高到 xhigh。ultra 可能会将工作委派给子 Agent;大多数任务应保持在 medium 或 high。传入具体的 slug — 裸的动态别名 gpt-6 和 gpt-5.6 会被 API 拒绝。gpt-6.1-sol 会被 Codex CLI 0.157.x 拒绝,并返回与未知 slug 相同的 400;请使用 npm install -g @openai/codex@latest 升级。
主要特性
会话管理(v1.4.0+)
具有工作区隔离的多轮对话:
{ "prompt": "analyze code", "sessionId": "my-session" }
{ "prompt": "continue from here", "sessionId": "my-session" }
{ "prompt": "start fresh", "sessionId": "my-session", "resetSession": true }
环境变量:
CODEX_SESSION_TTL_MS- 会话 TTL(默认:24h)CODEX_MAX_SESSIONS- 最大会话数(默认:50)
Codex CLI 版本
需要 Codex CLI 0.95.0 或更新版本。在较旧版本上,服务会失败并给出明确的升级消息,而不是静默丢弃不支持的标志。使用 npm install -g @openai/codex@latest 升级;运行 health 工具可查看检测到的版本。
故障排除:“codex not found”
从 GUI(Dock、Finder、开始菜单)启动的 MCP 客户端会继承一个最小化的 PATH,其中不包含 Homebrew、nvm 和 volta 目录,因此 codex 可能在终端中可用,但在应用中不可用。服务会自动搜索这些位置;如果仍然找不到 CLI,请显式固定它:
{ "env": { "CODEX_CLI_PATH": "/opt/homebrew/bin/codex" } }
使用 which codex 找到该值。运行 health 工具可查看解析到了哪个可执行文件以及如何解析的。
本地 OSS 模型(v1.6.0+)
使用本地 Ollama 或 LM Studio 运行,而不是 OpenAI:
// Ollama
{ "prompt": "analyze @src/", "localProvider": "ollama", "model": "qwen3:8b" }
// LM Studio
{ "prompt": "analyze @src/", "localProvider": "lmstudio", "model": "my-model" }
// Auto-select provider
{ "prompt": "analyze @src/", "oss": true }
要求: 本地运行 Ollama,并使用支持工具调用的模型(例如 qwen3:8b)。
高级选项
| 参数 | 描述 |
|---|---|
model | 模型选择 |
sessionId | 启用对话连续性 |
sandbox | 兼容性自动化:workspace-write + never |
search | 启用网页搜索 |
changeMode | 结构化 OLD/NEW 编辑 |
addDirs | 额外的可写目录 |
toolOutputTokenLimit | 限制响应详细程度(100-10,000) |
reasoningEffort | low、medium、high、xhigh、max、ultra |
oss | 使用本地 OSS 模型提供方 |
localProvider | 本地提供方:lmstudio 或 ollama |
strictConfig | 遇到未知的 Codex 配置键时报错 |
ephemeral | 不持久化 Codex 会话文件 |
ignoreUserConfig | 忽略 $CODEX_HOME/config.toml |
ignoreRules | 忽略 execpolicy .rules 文件 |
CLI 兼容性
已针对 Codex CLI 0.144.3 验证。服务保留了较旧功能的防护,
但建议使用当前版本。当前值得注意的行为:
- Codex CLI 已移除
--full-auto和审批策略on-failure。 - MCP
sandbox: true/fullAuto: true仍是--sandbox workspace-write --ask-for-approval never的兼容别名;它们不会绕过沙箱。 - 原生
--search在不再使用已弃用的web_search_request功能的情况下使用。 - 当前的
exec标志包括--strict-config、--ephemeral、--ignore-user-config和--ignore-rules。
故障排除
codex --version # Check CLI version
codex login # Authenticate
使用 health 工具进行诊断:'use health verbose:true'
迁移
v2.5.x → v2.6.0: Codex CLI 0.159.2 模型同步以及新的 image-gen 工具。
新增 gpt-6.1-sol(需要 Codex CLI 0.159+)、gpt-6-sol 和 gpt-6-luna。
破坏性变更: 移除了 gpt-5.4-mini,它现在会返回 HTTP 400。
v2.4.x → v2.5.0: Codex CLI 0.153.4 兼容性调整;新增
gpt-6-astra。破坏性变更: 移除了 gpt-5.4 和移动别名 gpt-5.6
(两者现在都会被拒绝并返回 HTTP 400),并移除了 untrusted 审批策略,
Codex CLI 0.153.x 不再解析该策略。
v2.3.x → v2.4.0: Codex CLI 0.144.3 兼容性审计;新增 GPT-5.6
Sol/Terra/Luna、max/ultra 推理、当前 exec 标志、仅原生搜索,
以及对已移除的 --full-auto 标志和 on-failure 审批策略的安全兼容处理。
v2.2.x → v2.3.0: gpt-5.5 成为新的默认模型,新增 gpt-5.4-mini,移除了已退役模型(gpt-5.3-codex-spark、gpt-5.2-codex、gpt-5.1-codex-max、gpt-5.1-codex-mini)。
v2.0.x → v2.1.0: gpt-5.4 成为新的默认模型,更新了回退链。
v1.5.x → v1.6.0: 本地 OSS 模型支持(localProvider、oss)、gpt-5.3-codex 默认模型、xhigh 推理强度。
v1.3.x → v1.4.0: 新增 sessionId 参数、list-sessions/health 工具、结构化错误处理。无破坏性变更。
许可证
MIT 许可证。与 OpenAI 无附属关系。
文档 | 问题 | 灵感来自 jamubc/gemini-mcp-tool
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。