codex-mcp-server
An open-source MCP server that connects your IDE or AI assistant to the Codex CLI, enabling non-interactive automation with codex exec, safe sandboxed edits with approvals, and large-scale code analysis via @ file references.
README
Codex MCP Tool
<div align="center">
</div>
Codex MCP Tool is an open‑source Model Context Protocol (MCP) server that connects your IDE or AI assistant (Claude, Cursor, etc.) to the Codex CLI. It enables non‑interactive automation with codex exec, safe sandboxed edits with approvals, and large‑scale code analysis via @ file references. Built for reliability and speed, it streams progress updates, supports structured change mode (OLD/NEW patch output), and integrates cleanly with standard MCP clients for code review, refactoring, documentation, and CI automation.
Latest Release (v1.3.8): Fixed empty
ask-codexresponses, improved Codex CLI transcript parsing, and repaired release packaging so npm/marketplace updates publish correctly. See changelog
- Ask Codex questions from your MCP client, or brainstorm ideas programmatically.
<a href="https://glama.ai/mcp/servers/@etheaven/codex-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@etheaven/codex-mcp-server/badge" alt="Codex Tool MCP server" /> </a>
TLDR:
+ Codex CLI
Goal: Use Codex directly from your MCP-enabled editor to analyze and edit code efficiently.
Prerequisites
Before using this tool, ensure you have:
✅ Cross-Platform Support: Fully tested and working on Windows, macOS, and Linux (v1.2.4+)
Install via Claude Code Marketplace (Recommended)
In Claude Code, run:
/plugin marketplace add etheaven/codex-mcp-server
/plugin install codex-mcp-server@codex-mcp-server
Alternative: CLI Setup
claude mcp add codex-cli -- npx -y @etheaven/codex-mcp-server
Verify Installation
Type /mcp inside Claude Code to verify the Codex MCP is active.
Configuration
Claude Desktop
Add to your Claude Desktop config file:
{
"mcpServers": {
"codex-cli": {
"command": "npx",
"args": ["-y", "@etheaven/codex-mcp-server"]
}
}
}
Config file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json
Global Installation
npm install -g @etheaven/codex-mcp-server
Then use "command": "codex-mcp" instead of the npx approach.
After updating configuration, restart your terminal session.
Example Workflow
- Natural language: "use codex to explain index.html", "understand this repo with @src", "look for vulnerabilities and suggest fixes"
- Claude Code: Type
/codex-clito access the MCP server tools.
Usage Examples
Model Selection
// Use the default model (gpt-5.4)
'explain the architecture of @src/';
// Use gpt-5.3-codex for complex coding tasks
'use codex with model gpt-5.3-codex to refactor @legacy-code.js';
// Use gpt-5.4 with high reasoning for deep analysis
'use codex with model gpt-5.4 and reasoning high to analyze complex algorithm in @algorithm.py';
// Use o4-mini for quick tasks
'use codex with model o4-mini to add comments to @utils.js';
// Use o3 for deep reasoning
'use codex with model o3 to design microservices architecture for @requirements.md';
// Use gpt-5-mini for cost-effective tasks
'use codex with model gpt-5-mini to summarize @README.md';
With File References (using @ syntax)
ask codex to analyze @src/main.ts and explain what it doesuse codex to summarize @. the current directoryanalyze @package.json and list dependencies
General Questions (without files)
ask codex to explain div centeringask codex about best practices for React development related to @src/components/Button.tsx
Brainstorming & Ideation
brainstorm ways to optimize our CI/CD pipeline using SCAMPER methoduse codex to brainstorm 10 innovative features for our app with feasibility analysisask codex to generate product ideas for the healthcare domain with design-thinking approach
Codex Approvals & Sandbox
Codex CLI supports fine-grained control over permissions and approvals through sandbox modes and approval policies.
Understanding Parameters
The sandbox Parameter (Convenience Flag):
sandbox: true→ Enables fullAuto mode (equivalent tofullAuto: true)sandbox: false(default) → Does NOT disable sandboxing, just doesn't enable auto mode- Important: The
sandboxparameter is a convenience flag, not a security control
Granular Control Parameters:
sandboxMode: Controls file system access levelapprovalPolicy: Controls when user approval is requiredfullAuto: Shorthand forsandboxMode: "workspace-write"+approvalPolicy: "on-failure"yolo: ⚠️ Bypasses all safety checks (dangerous, not recommended)
Sandbox Modes
| Mode | Description | Use Case |
|---|---|---|
read-only |
Analysis only, no file modifications | Code review, exploration, documentation reading |
workspace-write |
Can modify files in workspace | Most development tasks, refactoring, bug fixes |
danger-full-access |
Full system access including network | Advanced automation, CI/CD pipelines |
Approval Policies
| Policy | Description | When to Use |
|---|---|---|
never |
No approvals required | Fully trusted automation |
on-request |
Ask before every action | Maximum control, manual review |
on-failure |
Only ask when operations fail | Balanced automation (recommended) |
untrusted |
Maximum paranoia mode | Untrusted code or high-risk changes |
Configuration Examples
Example 1: Balanced Automation (Recommended)
{
"approvalPolicy": "on-failure",
"sandboxMode": "workspace-write", // Auto-set if omitted in v1.2+
"model": "gpt-5.4",
"prompt": "refactor @src/utils for better performance"
}
Example 2: Quick Automation (Convenience Mode)
{
"sandbox": true, // Equivalent to fullAuto: true
"model": "gpt-5.4",
"prompt": "fix type errors in @src/"
}
Example 3: Read-Only Analysis
{
"sandboxMode": "read-only",
"model": "gpt-5.4",
"prompt": "analyze @src/ and explain the architecture"
}
Smart Defaults (v1.2+)
Starting from version 1.2.0, the server automatically applies intelligent defaults to prevent permission errors:
- ✅ If
approvalPolicyis set butsandboxModeis not → auto-setssandboxMode: "workspace-write" - ✅ If
search: trueoross: true→ auto-setssandboxMode: "workspace-write"(for network access) - ✅ All commands include
--skip-git-repo-checkto prevent errors in non-git environments
Troubleshooting Permission Errors
If you encounter ❌ Permission Error: Operation blocked by sandbox policy:
Check 1: Verify sandboxMode
# Ensure you're not using read-only mode for write operations
{
"sandboxMode": "workspace-write", // Not "read-only"
"approvalPolicy": "on-failure"
}
Check 2: Use convenience flags
# Let the server handle defaults
{
"sandbox": true, // Simple automation
"prompt": "your task"
}
Check 3: Update to latest version
# v1.2+ includes smart defaults to prevent permission errors
npm install -g @etheaven/codex-mcp-server@latest
Common Issues
Issue 1: MCP Tool Timeout Error
If you encounter timeout errors when using Codex MCP tools:
# Set the MCP tool timeout environment variable (in milliseconds)
export MCP_TOOL_TIMEOUT=36000000 # 10 hours
# For Windows (PowerShell):
$env:MCP_TOOL_TIMEOUT=36000000
# For Windows (CMD):
set MCP_TOOL_TIMEOUT=36000000
Add this to your shell profile (~/.bashrc, ~/.zshrc, or PowerShell profile) to make it permanent.
Issue 2: Codex Cannot Write Files
If Codex responds with permission errors like "Operation blocked by sandbox policy" or "rejected by user approval settings", configure your Codex CLI settings:
Create or edit ~/.codex/config.toml:
# Dynamically generated Codex configuration
model = "gpt-5.4"
model_reasoning_effort = "high"
model_reasoning_summary = "detailed"
approval_policy = "never"
sandbox_mode = "danger-full-access"
disable_response_storage = true
network_access = true
⚠️ Security Warning: The danger-full-access mode grants Codex full file system access. Only use this configuration in trusted environments and for tasks you fully understand.
Configuration File Locations:
- macOS/Linux:
~/.codex/config.toml - Windows:
%USERPROFILE%\.codex\config.toml
After updating the configuration, restart your MCP client (Claude Desktop, Claude Code, etc.).
Basic Examples
use codex to create and run a Python script that processes dataask codex to safely test @script.py and explain what it does
Default Behavior:
- All
codex execcommands automatically include--skip-git-repo-checkto avoid unnecessary git repository checks, as not all execution environments are git repositories. - This prevents permission errors when running Codex in non-git directories or when git checks would interfere with automation.
Advanced Examples
// Using ask-codex with specific model and reasoning effort
'ask codex using gpt-5.3-codex with reasoning high to refactor @utils/database.js for better performance';
// Brainstorming with constraints
"brainstorm solutions for reducing API latency with constraints: 'must use existing infrastructure, budget under $5k'";
// Change mode for structured edits
'use codex in change mode to update all console.log to use winston logger in @src/';
Tools (for the AI)
These tools are designed to be used by the AI assistant.
Core Tools
-
ask-codex: Sends a prompt to Codex viacodex exec.- Supports
@file references for including file content - Optional
modelparameter — recommended models:gpt-5.4(default, latest flagship)gpt-5.3-codex(best for complex coding)gpt-5.3-codex-spark(instant coding, Pro only)o3(deep reasoning)o4-mini(fast & efficient)gpt-5-mini(cost-effective)gpt-4.1(1M context, no reasoning)- See full model list
- Optional
reasoningEffortparameter:none,minimal,low,medium,high,xhigh sandbox=trueenables--full-automodechangeMode=truereturns structured OLD/NEW edits- Supports approval policies and sandbox modes
- Automatically includes
--skip-git-repo-checkto prevent permission errors in non-git environments
- Supports
-
brainstorm: Generate novel ideas with structured methodologies.- Multiple frameworks: divergent, convergent, SCAMPER, design-thinking, lateral
- Domain-specific context (software, business, creative, research, product, marketing)
- Supports same models and
reasoningEffortasask-codex - Configurable idea count and analysis depth
- Includes feasibility, impact, and innovation scoring
- Example:
brainstorm prompt:"ways to improve code review process" domain:"software" methodology:"scamper"
-
ping: A simple test tool that echoes back a message.- Use to verify MCP connection is working
- Example:
/codex-cli:ping (MCP) "Hello from Codex MCP!"
-
help: Shows the Codex CLI help text and available commands.
Advanced Tools
-
fetch-chunk: Retrieves cached chunks from changeMode responses.- Used for paginating large structured edit responses
- Requires
cacheKeyandchunkIndexparameters
-
timeout-test: Test tool for timeout prevention.- Runs for a specified duration in milliseconds
- Useful for testing long-running operations
Slash Commands (for the User)
You can use these commands directly in Claude Code's interface (compatibility with other clients has not been tested).
- /analyze: Analyzes files or directories using Codex, or asks general questions.
prompt(required): The analysis prompt. Use@syntax to include files (e.g.,/analyze prompt:@src/ summarize this directory) or ask general questions (e.g.,/analyze prompt:Please use a web search to find the latest news stories).
- /sandbox: Safely tests code or scripts with Codex approval modes.
prompt(required): Code testing request (e.g.,/sandbox prompt:Create and run a Python script that processes CSV dataor/sandbox prompt:@script.py Test this script safely).
- /help: Displays the Codex CLI help information.
- /ping: Tests the connection to the server.
message(optional): A message to echo back.
Recent Updates
v1.3.8 (2026-03-30)
📦 Release Fix:
- Added
search-insightsto devDependencies sonpm cipasses in the GitHub release workflow - This is the first publishable release that includes the empty
ask-codexresponse fix
v1.3.7 (2026-03-30)
📦 Release Fix:
- Synced
package-lock.jsonwithpackage.jsonso the GitHub release workflow can completenpm ciand publish successfully - Carries forward the empty
ask-codexresponse fix from the failedv1.3.6release attempt
v1.3.6 (2026-03-30)
🐛 Bug Fixes:
- Fixed empty
ask-codexresponses when Codex CLI emitted the usable transcript onstderr - Reworked output parsing to handle role-based transcript sections like
user,codex, andassistant - Prevented the formatter from returning a bare
**Response:**header when no response content was parsed
📦 Release Metadata:
- Synced npm, lockfile, and Claude marketplace/plugin metadata to version
1.3.6
v1.3.0 (2026-03-15)
Model Support Overhaul:
- Updated model list to March 2026: added gpt-5.4, gpt-5.4-pro, gpt-5.3-codex, gpt-5.3-codex-spark, gpt-5.2-codex, gpt-5.2, gpt-5.1-codex-max, gpt-5.1-codex, gpt-5.1, gpt-5-pro, gpt-5-mini, gpt-5-nano, o3-pro, gpt-4.1-mini, gpt-4.1-nano
- Removed deprecated models:
codex-1andcodex-mini-latest(never existed in OpenAI API) - New
reasoningEffortparameter for ask-codex, brainstorm, and batch-codex tools — supportsnone,minimal,low,medium,high,xhigh - Improved tool schema descriptions with exact valid model IDs to prevent AI clients from inventing model names
- Updated default model recommendation from
gpt-5-codextogpt-5.4 - Comprehensive model documentation rewrite with per-model reasoning effort support tables
v1.2.4 (2025-10-27)
🔧 Major Improvement:
- Windows Compatibility Enhancement: Replaced Node.js native
spawn()with industry-standardcross-spawnpackage- Root cause: Previous
shell: truefix still failed on some Windows configurations - Solution: Use
cross-spawn(50M+ weekly downloads, used by Webpack/Jest) for automatic Windows.cmdhandling - Benefits:
- Zero configuration required for Windows users
- Automatic handling of
.cmd,.ps1, and.exeextensions - Compatible with both CMD and PowerShell environments
- <5ms performance overhead
- Dependencies: Added
cross-spawn@^7.0.6and@types/cross-spawn
- Root cause: Previous
🐛 Bug Fixes:
- Enhanced ENOENT error diagnostics with Windows-specific 4-step troubleshooting guide
- Added optional chaining for
stdout/stderrto handle null values in TypeScript strict mode
📝 Documentation:
- Added comprehensive Windows troubleshooting section in docs
- Documented
spawn codex ENOENTerror resolution steps
v1.2.3 (2025-10-27)
🐛 Bug Fixes:
- Windows Compatibility: Fixed Codex CLI detection failing on Windows despite proper installation
- Root cause:
spawn()withshell: falsecouldn't resolve.cmdextensions on Windows - Solution: Enabled shell mode for cross-platform command execution
- Impact: Zero performance impact (~10ms overhead), maintains security with array-form arguments
- Platforms verified: Windows, macOS, Linux via GitHub Actions CI
- Root cause:
📝 Documentation:
- Updated all package references from
@trishchuk/codex-mcp-toolto@etheaven/codex-mcp-server(now hosted at etheaven/codex-mcp-server) - Enhanced cross-platform setup instructions
🔍 Testing:
- CI/CD now validates on Ubuntu, macOS, and Windows across Node.js 18.x, 20.x, and 22.x
v1.2.2 & Earlier
- Smart sandbox mode defaults to prevent permission errors
- Enhanced debug information for troubleshooting
- Automatic
--skip-git-repo-checkflag for non-git environments - Web search integration with feature flags
- Structured change mode with pagination support
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Windows | ✅ Fully Supported | Enhanced in v1.2.4 with cross-spawn |
| macOS | ✅ Fully Supported | Tested on Darwin 23.5.0+ |
| Linux | ✅ Fully Supported | Tested on Ubuntu Latest |
Minimum Requirements:
- Node.js v18.0.0 or higher
- Codex CLI installed and authenticated (
npm install -g @openai/codex)
Acknowledgments
This project was inspired by the excellent work from jamubc/gemini-mcp-tool. Special thanks to @jamubc for the original MCP server architecture and implementation patterns.
Contributing
Contributions are welcome! Please submit pull requests or report issues through GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Disclaimer: This is an unofficial, third-party tool and is not affiliated with, endorsed, or sponsored by OpenAI.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。