Codex Delegate README

The full upstream README, mirrored for reference. Install config, tool schemas, adoption signals and our own overview live on the Codex Delegate listing page.

Codex Delegate

Stop burning your frontier agent's limits on boilerplate.

Delegate implementation to the OpenAI Codex CLI — your agent writes the brief and reviews the diff.

npm version npm downloads MCP Registry codex-delegate-mcp MCP server node license: MIT tests

Codex Delegate logo

Use your best coding agent where its judgment matters most: understanding the task, shaping the plan, and reviewing the result.

Codex Delegate is the MCP bridge that lets Claude Code, Cursor, Copilot — or any MCP client — hand implementation to the OpenAI Codex CLI, then get a clean, structured result back for review.


A terminal recording of Claude Code delegating to Codex: a health check confirms the Codex CLI, auth and model catalog; an ask-mode run diagnoses why the demo repo prints "today 0", naming commitDay() bucketing by UTC while cellDay() labels by local time, with line numbers; one sentence then fans out to two Codex models at once — one editing the repo, one researching in a separate directory — and the fix lands with tests passing and the footer reading today 4, current streak 23, longest streak 23; finally Codex reviews its own diff and reports three findings

🧠 Frontier quality, kept

Your assistant does what frontier models are actually for: understands the task, writes a precise brief, reviews the finished diff. Codex holds its own as the implementer — guided and checked by a smarter orchestrator. The result reads like frontier work, because a frontier model planned it and signed off on it.

⚡ Done faster

Codex tears through multi-file edits while a frontier chat model would still be streaming the first file. You delegate, keep working with your assistant, and the diff shows up done.

🔋 Your limits stop being the bottleneck

Delegated work runs on the OpenAI Codex CLI and its own usage — separate from your orchestrator's chat quota, though the Codex side still bills its own way. Your Claude, Cursor, or Copilot subscription spends tokens on the brief and the review; Codex does the grinding. On API? That's the per-token grind moved off your main bill.

You and your agent understand the task, write the brief and review the diff; the MCP delegate tool hands that brief to the OpenAI Codex CLI, which implements it and edits your workspace; one compact JSON result comes back with what changed, which files, and the thread id

A delegate result: one compact JSON block with the final answer, status, thread and delegation ids, workspace, Codex CLI version, cumulative thread token usage, and the files the edit tools reported changing

Features

  • 📦 One result you can review — a compact JSON block: the final answer, status, the files Codex's edit tools reported changing, cumulative thread token counts, and the threadId to continue from. Fields that carry no signal are omitted.
  • 📋 Plan first, then build it on the same thread — plan returns schema-validated steps for you to approve, and agent implements them. ask answers questions. review runs Codex's own reviewer over uncommitted work, a base branch, or a single commit.
  • 🧵 Resume — continue a Codex thread with resumeThreadId. resumed: false tells you the context did not carry over.
  • 🧑‍🤝‍🧑 Run several, cancel cleanly — the same question across models, or independent workers on independent directories. cancel waits for the exit and warns when a process outlives the kill deadline.
  • 🤝 One-command install — Claude Code, Google Antigravity, GitHub Copilot CLI, Cursor and VS Code take it as a plugin, with a skill that teaches your agent how to delegate well. Cursor and VS Code install the server in one click; JetBrains, Devin Desktop (Windsurf), Visual Studio and the rest add the stdio server in settings.
  • 🩺 doctor — tells you exactly what's missing if setup isn't right.

Install

You need Node.js 20+ and the OpenAI Codex CLI, already logged in (codex login).

Claude Code

shell
/plugin marketplace add andreilungeanu/codex-delegate-mcp
/plugin install codex-delegate@codex-delegate-mcp

Then just ask:

Delegate to Codex: migrate src/api from callbacks to async/await and update the tests, then walk me through what changed.

That's the whole loop — Claude writes the brief, Codex grinds through the files, Claude walks you through the diff.

Cursor

Add to Cursor

Or add it under Customize → MCPs in the sidebar, or in ~/.cursor/mcp.json (every project) or .cursor/mcp.json (this project):

config.json
{
  "mcpServers": {
    "codex-delegate": {
      "command": "npx",
      "args": ["-y", "codex-delegate-mcp"]
    }
  }
}

Then ask Cursor to delegate implementation to Codex the same way.

Google Antigravity

shell
agy plugin install https://github.com/andreilungeanu/codex-delegate-mcp

Restart the Antigravity app to load it. If you added codex-delegate to mcp_config.json by hand, remove that entry.

Without the CLI, use the manual config under More clients.

GitHub Copilot CLI

shell
copilot plugin marketplace add andreilungeanu/codex-delegate-mcp
copilot plugin install codex-delegate@codex-delegate-mcp

The server alone, without the skill: copilot mcp add codex-delegate -- npx -y codex-delegate-mcp.

More clients

VS Code — one-click install, or .vscode/mcp.json

Install in VS Code Install in VS Code Insiders

config.json
{
  "servers": {
    "codex-delegate": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "codex-delegate-mcp"]
    }
  }
}

Or run Chat: Install Plugin From Source with this repository's URL (needs the chat.plugins.enabled setting).

JetBrains AI Assistant — Settings → Tools → AI Assistant → MCP

Under Settings → Tools → AI Assistant → Model Context Protocol (MCP), click Add and paste this JSON:

config.json
{
  "mcpServers": {
    "codex-delegate": {
      "command": "npx",
      "args": ["-y", "codex-delegate-mcp"]
    }
  }
}
Devin Desktop (formerly Windsurf) — ~/.config/devin/mcp_config.json

This config is for Devin Local, the default agent (Local 3.6+). On Windows the file is %APPDATA%\devin\mcp_config.json. Legacy Cascade and older Windsurf builds read ~/.codeium/windsurf/mcp_config.json.

config.json
{
  "mcpServers": {
    "codex-delegate": {
      "command": "npx",
      "args": ["-y", "codex-delegate-mcp"]
    }
  }
}

Heads-up: Devin Desktop's Cascade agent caps you at 100 tools across all servers.

Visual Studio 2026 / 2022 — %USERPROFILE%\.mcp.json
config.json
{
  "servers": {
    "codex-delegate": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "codex-delegate-mcp"]
    }
  }
}

Visual Studio 2022 needs 17.14+. Note the top-level key is servers, not mcpServers. A .mcp.json in the solution directory scopes it to that solution.

OpenCode — ~/.config/opencode/opencode.json or project opencode.json

OpenCode does not use mcpServers. Local servers go under mcp, with type: "local" and command as one array:

config.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "codex-delegate": {
      "type": "local",
      "command": ["npx", "-y", "codex-delegate-mcp"],
      "enabled": true
    }
  }
}

This is the v1 shape, which OpenCode v2 still reads (v2's native form is mcp.servers).

Google Antigravity (without the plugin) — ~/.gemini/config/mcp_config.json or workspace .agents/mcp_config.json
config.json
{
  "mcpServers": {
    "codex-delegate": {
      "command": "npx",
      "args": ["-y", "codex-delegate-mcp"],
      "timeoutSeconds": 21660
    }
  }
}
Kilo Code — kilo.jsonc (mcp key, not mcpServers)

Same shape as OpenCode: type: "local" and command as one array.

config.json
{
  "mcp": {
    "codex-delegate": {
      "type": "local",
      "command": ["npx", "-y", "codex-delegate-mcp"],
      "enabled": true
    }
  }
}

In the VS Code extension: Settings → MCP → Add Server → Local (stdio). On Windows, if npx is not found, use command cmd with arguments /c, npx, -y, codex-delegate-mcp.

Kiro and any other MCP client

Add the following server to the client's MCP config — for Kiro, ~/.kiro/settings/mcp.json (user) or .kiro/settings/mcp.json (workspace):

config.json
{
  "mcpServers": {
    "codex-delegate": {
      "command": "npx",
      "args": ["-y", "codex-delegate-mcp"]
    }
  }
}

MIT © Andrei Lungeanu

Configuration · Security · Privacy · Terms · Changelog