使用说明
基于Codex CLI的MCP服务器
一种MCP服务器实现,内部使用Codex CLI为多回合对话提供可靠的会话ID跟踪。
问题解决了
本机Codex MCP服务器(mcp__codex__codex)不返回会话ID,因此很难使用 mcp__codex__codex_reply此服务器使用带有JSON输出的CLI来可靠地获取会话ID。
运作原理
- 充当MCP服务器(使用JSON-RPC协议)
- 翻译MCP
codex工具调用codex exec --jsonCLI命令 - 解析JSON输出以从中提取会话ID
thread.started事件 - 返回响应文本AND
[SESSION_ID: xxx]给客户 - 翻译MCP
codex-reply呼吁codex exec resumeCLI命令
先决条件
- Node.js 14.0或更高版本
- Codex CLI 已安装并配置
- 已安装克劳德代码
安装
-
将存储库克隆到标准MCP服务器位置:
git clone <repo-url> ~/.claude/mcp-servers/codex-wrapper cd ~/.claude/mcp-servers/codex-wrapper -
将MCP服务器添加到Claude代码中:
# Add the wrapper to Claude Code
claude mcp add --transport stdio codex-wrapper -- node ~/.claude/mcp-servers/codex-wrapper/server.js
# Verify it's installed
claude mcp list
你应该看看 codex-wrapper 在带有a的列表中✓ 连接状态。
注: 包装器将在您的下一个Claude Code会话中可用。如果您处于活动会话中,请重新启动它以加载新的MCP工具。
用法
配置后,正常使用MCP工具。响应将包括会话ID:
Response: "Here's the answer..."
[SESSION_ID: 019a7661-3643-7ac3-aeb9-098a910935fb]
提取ID并将其用于后续操作:
mcp__codex__codex_reply({
conversationId: "019a7661-3643-7ac3-aeb9-098a910935fb",
prompt: "follow-up question"
})
优于原生MCP的优势
- 可靠的会话ID:直接从CLI JSON输出中提取,未猜测
- 无比赛条件:没有文件系统扫描或计时问题
- 完全兼容性:使用完全相同的CLI命令
- 确定性的:会话ID保证正确
这有什么不同
- 本地MCP:不返回会话ID,无法继续对话
- 这个包装:通过在内部使用CLI可靠地返回会话ID
局限性
- 比原生MCP稍慢(生成CLI进程)
- 需要Node.js来运行包装器
