Async Parallel Antigravity for Codex & Claude Code

io.github.varadfromeastPublished by GitHub account varadfromeastv0.1.12Updated Oct 24, 2026

Run parallel, resumable, human-operable Antigravity CLI sessions from any MCP agent harness

The publisher's own server: Claude Platform Docs

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

Wraps the Antigravity CLI so an MCP agent can start, wait on, observe, feed and cancel parallel resumable agy runs.

What you can do
  • Start, continue or open interactive Antigravity CLI runs, and cancel one active run
  • Wait on sparse lifecycle, attention, progress and terminal events, and read status, transcript or raw terminal views
  • Send guarded input to a run, with optional event or transcript preconditions
  • Read final result metadata or bounded result chunks by run id
  • Create goals, start named targets with bounded parallelism and read aggregate status
  • Read diagnostics, models, plugins, validation and changelog information
When to use it
Useful when an agent harness such as Codex or Claude Desktop should drive several long-running Antigravity CLI sessions in parallel and still collect results after MCP calls time out or the harness restarts. Also fits splitting work into named targets under one goal.
Requirements
Local stdio process installed from PyPI with uvx; Python 3.11+ on macOS or Linux. Needs the official Antigravity CLI already installed and authenticated, tmux plus a supported terminal launcher, and AGY_CMD set to the absolute path of the agy executable. Optional settings cover state directory, Antigravity root, parallelism and wait timing.
Before you install
The bridge always enables Antigravity's dangerous permission-skip policy, so runs can read and write files, execute commands and use the network with the current user's privileges; it is not a sandbox, and sandbox hints are not containment. It reads local conversation metadata and trajectory files. Runs are experimental and tied to specific Antigravity CLI versions.

Installation

In SourceWeft

  1. Open Async Parallel Antigravity for Codex & Claude Code in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

codex-agy-bridge

[CI] [License: MIT]

Run Antigravity from an agent harness as durable, parallel, human-operable agy sessions over MCP.

codex-agy-bridge wraps the official Antigravity CLI with a resumable MCP control plane. Agent harnesses like Codex, Claude Desktop, or your own GPT/Claude-powered MCP client can start agy runs, wait on sparse events, attach a real terminal, send guarded input, cancel safely, continue exact conversations, and collect final results later by run_id.

Quick Install

Prerequisites:

  • Codex CLI for the command below, or another local stdio MCP-capable harness
  • The official Antigravity CLI (agy), already authenticated locally
  • uv / uvx
  • tmux and a supported terminal launcher:
bash
# macOSbrew install tmux
# Debian/Ubuntu Linux (x-terminal-emulator is also supported)sudo apt install tmux gnome-terminal

Check the required commands:

bash
codex --versionagy --versionagy modelsuvx --versiontmux -V

Day 0 Authentication

agy --version only proves the binary exists. Before adding the MCP server, run agy models; if Antigravity asks you to sign in or reports that you are not logged in, start a visible session and complete the browser/login flow:

bash
agy --prompt-interactive "Authenticate Antigravity and then exit."agy models

After agy models succeeds, install or restart the MCP server. If a bridge run still hits auth, agy_run_start returns status="auth_required" and opens a visible agy authentication session by default. Complete sign-in there, then start a fresh run. You can also use agy_run_observe(view="terminal") or agy_admin(action="doctor") to inspect the auth-required status.

Install from PyPI with the Codex CLI:

bash
codex mcp add codex-agy-bridge \  --env AGY_CMD="$(command -v agy)" \  -- "$(command -v uvx)" codex-agy-bridge@latest

Restart the harness, then verify in Codex if you used the command above:

bash
codex mcp get codex-agy-bridgecodex mcp list

Remove it with:

bash
codex mcp remove codex-agy-bridge

For Claude Desktop or a custom MCP client, use the same stdio command shape: uvx codex-agy-bridge@latest with AGY_CMD set to the authenticated agy executable.

What Makes It Different

  • Parallel Antigravity sessions: launch multiple independent agy runs, each with its own durable state, logs, transcript projection, and result.
  • Human-operable terminals: foreground runs live in persistent tmux sessions, so Terminal.app can attach without killing the agent.
  • Resumable MCP control: MCP calls can time out, the harness can restart, and the run can still be observed later by run_id.
  • Goal orchestration: create a goal, start named targets with bounded parallelism, and inspect the whole batch as one coordinated effort.
  • Sparse wake events: agy_run_wait short-polls lifecycle, attention, progress, and terminal events without transcript-polling spam.
  • Guarded input: agy_run_input can reject stale writes when event or transcript cursors changed after the caller observed the run.
  • Trajectory-aware observability: bounded transcript summaries and terminal evidence are exposed without private model reasoning.
  • Operational hygiene: duplicate active starts are deduplicated, process groups are cancelled safely, and completed result artifacts are preserved.

Install Details

If You Are An Agent Reading This

Help the user install it; do not silently mutate their machine.

  1. Verify prerequisites first:
bash
command -v codexcommand -v agycommand -v uvxcommand -v tmuxagy --versionagy models
  1. If anything is missing, ask before installing it.
  2. If agy models reports an auth error, help the user complete the Day 0 authentication flow above before adding the MCP server.
  3. Then run:
bash
codex mcp add codex-agy-bridge \  --env AGY_CMD="$(command -v agy)" \  -- "$(command -v uvx)" codex-agy-bridge@latest
  1. Verify:
bash
codex mcp get codex-agy-bridgecodex mcp list
  1. Tell the user to restart their agent harness so the new MCP tools load.

PyPI

The Quick Install command stores an stdio MCP server definition. When the agent harness starts the server, uvx resolves codex-agy-bridge@latest from PyPI, installs it into an isolated cached environment, and runs the codex-agy-bridge console script. AGY_CMD pins the bridge to the user's already-installed and authenticated agy executable.

Do not replace $ or $(...) manually in the command. In POSIX shells, $(command -v agy) and $(command -v uvx) expand to absolute executable paths.

GitHub

Use this when you want the repository version directly:

bash
codex mcp add codex-agy-bridge \  --env AGY_CMD="$(command -v agy)" \  -- uvx --from git+https://github.com/varadfromeast/codex-agy-bridge \  codex-agy-bridge

Local Development

bash
git clone https://github.com/varadfromeast/codex-agy-bridge.gitcd codex-agy-bridgeuv sync --extra dev
codex mcp add codex-agy-bridge \  --env AGY_CMD="$(command -v agy)" \  -- uv --directory "$PWD" run codex-agy-bridge

How It Works

mermaid
flowchart LR  H["Agent harness<br/>(Codex, Claude, custom MCP client)"]  M["codex-agy-bridge<br/>MCP stdio server"]  S["Durable control plane<br/>runs, goals, events, results"]  W["Detached run supervisor"]  A["Antigravity CLI<br/>agy"]  T["Persistent tmux session<br/>human attach/input"]  L["Local Antigravity<br/>trajectory files"]
  H <-->|"MCP tools"| M  M <--> S  S --> W  W --> A  W <--> T  A --> L  W -->|"bounded transcript projection"| S  T -->|"terminal logs and attention prompts"| S

The bridge keeps the MCP server responsive while detached supervisors own the long-running agy processes. State and events are persisted locally, so a run can continue after the original MCP call returns. For the deeper process model, see docs/ARCHITECTURE.md. For the MCP control-loop vision, see docs/MCP_VISION.md.

MCP Tools

ToolPurpose
agy_run_startStart, continue, or open an interactive foreground run
agy_run_waitShort-poll until selected runs emit sparse wake events
agy_run_observeRead full, status, transcript, or raw terminal views
agy_run_inputSend input with optional event/transcript preconditions
agy_run_cancelCancel one active run
agy_run_resultRead final result metadata or bounded result chunks
agy_goalCreate goals, start targets, and read aggregate status
agy_adminRead diagnostics, models, plugins, validation, and changelog

Omit model (or pass null) to let Agy choose its default: the bridge stores model: null and does not send --model. This applies to runs, review tools, and goals, whose targets inherit their goal's selection. Explicit selections are validated against agy models, including the bridge's former Gemini 3.5 Flash (Medium) default; unknown and empty selections are rejected. The bridge never substitutes the first catalog entry. agy_admin(action="models") reports default_model: null and default_model_source: "agy_cli"; this describes delegation, not an observed effective provider model.

Existing persisted runs and goals retain their model strings and remain readable. They are not silently migrated to a different model. New launches from an old goal revalidate its selection and reject it if it is no longer available; create a new goal with an available model or omit the selection to delegate to Agy. Previously reserved runs retain their original command policy. New delegated requests have distinct deduplication keys from explicitly selected models. Older bridge versions that require a string goal model cannot read new null-model goals; avoid downgrading with those goals in use.

Typical flow:

text
agy_run_start -> agy_run_wait -> agy_run_observe -> agy_run_result

In Codex MCP, tools may be exposed with the server prefix, for example codex_agy_bridge_agy_run_wait. Run responses include exact wait_call arguments; note that agy_run_wait always takes run_ids: ["..."], even for a single run. Supported wait conditions are any_attention, any_terminal, all_terminal, any_event, and aliases attention, terminal, finished, finish, complete, completed, result, all_finished, all_complete, and all_completed.

Use agy_goal when the harness should split work into named targets with a shared objective and bounded parallelism.

Configuration

VariableDefaultPurpose
AGY_CMDagy on PATHExact Antigravity executable
AGY_BRIDGE_STATE_DIR~/.local/state/codex-agy-bridgeDurable run and goal state
AGY_BRIDGE_AGY_ROOT~/.gemini/antigravity-cliAntigravity conversations and trajectories
AGY_BRIDGE_MAX_PARALLEL50Global concurrent-run limit
AGY_BRIDGE_COMPLETION_STABILITY_SECONDS150Time a final marker must remain stable
AGY_BRIDGE_MCP_WAIT_SLICE_SECONDS120Max seconds a single agy_run_wait MCP call blocks before returning a snapshot so gateways do not time out

Run state survives MCP server restarts under ~/.local/state/codex-agy-bridge/.

Status And Risk

This project is experimental. It currently targets Python 3.11+, macOS or Linux with a supported terminal launcher, tmux, and Antigravity CLI 1.0.8-compatible commands and trajectory files.

Antigravity is an agentic CLI. It can read and write files, execute commands, and access the network with the current user's privileges. This bridge is not a sandbox or security boundary.

The bridge always enables Antigravity's dangerous permission-skip policy so unattended runs do not stall on CLI approval prompts. Any dangerously_skip_permissions=false input is rejected; the only allowed value is true. sandbox=true and additional_directories are CLI policy hints, not filesystem containment.

The bridge does not read or copy Antigravity OAuth credentials. It invokes the installed agy binary and reads ordinary local conversation metadata and trajectory files.

Development

bash
git clone https://github.com/varadfromeast/codex-agy-bridge.gitcd codex-agy-bridgeuv sync --extra devuv run pytestuv run ruff check .uv build

Run the server directly:

bash
uv run codex-agy-bridge

The server uses stdio transport. Do not print diagnostic text to stdout; it would corrupt MCP framing.

Publishing

A pushed version tag runs .github/workflows/publish.yml, which verifies versions, runs checks, builds distributions, publishes to PyPI through GitHub OIDC, creates a GitHub release, and publishes server.json to the MCP Registry.

Compatibility

The current reader expects Antigravity trajectory JSONL under:

text
~/.gemini/antigravity-cli/brain/<conversation-id>/  .system_generated/logs/transcript.jsonl

If Antigravity moves to SQLite or a local daemon API, a new adapter can replace this reader without changing the MCP tool contract.

License

MIT

Source: README.md at commit 508120b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.1.12LatestSep 17, 2026
  2. v0.1.11Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Claude integrations