使用说明
Codex MCP服务器(macOS守护进程)
此仓库将Codex CLI转换为在macOS上本地运行的长期模型上下文协议(MCP)服务器,可以由任何支持MCP的客户端(Cline、Claude Code、Claude Desktop/Code、VS Code MCP扩展、代理SDK等)使用。
目录
bin/ # Launchers for Codex MCP server + client shim
clients/ # Ready-to-copy client config snippets
├── cline/
├── claude-code/
└── vscode/
docs/ # Operational notes, troubleshooting
logs/ # Runtime + daemon logs
scripts/ # Service management + daemon
先决条件
- 安装了Codex CLI的macOS(
brew install openai/codex/codex). - 计算机上已存在访问令牌/config(
codex login). - Python 3.11+(macOS附带)用于FIFO守护进程+客户端垫片。
bash,nohup,mkfifo(macOS上的标准配置)。
快速开始
# Create logs/tmp dirs the first time
mkdir -p logs tmp/queue tmp/sessions
# Start the background daemon
scripts/codex-mcp-serverctl.sh start
# Check status / stop / view logs
scripts/codex-mcp-serverctl.sh status
scripts/codex-mcp-serverctl.sh logs
scripts/codex-mcp-serverctl.sh stop
在幕后 codex-mcp-serverctl.sh 自举 scripts/codex_mcp_fifo_daemon.py,其中:
- 手表
tmp/queue对于新的会话请求。 - 在中创建FIFO管道
tmp/sessions/<session-id>. - 生成物
bin/codex_mcp_server(codex mcp-server)对于每个连接。 - 在FIFO和Codex之间传输stdin/stdout。
轻量级客户端垫片(bin/codex_mcp_server_client)创建队列条目和FIFO,然后将其STDIO桥接到守护进程。MCP客户端可以通过以下方式指向垫片 command/args.
环境覆盖
| 变量 | 效果 |
|---|---|
CODEX_BIN |
通往 codex 二进制(默认值: codex). |
CODEX_HOME / CODEX_CONFIG_FILE |
使用备用Codex配置目录/文件。 |
CODEX_MCP_QUEUE_DIR, CODEX_MCP_SESSIONS_DIR |
覆盖队列/会话文件夹(repo下的默认值 tmp/). |
CODEX_MCP_LOG_DIR |
重新定位守护进程+服务器日志。 |
CODEX_MCP_STARTUP_DELAY, CODEX_MCP_STATUS_TTL |
调整控制器启动/健康阈值。 |
在调用控制脚本之前设置它们,例如。 CODEX_BIN=/opt/homebrew/bin/codex scripts/codex-mcp-serverctl.sh start.
健康检查
scripts/codex-mcp-serverctl.sh status→ 打印PID+心跳年龄。bin/codex_mcp_server_client < /dev/null→ 打开+立即关闭Codex MCP会话(验证队列、FIFO、生成路径)。退出代码0意味着成功。tail -f logs/codex_mcp_daemon.log→ 显示每个会话的生命周期事件。
客户端集成
看 clients/ 对于复制/粘贴配置文件:
clients/cline/README.md–VS代码临床扩展(cline_mcp_settings.json).clients/claude-code/README.md–克劳德代码CLI(claude mcp add或--mcp-config).clients/vscode/README.md–官方MCP VS代码扩展。
每个代码段已经使用了绝对路径,这些路径假设仓库位于 /Users/qm-mac/mcpserver/codex-mcp-server。如果移动仓库,请调整路径。
测试结果(最新运行)
- Daemon通过启动
scripts/codex-mcp-serverctl.sh start(PID记录在logs/codex_mcp_server.log). - 握手测试:
bin/codex_mcp_server_client < /dev/null退出0,守护进程日志显示会话(ID3a5dc768643248719486bc59b5bbfee0). - 状态命令显示
Running (PID … heartbeat <1s).
如果任何步骤失败,请咨询 docs/troubleshooting.md (或创建它)和日志文件。