关于 openai-codex-mcp
openai-codex-mcp 是一个 MCP 服务,用于封装 OpenAI Codex CLI,使 Claude Code 可以调用 OpenAI 模型完成代码生成、解释和调试。适合希望在 Claude Code 中获取第二种模型视角的开发者。
主要功能
- 01封装 Codex CLI 的 JSON-RPC 服务
- 02write_code、explain_code、debug_code 专用方法
- 03支持选择 o 系列与 GPT 系列模型
- 04支持通用 codex_completion 调用
- 05提供 curl 调用示例
适用场景
- 01让 Claude Code 调用 OpenAI 模型生成函数
- 02请求 OpenAI 模型解释一段代码
- 03将代码片段交给模型排查缺陷
MCP 相关
该服务通过 JSON-RPC 暴露代码相关方法,并在 Claude Code 中以自定义工具形式注册,使 Claude Code 能够调用 OpenAI Codex CLI。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
openai-codex-mcp
一个 MCP 服务,用于封装 OpenAI Codex CLI 工具,以便与 Claude Code 配合使用。
概览
本项目提供了一个简单的 JSON-RPC 服务,使 Claude Code 能够与 OpenAI Codex CLI 工具交互。这样,Claude Code 就可以在需要时使用 OpenAI 的模型进行代码生成、解释和问题解决。
视频演示
https://www.loom.com/share/5d9532a79ae24b309af08c1727156f9c?sid=d9277b91-bf8c-43ec-a3c6-dc69fc52e1d2
近期改进
MCP 服务经过增强,提供了更直观、更稳健的接口:
-
专用方法:为常见编码任务添加了专用方法:
write_code:针对指定任务和语言生成代码explain_code:详细解释代码的工作原理debug_code:查找并修复有问题的代码中的 Bug
-
模型选择:明确列出了可选模型及默认值:
- o4-mini
- o4-preview
- o4-pro
- o4-latest
-
语法简化:参数命名和结构更直观,便于集成
这些改进让 Claude Code 能够更轻松地针对特定编程任务使用 OpenAI 的模型,无需进行复杂的提示词工程。
先决条件
- Python 3.12+
- OpenAI Codex CLI 工具(
npm install -g @openai/codex) - 有效的 OpenAI API 密钥(用于 Codex CLI,而非此服务)
安装和设置
本项目使用 PEP‑621 pyproject.toml。请按以下步骤操作:
# 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 .
安装后,codex_server 入口点即可在 PATH 中使用。
运行服务
快速开始
使用提供的设置脚本自动设置环境并启动服务:
./setup_and_run.sh
此脚本将:
- 检查是否已安装
codexCLI - 根据需要设置 Python 虚拟环境
- 如果 Claude CLI 可用,则通过它安装 MCP 工具
- 启动 MCP 服务
手动启动
如果你更愿意手动启动服务:
- 确保已安装 Codex CLI,并已使用 OpenAI API 密钥正确配置
- 启动服务:
或者直接使用 uvicorn:codex_serveruvicorn codex_server:app
与 Claude Code 集成
MCP 服务运行后,你可以通过以下任一方式将其注册到 Claude Code:
方法 1:使用 Claude CLI(推荐)
仓库包含一个配置文件,可通过 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 list
方法 2:通过 UI 手动配置
你也可以手动注册此工具:
- 在 Claude Code 中,前往 Settings → Tools → Manage MCP Tools。
- 创建新工具,填写:
- Name:
openai_codex - Description:
OpenAI Codex CLI integration via MCP server - Base URL:
http://localhost:8000/ - Protocol:
JSON-RPC 2.0 - Authentication:留空
- Name:
- 保存工具。
现在,Claude Code 可以在需要不同视角或方法的任务中使用 OpenAI Codex CLI 工具。你可以要求 Claude 针对特定任务使用 OpenAI 模型来调用该工具。
API 用法
MCP 服务提供了多种方法,可针对不同编码任务与 OpenAI 的模型交互。
方法 1:通用补全
向 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
}'
方法 2:编写代码
用于指定语言的代码生成专用方法:
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
}'
方法 3:解释代码
代码解释专用方法:
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) <= 1:\n return arr\n pivot = arr[len(arr) // 2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quicksort(left) + middle + quicksort(right)",
"model": "o4-mini"
},
"id": 1
}'
方法 4:调试代码
用于查找并修复 Bug 的专用方法:
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
}'
可用模型
推理模型(O 系列)
o4-mini:速度更快、价格更实惠的推理模型o3:能力最强的推理模型o3-mini:o3 的小型模型替代选项o1:上一代完整 O 系列推理模型o1-mini:o1 的小型模型替代选项o1-pro:增加计算资源、以提供更好响应的 o1 版本
GPT Models
gpt-4.1:适用于复杂任务的旗舰 GPT 模型gpt-4o:快速、智能且灵活的 GPT 模型gpt-4.1-mini:兼顾智能、速度与成本gpt-4.1-nano:速度最快、性价比最高的 GPT-4.1 模型gpt-4o-mini:快速、实惠,适用于专注型任务的小型模型
可用参数
通用补全(codex_completion)
prompt(必填):要发送给 Codex 的提示词model(可选):要使用的模型(例如,“o4-mini”、“o3”、“gpt-4.1”、“gpt-4o-mini”)images(可选):要包含的图像路径或数据 URI 列表additional_args(可选):要传递给 Codex 的其他 CLI 参数
编写代码(write_code)
task(必填):编码任务的说明language(必填):解决方案所用的编程语言(例如,“python”、“javascript”、“java”)model(可选):要使用的模型
解释代码(explain_code)
code(必填):要解释的代码model(可选):要使用的模型
调试代码(debug_code)
code(必填):要调试的代码issue_description(可选):问题或错误的说明model(可选):要使用的模型
在 Claude Code 中使用示例
配置完成后,你可以通过任何可用方法让 Claude 使用 OpenAI Codex 执行特定任务:
使用 write_code 方法
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"]
使用 explain_code 方法
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]
使用 debug_code 方法
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]
指定模型
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]
这样,你就可以在同一界面中无缝运用 Claude 和 OpenAI 的能力,并使用针对常见编码任务的专用方法。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。