Codex Control Plane MCP: long Codex Desktop tasks
Codex Control Plane MCP
An MCP server that queues Codex Desktop tasks: the client polls status, approves the plan and reads the final report
- 121 ★ on the repository
- Last commit
Broad access
Why this level
- Through the server an agent runs Codex with write access to project files, and danger-full-access mode is available too
- The server is local and has no authentication: exposed to a network it would hand Codex control to anyone
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/codex-control-plane-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Through the server an agent runs Codex with write access to project files, and danger-full-access mode is available too
- The server is local and has no authentication: exposed to a network it would hand Codex control to anyone
This is third-party code. Review the repository files before installing.
What it does
The codex-control-plane-mcp server drives Codex Desktop through codex-app-server. A client submits a task and gets an operationId or workflowId back at once, so no MCP call stays open for hours. It then polls status, answers approval requests and picks up the final report. The server handles the awkward parts: starting app-server, creating threads and turns, protection against duplicates on retry (client_request_id), and Plan Mode. Operations, workflows, hooks and diagnostics are stored in a local SQLite database and survive a restart. The tools include codex_submit_task, codex_get_operation_status, codex_approve_plan, codex_execute_plan, codex_interrupt_turn and codex_health_summary. A health check and a dry-run repair are available. For several clients there is a separate codex-control-plane-mcp-worker process that owns the queue and locks.
Who it is for. People building an orchestrator on top of Codex Desktop on Windows (OpenClaw, Hermes or their own) who want to hand it multi-hour tasks.
Good fit when
- An orchestrator starts a Codex task that runs for hours and cannot hold an MCP call open
- A client retries after a timeout and a second Codex turn must not be created
- A person has to see the plan and approve it before execution
- Several agents work in one project and file writes must be separated by locks
Not a fit when
- A single Codex call is enough: for short tasks the queue and polling only add complexity
- You run Linux or macOS: only Windows is tested end to end, the rest get protocol-level checks
- You want to expose the server to a network without authentication: it is built for a local trusted setup
Example request
Start the task "update dependencies and run the tests" in Codex Desktop as a background operation and tell me when the report is ready.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
Only the Windows, Codex Desktop and codex-app-server combination is fully tested; Linux and macOS get protocol-level checks.
The server is local and must not be exposed to a network without authentication. For untrusted repositories the author recommends a read-only sandbox and on-request approvals.
Plan Mode raises a requested read-only sandbox to workspace-write and reports it in the status. Concurrent turns are capped: by default no more than four active turns for the whole server and one per thread.
How to disable. Remove the server entry from the MCP client config and stop the codex-control-plane-mcp-worker process if it runs. The local state database can be deleted by hand.
FAQ
How is it better than calling Codex directly?
It makes a task survive timeouts and restarts: you get an operation ID, poll status, and a retry with the same client_request_id does not create a second turn. A thin wrapper cannot do that.
How do I install it?
The recommended way is pipx install codex-control-plane-mcp, with uvx codex-control-plane-mcp and a pip install from GitHub as alternatives. Then codex-control-plane-mcp-admin init creates a config and the client gets the command codex-control-plane-mcp.
Does it work outside Windows?
Only Windows is fully tested. Linux and macOS currently get protocol-level checks, so production workloads are best run on Windows.
What does Plan Mode do in this server?
The client starts a planning workflow, polls its state, approves the plan with codex_approve_plan and starts execution with codex_execute_plan. The minimum sandbox in this mode is workspace-write.
What if there are several clients?
Run one codex-control-plane-mcp-worker process with CODEX_MCP_EXECUTION_MODE=worker and set the clients to client mode. The worker owns app-server, the queue and the locks; clients only submit tasks and poll status.
Discussion
No questions or reviews yet.
Related
MCP serversCodex MCP Server: Codex inside Claude Code
Codex MCP Server
An MCP server that hands tasks to the Codex CLI from inside Claude Code: code questions, change review, web search and resumable sessions
A local MCP bridge sends chat-client tasks to authorized projects and shows execution and approvals in a workbench.
An MCP server that gives plain ChatGPT chat a local Codex toolbox: files, commands, Chrome and Edge, live Excel
oh-my-codex
oh-my-codex (OMX)
A layer on top of Codex CLI: one flow from clarifying a task to verification, agent teams, hooks, a HUD and state in .omx/
MCP server of the self-hosted EmperorClaw panel: Claude Code and Codex read company knowledge, tasks and customers in scope
A plugin that syncs Claude Code, Codex CLI and Antigravity on one project and lets them hand work to each other.
README in short
The README presents the server as a reliable worker for Codex Desktop with a submit, poll, approve, read-report contract. Separate sections cover Plan Mode, central worker mode for several clients, concurrency limits and the security model. A Russian README is included.