Skip to main content
Glama

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.13 — Stop generation from mobile, MCP server + OpenAPI spec, 15-language UI, file upload improvements. 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

Demo 1

Demo 2

Demo 3

Demo 4

Demo 5

Demo 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 (Start Menu shortcut):

& "C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Antigravity\Antigravity.lnk" --remote-debugging-port=9000

macOS:

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

Linux:

antigravity --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

Command

Description

Antigravity Link: Start Server

Starts the local bridge server.

Antigravity Link: Stop Server

Stops the server.

Antigravity Link: Show QR Code

Displays the connection QR code.

Antigravity Link: Select Network Interface

Choose which network interface the QR URL advertises.

Settings

Setting

Default

Description

antigravityLink.port

3000

Port for the local bridge server.

antigravityLink.autoStart

false

Start the server on VS Code launch.

antigravityLink.useHttps

true

Serve over HTTPS for mic access.

antigravityLink.preferredHost

""

Optional LAN IPv4 to advertise in QR URL (example: 192.168.1.101).

antigravityLink.strictWorkbenchOnly

true

Only bind to workbench.html CDP targets for stability.

antigravityLink.includeFallbackTargets

false

Allow 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\extensions\cafetechne.antigravity-link-extension-1.0.13

  • macOS/Linux: ~/.antigravity/extensions/cafetechne.antigravity-link-extension-1.0.13

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:

  • No requests are made to Google's servers beyond what Antigravity already sends. The extension has no network access outside your LAN.

  • 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.

Method

Endpoint

Description

GET

/ping

Health check — returns pong. No auth required.

GET

/snapshot

Current chat surface: HTML, CSS, mode/model, isGenerating.

GET

/instances

List active Antigravity windows.

POST

/instance

Switch active window. Body: { "targetId": "..." }

POST

/send

Send a message. Body: { "message": "..." }

POST

/click

Click a UI element. Body: { "selector"?, "text"?, "x"?, "y"? }

POST

/stop

Stop AI generation.

POST

/upload

Upload a file (multipart/form-data, field name file).

GET

/task

Read the current task document.

GET

/walkthrough

Read the current walkthrough document.

GET

/plan

Read 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\extensions\cafetechne.antigravity-link-extension-1.0.13

  • macOS/Linux: ~/.antigravity/extensions/cafetechne.antigravity-link-extension-1.0.13

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

Tool

Description

get_snapshot

Get current chat state, mode, model, and generation status.

send_message

Send a message to the active chat.

stop_generation

Cancel active AI generation.

get_instances

List available Antigravity windows.

switch_instance

Switch to a different Antigravity window.

click_element

Click a UI element by selector, text, or coordinates.

get_task

Read the current task document.

get_walkthrough

Read the current walkthrough document.

get_plan

Read 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:

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
12hResponse time
Release cycle
1Releases (12mo)
Issues opened vs closed

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/cafeTechne/antigravity-link-extension'

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