一个用于封装OpenAI Codex CLI工具以供Claude Code使用的MCP服务器。
该项目提供了一个简单的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:查找并修复有问题代码中的错误模型选择:明确定义了模型选项及其默认值:
简化语法:参数命名和结构更加直观,便于集成
这些改进使得Claude Code能够更容易地使用OpenAI的模型来完成特定编程任务,而无需复杂的提示工程。
npm install -g @openai/codex)本项目使用PEP-621 pyproject.toml。请按照以下步骤操作:
# 1. 创建并激活虚拟环境
uv venv # 创建一个 .venv/ 目录
source .venv/bin/activate # 在Windows上:.\.venv\Scripts\activate
# 2. 将包和依赖项安装到虚拟环境中
uv pip install .
安装后,codex_server 入口点将在您的PATH中可用。
使用提供的设置脚本来自动设置环境并启动服务器:
./setup_and_run.sh
该脚本将执行以下操作:
codex CLI如果您希望手动启动服务器,请执行以下步骤:
codex_server
或者直接使用uvicorn:uvicorn codex_server:app一旦您的MCP服务器运行起来,您可以使用以下任一方法将其注册到Claude Code:
仓库中包含一个可以直接使用Claude CLI安装的配置文件:
# 直接从JSON配置安装MCP工具
claude mcp add /path/to/openai_codex_mcp.json
# 验证工具是否正确安装
claude mcp list
您也可以手动注册该工具:
openai_codex通过MCP服务器集成OpenAI Codex CLIhttp://localhost:8000/JSON-RPC 2.0现在,Claude Code可以使用OpenAI Codex CLI工具来完成需要不同视角或方法的任务。您可以通过请求Claude使用OpenAI模型来完成特定任务来调用它。
MCP服务器提供了多种方法来与OpenAI的模型交互,以完成不同的编码任务。
对于灵活的自定义提示到OpenAI:
curl -X POST http://localhost:8000/ \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "codex_completion",
"params": {
"prompt": "编写一个JavaScript函数,按属性值对对象数组进行排序",
"model": "o4-mini"
},
"id": 1
}'
专门用于代码生成的方法,带有语言指定:
curl -X POST http://localhost:8000/ \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "write_code",
"params": {
"task": "计算前100个斐波那契数,并以数组形式返回它们",
"language": "python",
"model": "o4-mini"
},
"id": 1
}'
专门用于代码解释的方法:
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
}'
专门用于查找和修复错误的方法:
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": "它生成了一个多余的斐波那契数",
"model": "o4-mini"
},
"id": 1
}'
o4-mini:更快、更经济的推理模型o3:最强大的推理模型o3-mini:o3的小型替代模型o1:之前的全系列推理模型o1-mini:o1的小型替代模型o1-pro:具有更多计算能力以获得更好响应的o1版本gpt-4.1:旗舰GPT模型,适用于复杂任务gpt-4o:快速、智能、灵活的GPT模型gpt-4.1-mini:平衡了智能、速度和成本gpt-4.1-nano:最快的、最具成本效益的GPT-4.1模型gpt-4o-mini:快速、经济的小型模型,适用于专注任务prompt(必需):发送给Codex的提示model(可选):要使用的模型(例如,“o4-mini”,“o3”,“gpt-4.1”,“gpt-4o-mini”)images(可选):要包含的图像路径或数据URI列表additional_args(可选):传递给Codex的其他CLI参数task(必需):编码任务的描述language(必需):解决方案的编程语言(例如,“python”,“javascript”,“java”)model(可选):要使用的模型code(必需):要解释的代码model(可选):要使用的模型code(必需):要调试的代码issue_description(可选):问题或错误的描述model(可选):要使用的模型一旦配置好,您可以请求Claude使用OpenAI Codex来完成特定任务,使用任何可用的方法:
用户:你能使用OpenAI Codex编写一个生成质数的Python函数吗?
Claude:我将使用OpenAI Codex的write_code方法来生成那个函数。
[Claude会使用write_code方法,任务是“编写一个生成质数的Python函数”,语言是“python”]
用户:你能请求OpenAI Codex解释这个快速排序算法是如何工作的吗?
Claude:我将使用OpenAI Codex来解释这个算法。
[Claude会使用explain_code方法,提供代码]
用户:我的JavaScript函数有一个bug。你能使用OpenAI Codex来调试它吗?
Claude:我会请求OpenAI Codex找到并修复你的代码中的bug。
[Claude会使用debug_code方法,提供代码]
用户:你能使用OpenAI Codex和o4-preview模型来编写一个高效的二叉搜索树实现吗?
Claude:我将使用o4-preview模型来生成那个实现。
[Claude会使用指定的模型和适当的方法]
这使您能够在同一界面中无缝利用Claude和OpenAI的能力,针对常见编码任务有专门的方法。