Sandbox
@cafeTechne/antigravity-link-extension

Mobile bridge and MCP server for Antigravity IDE

Antigravity Link connects to a running Antigravity IDE session through Chrome DevTools Protocol, then serves a mobile UI on your local network. From that UI you can read the chat, send messages, stop generation, upload files, and switch between open windows.

210 stars33 forksHTMLUpdated 3mo ago
Who it's for

Builders who use Antigravity IDE and want their session available on a phone or through an MCP client.

What it delivers

You can monitor and control an active Antigravity chat without going back to your desk.

What it does

Live mobile mirror

Shows the active chat on a phone browser and keeps responses in sync as they stream.

Message and stop controls

Lets you send messages and stop generation from the mobile UI or API.

File upload

Uploads files into the active Antigravity chat from the phone.

Multiple window switching

Lists open Antigravity instances and switches the active target.

Local HTTP API

Exposes endpoints like `/snapshot`, `/send`, `/stop`, `/upload`, and `/instances` for scripts and tools.

MCP server

Provides MCP tools such as `get_snapshot`, `send_message`, `stop_generation`, and `switch_instance`.

Local-only access with token auth

Runs on your machine, serves over HTTP or HTTPS, and requires a bearer token for protected endpoints.

How to get it

  1. 1Windows
    & "C:\Users\<username>\AppData\Local\Programs\Antigravity IDE\Antigravity IDE.exe" --remote-debugging-port=9000
  2. 2macOS
    open -a "Antigravity IDE" --args --remote-debugging-port=9000
  3. 3Linux
    antigravity-ide --remote-debugging-port=9000

README

Antigravity Link (VS Code Extension)

CI Open VSX Version Open VSX Downloads npm version npm downloads GitHub Stars License: MIT

Read this in your language: 日本語 · 中文(简体) · 中文(繁體) · 한국어 · Deutsch · Français · Español · Português · Русский · Italiano · Polski · Türkçe · Tiếng Việt · Bahasa Indonesia · العربية

What's new in v1.0.20 — Security: removed child_process dependency entirely; debug endpoints now require auth; localhost guard on all LS RPC calls. See CHANGELOG.


Contents


You're running an Antigravity session and need to step away from your desk. The AI is mid-generation. You want to monitor it, redirect it, upload a file, or just read what it wrote from your phone, without coming back to your computer.

Antigravity Link makes that possible. Scan a QR code and your phone becomes a live mirror of the active chat: read responses as they stream, send messages, stop generation, upload files, dictate via voice, and switch between multiple Antigravity windows all from a mobile browser, on your local network.

For automation, the extension also exposes a local HTTP API and an MCP server so agents and external tools can drive Antigravity sessions programmatically.

Demo

https://github.com/user-attachments/assets/43c7d029-a598-474f-949e-5da333c9a3f2

Screenshots
Demo 1Demo 2Demo 3
Demo 4Demo 5Demo 6
Demo 7

What you get

  • Live mirror of the active Antigravity chat — read and interact from your phone.
  • File upload into the active Antigravity chat.
  • Voice-to-text input from mobile (HTTPS required for mic permissions).
  • Stop generation from your phone with a dedicated stop chip.
  • Active instance switching for multiple Antigravity windows.
  • Local HTTP API for automation and integrations (see API).
  • MCP server for AI assistant integration (see MCP server).
  • Local-only server with token authentication.
  • Interface available in 16 languages with automatic detection and RTL support.

Installation

Install from the Antigravity extensions marketplace: search Antigravity Link or install directly from Open VSX.

Prerequisites

  • Antigravity IDE installed and running.
  • A phone and computer on the same Wi-Fi network.
  • Antigravity launched with the remote debugging flag. This is required for the extension to discover and connect to your session. See the launch command in Quick start below.

Quick start

  1. Start Antigravity with remote debugging enabled. This is required; sessions launched without this flag are not discoverable by the extension.

Windows:

& "C:\Users\<username>\AppData\Local\Programs\Antigravity IDE\Antigravity IDE.exe" --remote-debugging-port=9000

macOS:

open -a "Antigravity IDE" --args --remote-debugging-port=9000

Linux:

antigravity-ide --remote-debugging-port=9000

Multiple Antigravity sessions are supported, but every window must be launched with this command.

  1. In VS Code, run: Antigravity Link: Start Server

  2. Then run: Antigravity Link: Show QR Code

  3. Scan the QR code with your phone. Your mobile UI is ready.

  4. Your phone may warn that the connection is unsafe because the certificate is self-signed. This is expected for local HTTPS. Use your browser's "Advanced" or similar option to proceed (wording differs between Safari/Chrome/Firefox).

Commands

CommandDescription
Antigravity Link: Start ServerStarts the local bridge server.
Antigravity Link: Stop ServerStops the server.
Antigravity Link: Show QR CodeDisplays the connection QR code.
Antigravity Link: Select Network InterfaceChoose which network interface the QR URL advertises.

Settings

SettingDefaultDescription
antigravityLink.port3000Port for the local bridge server.
antigravityLink.autoStartfalseStart the server on VS Code launch.
antigravityLink.useHttpstrueServe over HTTPS for mic access.
antigravityLink.preferredHost""Optional LAN IPv4 to advertise in QR URL (example: 192.168.1.101).
antigravityLink.strictWorkbenchOnlytrueOnly bind to workbench.html CDP targets for stability.
antigravityLink.includeFallbackTargetsfalseAllow jetski/launchpad fallback targets when strict mode is disabled.

For agent builders

If you want to integrate quickly, use this sequence:

  1. Start the extension server and copy the token from the QR URL (?token=...).
  2. Use either MCP tools (mcp-server.mjs) or direct HTTP calls against https://localhost:3000.
  3. Validate control flow with /snapshot, /send, and /stop.

OpenAPI example:

curl -k https://localhost:3000/snapshot \
  -H "Authorization: Bearer <token>"

MCP client configuration example:

{
  "antigravity-link": {
    "command": "node",
    "args": ["<extension-dir>/mcp-server.mjs"],
    "env": {
      "AG_BRIDGE_URL": "https://localhost:3000",
      "AG_BRIDGE_TOKEN": "<token>"
    }
  }
}

Replace <extension-dir> with the path to the installed extension:

  • Windows: %USERPROFILE%\.antigravity-ide\extensions\cafetechne.antigravity-link-extension-1.0.20
  • macOS/Linux: ~/.antigravity-ide/extensions/cafetechne.antigravity-link-extension-1.0.20

How it works (high level)

  • The extension starts a local server (HTTP or HTTPS).
  • It discovers Antigravity targets via the Chrome DevTools Protocol (CDP).
  • Your phone connects to the mobile UI and sends upload/command requests.
  • The extension injects into the selected chat target and saves files to uploads/.

Account safety

Antigravity Link has no known ban cases and is designed to stay that way.

The extension works by connecting to a debug port that Antigravity exposes on your own machine the same Chrome DevTools Protocol used by VS Code's built-in debugger and browser devtools. It reads your local UI and simulates keypresses and clicks, exactly as if you were sitting at your keyboard.

What this means in practice:

  • All network activity is local. The extension communicates only with: your phone on the LAN via the HTTPS server it starts; Antigravity IDE's Chrome DevTools Protocol port on localhost:9000; and Antigravity's Language Server process on 127.0.0.1 for the stop-generation RPC. No data is sent to Google's servers or any external service beyond what Antigravity itself sends.
  • Nothing is injected into Antigravity's network traffic. The extension reads your screen and types into your editor it does not intercept or modify API calls.
  • No Antigravity files are modified. There are no patches, hooks, or binary modifications.
  • The server runs entirely on your machine. Your prompts, chat history, and files never leave your local network unless you explicitly expose the server externally.
  • No data is sent to third-party services by this extension.

The source code is MIT-licensed and fully auditable: https://github.com/cafeTechne/antigravity-link-extension

Troubleshooting

  • No instances found: Make sure every Antigravity window was launched with the --remote-debugging-port command shown above.
  • Can't connect from mobile: Ensure your phone and computer are on the same network.
  • Uploads save but don't appear in chat: Switch to the correct Active Instance in the mobile UI.
  • Stuck on "Initializing…": The server is reachable but the chat surface has not been captured yet. Wait a few seconds for the CDP connection to initialize.

FAQ

Does this work on iOS and Android? Yes. The mobile UI runs in any modern mobile browser Safari on iOS, Chrome on Android, and others all work.

Does this work over cellular or VPN? Not by default: the server is LAN-only. For remote access you would need to expose it through a tunnel such as ngrok, wireguard, etc.. The token authentication and HTTPS remain in place regardless.

Is the self-signed certificate warning safe to accept? Yes. The certificate is generated locally on your machine at server start. The warning appears because it is not issued by a public certificate authority, not because the connection is insecure.

Can I use this for automation? Yes. The local HTTP API and MCP server are designed for exactly this. See the API and MCP server sections.

Internationalization and accessibility

The mobile interface automatically detects your browser's language and renders in:

English · 日本語 · 中文(简体)· 中文(繁體)· 한국어 · Deutsch · Français · Español · Português · Русский · Italiano · Polski · Türkçe · Tiếng Việt · Bahasa Indonesia · العربية

Arabic is rendered right-to-left automatically. Language detection uses navigator.language with no configuration required.

The interface is built with semantic HTML, ARIA roles, aria-live regions for connection status, keyboard navigation, and screen-reader-compatible labels throughout.

Contributing

Pull requests are welcome. Check the TODOs in the codebase or open a GitHub issue to discuss ideas before starting large changes. See CONTRIBUTING.md for setup and PR notes.


API

The extension exposes a local HTTP API at https://localhost:3000 (or your configured port). All endpoints except /ping require an Authorization: Bearer <token> header. The token is the value after ?token= in the QR code URL.

MethodEndpointDescription
GET/pingHealth check — returns pong. No auth required.
GET/snapshotCurrent chat surface: HTML, CSS, mode/model, isGenerating.
GET/instancesList active Antigravity windows.
POST/instanceSwitch active window. Body: { "targetId": "..." }
POST/sendSend a message. Body: { "message": "..." }
POST/clickClick a UI element. Body: { "selector"?, "text"?, "x"?, "y"? }
POST/stopStop AI generation.
POST/uploadUpload a file (multipart/form-data, field name file).
GET/taskRead the current task document.
GET/walkthroughRead the current walkthrough document.
GET/planRead the current implementation plan.

Full schema: openapi.yaml

MCP server

Antigravity Link ships an MCP (Model Context Protocol) server that lets AI assistants drive your Antigravity session directly.

Setup

Add the following to your MCP client configuration (e.g. claude_desktop_config.json):

{
  "antigravity-link": {
    "command": "node",
    "args": ["<extension-dir>/mcp-server.mjs"],
    "env": {
      "AG_BRIDGE_URL": "https://localhost:3000",
      "AG_BRIDGE_TOKEN": "<your-token>"
    }
  }
}

Replace <extension-dir> with the path to the installed extension:

  • Windows: %USERPROFILE%\.antigravity-ide\extensions\cafetechne.antigravity-link-extension-1.0.20
  • macOS/Linux: ~/.antigravity-ide/extensions/cafetechne.antigravity-link-extension-1.0.20

The token is the value after ?token= in the QR code URL. The extension server must be running before the MCP client connects.

Available tools

ToolDescription
get_snapshotGet current chat state, mode, model, and generation status.
send_messageSend a message to the active chat.
stop_generationCancel active AI generation.
get_instancesList available Antigravity windows.
switch_instanceSwitch to a different Antigravity window.
click_elementClick a UI element by selector, text, or coordinates.
get_taskRead the current task document.
get_walkthroughRead the current walkthrough document.
get_planRead the current implementation plan.

Standalone vs workspace assets

This extension is self-contained. It ships its own public/ assets and uploads/ folder and does not require the parent npm run dev build.

If your workspace contains public/ or uploads/, the extension will prefer those paths automatically. This makes it easy to customize the mobile UI or keep uploads in your project root, but it also means behavior can differ between workspaces.


Star history

Star History Chart

Acknowledgments

Inspired by early community projects including:

Files in the repo

Repository payload32 top-level entries
  • demo_photos
  • public
  • src
  • .gitignore
  • .vscodeignore
  • CHANGELOG.md
  • CONTRIBUTING.md
  • esbuild.js
  • icon.png
  • LICENSE
  • mcp-server.mjs
  • openapi.yaml
  • package-lock.json
  • package.json
  • README.ar.md
  • README.de.md
  • README.es.md
  • README.fr.md
  • README.id.md
  • README.it.md
  • README.ja.md
  • README.ko.md
  • README.md
  • README.pl.md
  • README.pt.md
  • README.ru.md
  • README.tr.md
  • README.vi.md
  • README.zh-CN.md
  • README.zh-TW.md
  • server.json
  • tsconfig.json

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k