This MCP server wraps the Codex CLI and exposes it through standard MCP tools for code analysis and editing. You get codex_exec for running Codex commands with file references using @ syntax, plus codex_brainstorm for ideation tasks. It handles sandboxed edits with configurable approval policies, streams progress updates, and supports multiple models including gpt-5-codex and o3. Works across Windows, macOS, and Linux. Reach for this when you want to analyze codebases, refactor code, or generate documentation directly from Claude Desktop or other MCP clients without switching to terminal.
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.2.4): Enhanced Windows compatibility - Now using cross-spawn for reliable npm global command execution across all platforms (Windows, macOS, Linux). See changelog
Goal: Use Codex directly from your MCP-enabled editor to analyze and edit code efficiently.
Before using this tool, ensure you have:
✅ Cross-Platform Support: Fully tested and working on Windows, macOS, and Linux (v1.2.4+)
claude mcp add codex-cli -- npx -y @cexll/codex-mcp-server
Type /mcp inside Claude Code to verify the Codex MCP is active.
If you already have it configured in Claude Desktop:
"codex-cli": {
"command": "npx",
"args": ["-y", "@cexll/codex-mcp-server"]
}
claude mcp add-from-claude-desktop
Register the MCP server with your MCP client:
Add this configuration to your Claude Desktop config file:
{
"mcpServers": {
"codex-cli": {
"command": "npx",
"args": ["-y", "@cexll/codex-mcp-server"]
}
}
}
If you installed globally, use this configuration instead:
{
"mcpServers": {
"codex-cli": {
"command": "codex-mcp"
}
}
}
Configuration File Locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/claude/claude_desktop_config.jsonAfter updating the configuration, restart your terminal session.
/codex-cli to access the MCP server tools.// Use the default gpt-5-codex model
'explain the architecture of @src/';
// Use gpt-5 for fast general purpose reasoning
'use codex with model gpt-5 to analyze @config.json';
// Use o3 for deep reasoning tasks
'use codex with model o3 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 codex-1 for software engineering
'use codex with model codex-1 to refactor @legacy-code.js';
ask codex to analyze @src/main.ts and explain what it doesuse codex to summarize @. the current directoryanalyze @package.json and list dependenciesask codex to explain div centeringask codex about best practices for React development related to @src/components/Button.tsxbrainstorm 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 approachCodex CLI supports fine-grained control over permissions and approvals through sandbox modes and approval policies.
The sandbox Parameter (Convenience Flag):
sandbox: true → Enables fullAuto mode (equivalent to fullAuto: true)sandbox: false (default) → Does NOT disable sandboxing, just doesn't enable auto modesandbox parameter is a convenience flag, not a security controlGranular Control Parameters:
sandboxMode: Controls file system access levelapprovalPolicy: Controls when user approval is requiredfullAuto: Shorthand for sandboxMode: "workspace-write" + approvalPolicy: "on-failure"yolo: ⚠️ Bypasses all safety checks (dangerous, not recommended)| 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 |
| 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 |
Example 1: Balanced Automation (Recommended)
{
"approvalPolicy": "on-failure",
"sandboxMode": "workspace-write", // Auto-set if omitted in v1.2+
"model": "gpt-5-codex",
"prompt": "refactor @src/utils for better performance"
}
Example 2: Quick Automation (Convenience Mode)
{
"sandbox": true, // Equivalent to fullAuto: true
"model": "gpt-5-codex",
"prompt": "fix type errors in @src/"
}
Example 3: Read-Only Analysis
{
"sandboxMode": "read-only",
"model": "gpt-5-codex",
"prompt": "analyze @src/ and explain the architecture"
}
Starting from version 1.2.0, the server automatically applies intelligent defaults to prevent permission errors:
approvalPolicy is set but sandboxMode is not → auto-sets sandboxMode: "workspace-write"search: true or oss: true → auto-sets sandboxMode: "workspace-write" (for network access)--skip-git-repo-check to prevent errors in non-git environmentsIf 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 @cexll/codex-mcp-server@latest
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-codex"
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:
~/.codex/config.toml%USERPROFILE%\.codex\config.tomlAfter updating the configuration, restart your MCP client (Claude Desktop, Claude Code, etc.).
use codex to create and run a Python script that processes dataask codex to safely test @script.py and explain what it doesDefault Behavior:
codex exec commands automatically include --skip-git-repo-check to avoid unnecessary git repository checks, as not all execution environments are git repositories.// Using ask-codex with specific model
'ask codex using gpt-5 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/';
These tools are designed to be used by the AI assistant.
ask-codex: Sends a prompt to Codex via codex exec.
@ file references for including file contentmodel parameter - available models:
gpt-5-codex (default, optimized for coding)gpt-5 (general purpose, fast reasoning)o3 (smartest, deep reasoning)o4-mini (fast & efficient)codex-1 (o3-based for software engineering)codex-mini-latest (low-latency code Q&A)gpt-4.1 (also available)sandbox=true enables --full-auto modechangeMode=true returns structured OLD/NEW edits--skip-git-repo-check to prevent permission errors in non-git environmentsbrainstorm: Generate novel ideas with structured methodologies.
ask-codex (default: gpt-5-codex)brainstorm prompt:"ways to improve code review process" domain:"software" methodology:"scamper"ping: A simple test tool that echoes back a message.
/codex-cli:ping (MCP) "Hello from Codex MCP!"help: Shows the Codex CLI help text and available commands.
fetch-chunk: Retrieves cached chunks from changeMode responses.
cacheKey and chunkIndex parameterstimeout-test: Test tool for timeout prevention.
You can use these commands directly in Claude Code's interface (compatibility with other clients has not been tested).
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).prompt (required): Code testing request (e.g., /sandbox prompt:Create and run a Python script that processes CSV data or /sandbox prompt:@script.py Test this script safely).message (optional): A message to echo back.🔧 Major Improvement:
spawn() with industry-standard cross-spawn package
shell: true fix still failed on some Windows configurationscross-spawn (50M+ weekly downloads, used by Webpack/Jest) for automatic Windows .cmd handling.cmd, .ps1, and .exe extensionscross-spawn@^7.0.6 and @types/cross-spawn🐛 Bug Fixes:
stdout/stderr to handle null values in TypeScript strict mode📝 Documentation:
spawn codex ENOENT error resolution steps🐛 Bug Fixes:
spawn() with shell: false couldn't resolve .cmd extensions on Windows📝 Documentation:
@trishchuk/codex-mcp-tool to @cexll/codex-mcp-server🔍 Testing:
--skip-git-repo-check flag for non-git environments| 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:
npm install -g @openai/codex)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.
Contributions are welcome! Please submit pull requests or report issues through GitHub.
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.