openai-codex-mcp
An MCP server to communicated with, use, and wrap the API for the OpenAI Codex CLI tool.
Documentation
openai-codex-mcp
An MCP server to wrap the OpenAI Codex CLI tool for use with Claude Code.
Overview
This project provides a simple JSON-RPC server that allows Claude Code to interact with the OpenAI Codex CLI tool. This enables Claude Code to use OpenAI's models for code generation, explanation, and problem-solving when needed.
Video Demo
https://www.loom.com/share/5d9532a79ae24b309af08c1727156f9c?sid=d9277b91-bf8c-43ec-a3c6-dc69fc52e1d2
Recent Improvements
The MCP server has been enhanced to provide a more intuitive and robust interface:
1. Specialized Methods: Added dedicated methods for common coding tasks:
2. Model Selection: Clearly defined model options with defaults:
3. Simplified Syntax: More intuitive parameter naming and structure for easier integration
These improvements make it easier for Claude Code to use OpenAI's models for specific programming tasks without requiring complex prompt engineering.
Prerequisites
- Python 3.12+
- OpenAI Codex CLI tool (`npm install -g @openai/codex`)
- Valid OpenAI API key (for the Codex CLI, not for this server)
Installation and Setup
This project uses a PEP‑621 `pyproject.toml`. Follow these steps:
# 1. Create & activate a venv
uv venv # creates a .venv/ directory
source .venv/bin/activate # on Windows: .\.venv\Scripts\activate
# 2. Install package and dependencies into the venv
uv pip install .After installation, the `codex_server` entrypoint is available in your PATH.
Running the Server
Quick Start
Use the provided setup script to automatically set up the environment and start the server:
./setup_and_run.shThis script will:
- Check for the `codex` CLI installation
- Set up a Python virtual environment if needed
- Install the MCP tool via the Claude CLI if available
- Start the MCP server
Manual Start
If you prefer to start the server manually:
1. Make sure the Codex CLI is installed and properly configured with your OpenAI API key
2. Start the server:
codex_server*Alternatively, use uvicorn directly:* `uvicorn codex_server:app`
Integrating with Claude Code
Once your MCP server is running, you can register it with Claude Code using either of these methods:
Method 1: Using the Claude CLI (Recommended)
The repository includes a configuration file that can be installed directly using the Claude CLI:
# Install the MCP tool directly from the JSON config
claude mcp add /path/to/openai_codex_mcp.json
# Verify the tool was installed correctly
claude mcp listMethod 2: Manual Configuration via UI
Alternatively, you can register the tool manually:
1. In Claude Code, navigate to Settings → Tools → Manage MCP Tools.
2. Create a new tool with:
3. Save the tool.
Now, Claude Code can use the OpenAI Codex CLI tool for tasks where a different perspective or approach is desired. You can invoke it by asking Claude to use the OpenAI models for a particular task.
API Usage
The MCP server provides multiple methods to interact with OpenAI's models for different coding tasks.
Method 1: General Completion
For flexible, custom prompts to OpenAI:
curl -X POST http://localhost:8000/ \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "codex_completion",
"params": {
"prompt": "Write a JavaScript function to sort an array of objects by a property value",
"model": "o4-mini"
},
"id": 1
}'Method 2: Write Code
Specialized method for code generation with language specification:
curl -X POST http://localhost:8000/ \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "write_code",
"params": {
"task": "Calculate the first 100 Fibonacci numbers and return them as an array",
"language": "python",
"model": "o4-mini"
},
"id": 1
}'Method 3: Explain Code
Specialized method for code explanation:
curl -X POST http://localhost:8000/ \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "explain_code",
"params": {
"code": "def quicksort(arr):\n if len(arr) pivot]\n return quicksort(left) + middle + quicksort(right)",
"model": "o4-mini"
},
"id": 1
}'Method 4: Debug Code
Specialized method for finding and fixing bugs:
curl -X POST http://localhost:8000/ \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "debug_code",
"params": {
"code": "function fibonacci(n) {\n if (n <= 0) return [];\n if (n === 1) return [1];\n let sequence = [1, 1];\n for (let i = 2; i <= n; i++) {\n sequence.push(sequence[i-2] + sequence[i-1]);\n }\n return sequence;\n}",
"issue_description": "It generates one too many Fibonacci numbers",
"model": "o4-mini"
},
"id": 1
}'Available Models
Reasoning Models (O-series)
- `o4-mini`: Faster, more affordable reasoning model
- `o3`: Most powerful reasoning model
- `o3-mini`: A small model alternative to o3
- `o1`: Previous full o-series reasoning model
- `o1-mini`: A small model alternative to o1
- `o1-pro`: Version of o1 with more compute for better responses
GPT Models
- `gpt-4.1`: Flagship GPT model for complex tasks
- `gpt-4o`: Fast, intelligent, flexible GPT model
- `gpt-4.1-mini`: Balanced for intelligence, speed, and cost
- `gpt-4.1-nano`: Fastest, most cost-effective GPT-4.1 model
- `gpt-4o-mini`: Fast, affordable small model for focused tasks
Available Parameters
General Completion (codex_completion)
- `prompt` (required): The prompt to send to Codex
- `model` (optional): The model to use (e.g., "o4-mini", "o3", "gpt-4.1", "gpt-4o-mini")
- `images` (optional): List of image paths or data URIs to include
- `additional_args` (optional): Additional CLI arguments to pass to Codex
Write Code (write_code)
- `task` (required): Description of the coding task
- `language` (required): Programming language for the solution (e.g., "python", "javascript", "java")
- `model` (optional): The model to use
Explain Code (explain_code)
- `code` (required): The code to explain
- `model` (optional): The model to use
Debug Code (debug_code)
- `code` (required): The code to debug
- `issue_description` (optional): Description of the issue or error
- `model` (optional): The model to use
Example Usage with Claude Code
Once configured, you can ask Claude to use OpenAI Codex for specific tasks using any of the available methods:
Using write_code Method
User: Can you use OpenAI Codex to write a Python function that generates prime numbers?
Claude: I'll use the OpenAI Codex write_code method to generate that function.
[Claude would use the write_code method with task="Write a Python function that generates prime numbers" and language="python"]Using explain_code Method
User: Can you ask OpenAI Codex to explain how this quicksort algorithm works?
Claude: I'll use OpenAI Codex to explain this algorithm.
[Claude would use the explain_code method with the code provided]Using debug_code Method
User: My JavaScript function has a bug. Can you use OpenAI Codex to debug it?
Claude: I'll ask OpenAI Codex to find and fix the bug in your code.
[Claude would use the debug_code method with the code provided]Specifying a Model
User: Can you use OpenAI Codex with the o4-preview model to write an efficient implementation of a binary search tree?
Claude: I'll use the o4-preview model to generate that implementation.
[Claude would use the specified model with the appropriate method]This allows you to leverage both Claude and OpenAI's capabilities seamlessly within the same interface, with specialized methods for common coding tasks.
Frequently asked questions
What is openai-codex-mcp?
openai-codex-mcp is An MCP server to communicated with, use, and wrap the API for the OpenAI Codex CLI tool.
How do I install openai-codex-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is openai-codex-mcp open source?
Yes — it is hosted on GitHub at https://github.com/agency-ai-solutions/openai-codex-mcp and has 48 stars.
Related MCP tools
AWS MCP Servers — helping you get the most out of AWS, wherever you use MCP. Python-based implementation. Trusted by 6900+ developers.
A simple, secure MCP-to-OpenAPI proxy server Python-based implementation. Trusted by 3500+ developers. Trusted by 3500+ developers.
MCP server that interacts with Obsidian via the Obsidian rest API community plugin Python-based implementation. Trusted by 2300+ developers.
Default Configuration: MCP CLI defaults to using Ollama with the gpt-oss reasoning model for local, privacy-focused operation without requiring API keys.
Official MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
MCP server for long term agent memory with Mem0. Also useful as a template to get you started building your own MCP server with Python!
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP