Install
git clone https://github.com/zjgxkj/codex-cc-orchestrator.git && cd codex-cc-orchestrator && git checkout v0.4.0 && uv syncThe dispatch station (codex-cc-orchestrator) is for scenarios where a controlling Agent needs to dispatch tasks to an executor and then have them reviewed by an independent read-only session. The most important point before you start: you must have both local Agents, Codex and Claude Code, installed and configured, and every task must explicitly pass in a trusted project_root — the service will not guess your workspace from the current directory.
Who it's for
- Users already using Codex who have installed Claude Code and want to dispatch tasks to Claude Code for execution and review via MCP, enabling layered collaborative orchestration.
- Development workflows that need task dispatch, execution, resumption, independent review, result compression, and usage tracking.
- Not suitable for: anyone without both Codex and Claude Code environments set up. The evidence does not state whether either side can be used alone — defer to the official documentation.
- Prerequisites: Python 3.13+ and uv on your machine. Full Chinese installation steps are in the official INSTALL.md.
First attempt in 3 minutes
Prerequisites: Python 3.13+, uv, and configured Codex and Claude Code.
- Get and install (official main path):
git clone https://github.com/zjgxkj/codex-cc-orchestrator.git
cd codex-cc-orchestrator
git checkout v0.4.0
uv sync
- Register the service in Codex's STDIO MCP configuration (official Windows example):
[mcp_servers.codex-claude-agent]
command = 'D:\path\to\codex-claude-agent-mcp\.venv\Scripts\python.exe'
args = ['-m', 'codex_claude_agent_mcp']
enabled = true
startup_timeout_sec = 30
tool_timeout_sec = 7200
- Do a low-risk first test: the service exposes a ping tool; use it to confirm the MCP channel works, with no file writes involved. A success signal is that Codex can list the service's tools and receive the ping response. Note that stdout carries only MCP protocol messages — logs and errors go to stderr, so check stderr when troubleshooting startup issues.
Actually running tasks (execute_task etc.) is a different matter: you must explicitly pass in a project_root you trust, and execution will read and write files within that directory. This is not a read-only operation — confirm the target project directory before calling.
Use cases
Case 1: Dispatch and execute a coding task. In a Codex session, call execute_task with the task description and the project_root you explicitly authorize. The executor session uses a restricted toolset (Read/Grep/Glob/Edit/Write/Bash — network access allowed, nested Agents and notebook editing forbidden) to make the changes. What to expect: the task is executed and its state persisted to local SQLite (~/.codex-claude-agent-mcp/state.db).
Case 2: Independent review and resumption. Calling review_task starts a brand-new read-only session that reviews the execution result and returns PASS/FAIL; if FAIL, you can call continue_task to continue from the saved executor session with feedback included. What to expect: the read-only review does not modify files, and resumption reuses the session context. You can also use run_job / run_jobs to orchestrate multiple tasks and get_job_status to check progress.
Boundaries of use
- Read/write nature: ping is a read-only liveness probe; execute_task, run_job, and run_jobs write files under project_root and have real side effects — verify the directory is correct before calling; review_task performs review in a read-only session.
- Authorization: each task can receive a project_root, and Codex must explicitly pass in a trusted workspace root; the service will not guess from its own process cwd. ALLOWED_PROJECT_ROOTS is an optional long-term trust list.
- Local state: executor sessions and other state are persisted in ~/.codex-claude-agent-mcp/state.db. The official documentation does not describe a deletion or revocation path for this state.
- Concurrency limit: CLAUDE_MAX_CONCURRENCY (default 4) applies only to a single MCP server process.
- A tool's read-only hint only means it performs no write operations — it does not imply no network access or an absolute privacy boundary. Unspecified aspects in the official docs (such as credential management details) should not be assumed risk-free.