Skip to main content
Glama

Codex Gemini Delegator V2

A robust, production-ready MCP (Model Context Protocol) server that allows OpenAI Codex to supervise and delegate tasks to Google Gemini (Antigravity) workers as subordinate agents.

Unlike other bridges, this delegator treats Gemini workers as resilient background jobs. It orchestrates isolated Git worktrees, enforces strict security boundaries, and connects to the already-running Antigravity language server.

Key Features

  1. True Git Worktree Isolation: When Codex delegates a task, the delegator automatically spawns an isolated worktree (~/.codex/gemini-delegator/worktrees/wt-<uuid>). Gemini executes its code changes strictly inside this isolated environment. Reports include uncommitted and untracked changes; applying a run stages them into a clean target without auto-committing.

  2. First-Party API Alignment: This MCP server exposes the exact tool names and signatures expected by mainstream Codex delegators (delegate_to_agent, apply_agent_run, get_agent_run_report, etc.).

  3. Antigravity Language-Server Bridge: Workers use the signed-in Antigravity Desktop language server. The bridge discovers its dynamic local port by validating the CSRF page instead of relying on a stale hard-coded port.

  4. Symlink-Resistant Security Boundaries: Subordinate workers are hardened against path traversal and symlink vulnerabilities. A custom hook (enforce_boundaries.py) prevents them from executing destructive commands (rm -rf, git reset) and strictly jails their write access to their delegated scope.

  5. SQLite WAL Persistence: All runs, PIDs, and logs are tracked in a lightning-fast SQLite WAL ledger. If you close your Codex session, the Gemini workers keep running in the background and their state is fully recoverable.

Related MCP server: codex-dobby-mcp

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/psychofanplays/gemini4codex-mcp.git
    cd gemini4codex
  2. Register the MCP Server in Codex using uv: Add the following to your ~/.codex/config.toml (or equivalent Codex MCP configuration). We highly recommend using uv to automatically manage the environment and dependencies:

    [mcp.servers.gemini-delegator]
    command = "uv"
    args = [
        "--directory", 
        "/ABSOLUTE/PATH/TO/gemini4codex", 
        "run", 
        "-m",
        "server.gemini_delegator"
    ]
  3. No bootstrap command is required: The MCP server does not execute bootstrap/setup instructions. GEMINI.md and Codex-side instructions remain policy references only.

How It Works

When Codex is connected to the MCP server, it gains access to the following tools:

  • list_agent_backends: Verifies the Gemini CLI and DB are healthy.

  • list_agent_runs: Displays all active, idle, and failed background workers.

  • delegate_to_agent: Spawns a new Gemini worker inside a new UUID Git Worktree.

  • continue_agent_run: Sends a follow-up instruction to an existing worker.

  • get_agent_run_report: Returns the worker's JSON logs, execution status, and the complete tracked/untracked diff from its worktree.

  • apply_agent_run: Stages the worker's worktree patch into a clean target branch; it does not auto-commit.

  • cleanup_agent_run: Cancels a running worker and deletes its isolated worktree.

Example Workflow (From Codex's Perspective)

  1. Codex: "I need to refactor the database schema, but I don't want to break the app. I'll delegate this to a Gemini worker."

  2. Codex calls delegate_to_agent(worker_id="db-refactor", workspace_path=".")

  3. Delegator Server creates ~/.codex/gemini-delegator/worktrees/wt-5f8a9b2c and sends the task through the Antigravity language server.

  4. Gemini works in the background, modifying files. Codex reviews the complete diff before applying it.

  5. Codex periodically calls get_agent_run_report("db-refactor").

  6. Codex reads the git diff returned by the report. "Looks good, the tests passed."

  7. Codex calls apply_agent_run("db-refactor").

  8. Delegator Server stages the changes into the main branch but explicitly leaves them uncommitted, allowing Codex or the human user to review and finalize the commit.

Security

This plugin aggressively restricts the Gemini subordinate worker:

  • True OS Sandboxing: The Delegator explicitly prevents subordinate workers from bypassing the Antigravity OS sandbox, meaning they are natively isolated from the filesystem at the kernel level and cannot modify files outside the delegated scope.

  • Git Sandboxing: Workers are forbidden from running structural git commands (git commit, git push, git merge) or destructive operations (rm -rf).

  • Profile Segregation: You can delegate a scout or reviewer profile, which disables all write tools completely.

Architecture Map

The project is structured into three main layers:

gemini4codex/
├── pyproject.toml           # Python packaging and dependency config
├── Codex-BOOTSTRAP.md       # Optional historical/reference guidance; never executed by the server
└── server/
    ├── gemini_delegator.py  # The FastMCP Server exposing endpoints to Codex
    ├── agentapi.py           # Antigravity language-server bridge and port discovery
    ├── supervisor.py         # Async execution engine and ledger integration
    ├── worktree.py           # Git worktree isolation and patch staging
    ├── security.py          # Dynamic SDK hooks to jail the worker
    └── ledger.py            # SQLite WAL state manager for robust persistence
  • Layer 1: The Codex Interface (gemini_delegator.py) handles all incoming MCP requests.

  • Layer 2: The Orchestrator (worktree.py & supervisor.py) spins up the isolated environment and runs the worker asynchronously through the Antigravity language server.

  • Layer 3: The Jailed Subordinate (security.py) restricts the worker's context natively so it cannot harm the host system or primary branch.

Available Tools

7 tools
apply_agent_runB

Merge the changes from the agent's worktree back into the main branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
worker_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose the tool's behavior. It only states that the merge happens, but does not mention potential side effects like whether the worktree is deleted, if the merge is destructive, or how conflicts are handled. The mutation is implied but its consequences are not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is direct and front-loaded. It contains no unnecessary words or filler, making it highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only one parameter and an output schema, the description is minimal but functional. However, it lacks usage context and behavioral details that would make it complete, such as when to apply the run and what happens to the worktree afterward.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for 'worker_id', and the description does not explicitly explain it. Although the phrase 'agent's worktree' indirectly suggests worker_id identifies the agent run, the description adds no concrete meaning beyond the parameter name itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Merge') and identifies the resource ('agent's worktree') and target ('main branch'). This effectively distinguishes it from sibling tools like continue_agent_run or cleanup_agent_run, which have different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention any prerequisites (e.g., after an agent run completes) or contrast with 'continue_agent_run' or 'cleanup_agent_run'. The usage context is entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cleanup_agent_runA

Cancel a running agent and delete its temporary worktree.

ParametersJSON Schema
NameRequiredDescriptionDefault
worker_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the two main actions (cancel and delete), clearly indicating the destructive nature of deleting the worktree. However, it omits details such as what happens if the agent is not running, whether the deletion is permanent, or any side effects beyond the worktree, leaving some gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of nine words, highly concise and front-loaded. Every word contributes meaning, clearly stating the two core actions without any redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one mandatory parameter and an output schema, the description adequately covers the core purpose. However, it lacks context around edge cases (e.g., agent already finished, worktree missing) and does not clarify what happens to the agent run record after cancellation. This leaves some gaps for a destructive operation, but the description is not fatally incomplete for a simple cleanup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'worker_id' has no description in the schema (0% coverage), and the tool description never mentions this parameter or explains how it relates to the cancellation. The parameter name is somewhat self-explanatory, but the description fails to compensate for the lack of schema documentation, offering no additional context like format, source, or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verbs 'Cancel' and 'delete' with a clear resource ('running agent' and 'temporary worktree'). It clearly distinguishes from sibling tools like list_agent_runs or delegate_to_agent, leaving no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context: when you want to cancel a running agent and clean up its temporary worktree. However, it does not explicitly mention when to avoid using it or suggest alternatives from the sibling tools, so it stops at implied usage rather than clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

continue_agent_runA

Send follow-up instructions to an existing Gemini worker to continue its workstream.

ParametersJSON Schema
NameRequiredDescriptionDefault
worker_idYes
instructionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It only states the action ('send follow-up instructions') but does not describe side effects, whether the call blocks, what happens if the worker is inactive, or any other behavioral traits. Minimal information beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the main action and includes no wasted words. It is appropriately concise for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for a 2-parameter tool with no annotations. It lacks explicit usage guidance, behavioral disclosure, and detailed parameter semantics. The presence of an output schema does not make up for these core missing elements, so it is not contextually complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has no descriptions (0% coverage), but the description adds some meaning: 'existing Gemini worker' clarifies worker_id and 'follow-up instructions' maps to the instruction parameter. However, it does not explain instruction format, length, or constraints, so the compensation is only partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Send follow-up instructions') and identifies a clear resource ('existing Gemini worker') and action scope ('continue its workstream'). This distinguishes it from sibling tools like delegate_to_agent (new delegation) and cleanup_agent_run (cleanup), so purpose clarity is strong.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by indicating that this is for an existing worker and follow-up instructions, implying it is not for new tasks. However, it does not explicitly name alternatives or state when-not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delegate_to_agentA

Delegate a new task to a Gemini worker. Creates a new Git worktree for isolated execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
effortNohigh
contextYes
profileNoworker
objectiveYes
worker_idYes
workspace_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden of behavioral disclosure. It does disclose a key side effect—creating a new Git worktree—but it omits other important details such as whether the execution is asynchronous, how results are returned, or how the worktree is cleaned up. This leaves security and lifecycle concerns unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of exactly two sentences: the first front-loads the primary action and target, and the second adds a critical side-effect detail. There is no redundant or irrelevant wording, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool has 7 parameters and clearly initiates a multi-step workflow (creating a worktree and delegating a task), yet the description omits lifecycle context—such as that this produces a run that may later be continued, applied, or cleaned up via sibling tools. With no annotations, important safety and behavioral details are missing, leaving the description incomplete for such a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description provides no explanation of parameter roles, such as the difference between 'context' and 'objective' or the meaning of 'worker_id'. The only meaning comes from parameter names and titles in the schema, so the description fails to compensate for the absence of schema-level descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'delegate' and the resource 'a new task to a Gemini worker', and it differentiates from sibling tools by highlighting 'new task' and 'isolated execution' via a Git worktree. This contrasts with the list/continue/apply/cleanup siblings, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for initiating a new task, but it does not explicitly state when to prefer this tool over the sibling tools, nor does it mention any prerequisites or exclusions. The context is inferable but not directly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_agent_run_reportA

Get the full results, recent events, and the Git diff of an agent run.

ParametersJSON Schema
NameRequiredDescriptionDefault
worker_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the transparency burden. It discloses what the tool returns (full results, events, git diff) but does not explicitly state whether it is read-only, error behavior, or any prerequisites. The 'get' prefix implies read-only but is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that immediately conveys the purpose and key return contents. No extra words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple (one parameter) and has an output schema, the description lacks workflow context. It does not mention how to obtain a worker_id or when the report is available (e.g., after run completion). It is adequately complete for a basic 'get' but could be stronger with sibling references.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (worker_id) with 0% description coverage. The tool description does not explain what worker_id means or how it relates to an agent run, offering only a weak inference that it identifies the run. This is insufficient for an agent to confidently populate the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a report containing full results, recent events, and Git diff for an agent run. This distinguishes it from sibling tools like list_agent_runs (which likely lists runs) and apply_agent_run (which applies changes).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this when you need detailed run information. However, there is no explicit when-not-to-use guidance or reference to alternatives, despite sibling tools existing that could be contrasted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_agent_backendsA

List available agent backends and check their health.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It mentions listing and health checking, implying a read-only operation, but it does not disclose potential side effects such as network latency or whether health checks involve pinging each backend. This is a moderate level of transparency, sufficient for a simple list operation but lacking deeper behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence: 'List available agent backends and check their health.' It is front-loaded with the verb and resource, with no redundant words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple tool with no required parameters and an output schema already provided. The description tells an agent enough to select the tool and invoke it without further clarification. It could mention what the health output looks like, but the output schema likely covers that, so the description is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema covers everything automatically. The description need not add parameter details, so the baseline of 4 applies here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available agent backends and checks their health, using a specific verb and resource. This distinguishes it from sibling tools like list_agent_runs and cleanup_agent_run, which focus on agent runs rather than backends.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use this tool to see what agent backends exist and their health status. It does not explicitly name alternatives, but the sibling tools are all run-related, making the use case distinct and obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_agent_runsA

List all agent runs, their states, and recent activity. Use this before creating new workers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. The verb 'List' implies a non-destructive read operation, and the description specifies scope and content. It does not disclose potential caveats like pagination, but for a list tool this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no redundant information. It front-loads the primary action and adds a practical usage tip, earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple—no parameters and an output schema exists—so the description fully covers purpose and usage context. It completely explains what the tool does and when to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there is no parameter information to convey. The baseline for 0 parameters is 4, and the description does not need to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all agent runs with their states and recent activity, using a specific verb ('List') and resource ('agent runs'). It distinguishes itself from siblings like list_agent_backends (different resource) and get_agent_run_report (specific report).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this before creating new workers,' providing clear context for when to invoke it. However, it does not mention alternatives or exclusions, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct action: listing backends, listing runs, fetching a report, delegating a task, continuing a run, applying changes, and cleaning up. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in lower snake_case, e.g., list_agent_backends, delegate_to_agent, continue_agent_run. The variation between 'list' and 'get' is minor and conventional.

Tool Count5/5

With 7 tools, the set is well-scoped for managing agent worker lifecycles. Each tool fills a specific niche without redundancy or unnecessary bloat.

Completeness5/5

The tools cover the full lifecycle of agent runs: creating (delegate), continuing, reading reports, listing, applying, and cleaning up. No critical operations are missing for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that delegates coding and sysops work to cheaper agents via durable background queues, with git worktree isolation, safety policies, and clarification rounds to avoid hitting limits of frontier models.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    A local MCP server that lets Claude delegate scoped work to Codex with structured results and guardrails, supporting planning, code review, build, reverse engineering, and long-running background tasks.
    11
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/psychofanPLAYS/gemini4codex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server