MCP server exposing Google Antigravity (agy CLI / Gemini): jobs, codebase analysis, file tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Let Claude (or any MCP client) hand its heavy work to Google Antigravity's agy agent.
mcp-server-google-antigravity is a small MCP (Model Context Protocol) server. It exposes Google Antigravity β Google's terminal coding agent, driven by the agy CLI (Gemini under the hood) β as a set of tools any MCP client can call.
The idea: your primary model (Claude Desktop, Claude Code, Codex, β¦) stays lean and delegates the grunt work β web search, whole-repo analysis, scaffolding files, long-running edits β to a second agent running in the background. Jobs are async and unlimited: you fire a task, get a jobId instantly, and poll for the result while the caller keeps working.
| Need | Why |
|---|---|
| Node.js 18+ | Runs this server (ships with npx/npm). Check: node --version |
Antigravity CLI (agy) | The agent this server drives. Install below. |
| An MCP client | Claude Desktop, Claude Code, or anything that speaks MCP |
agy)Never used
agybefore? Start here. It's one command. First launch signs you in with Google.
macOS / Linux
Windows (PowerShell)
Windows (CMD)
Where it lands (remember this β you may need it for AGY_PATH below):
| OS | Default agy location |
|---|---|
| macOS / Linux | ~/.local/bin/agy |
| Windows | C:\Users\<you>\AppData\Local\agy\bin\agy.exe |
Sign in and verify:
If agy isn't found afterwards, open a new terminal (so PATH reloads) or run agy install to fix shell paths.
Option A β npx (recommended): Skip straight to Step 3 and use the npx config. The npx path works seamlessly from the public npm registry with no authentication required.
Alternatively, you can install the package globally:
This exposes the mcp-server-google-antigravity command (which you can register directly in your MCP client's config instead of npx).
Option B β from source (for hacking on it):
node-pty(used only for clean output on Windows) is an optional dependency β if it can't build on macOS/Linux the install still succeeds and the server falls back automatically. No compiler needed.
Edit your claude_desktop_config.json:
| OS | Config file |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Using npx (Option A) β recommended:
Windows note: Electron (Claude Desktop) often can't spawn
npxdirectly β if the server fails to start, wrap it incmd: set"command": "cmd"and"args": ["/c", "npx", "-y", "mcp-server-google-antigravity"](keep the sameenv/timeout).
From source (Option B): set "command": "node" and "args": ["/absolute/path/to/mcp-server-google-antigravity/index.js"] instead. On Windows use forward slashes, e.g. "C:/path/to/mcp-server-google-antigravity/index.js".
Restart the app fully after editing (quit from the tray/menu bar, not just close the window).
That's it. Your client now has tools like use_antigravity, antigravity_continue, and the filesystem helpers.
Ask your MCP client something like "use antigravity to analyze the repo at C:/Dev/Repos/foo and summarize its architecture". Under the hood the client calls:
use_antigravity({ prompt: "...", add_dirs: ["C:/Dev/Repos/foo"] }) β returns { "jobId": "mrib1q20_wa5ma1", "status": "running" } instantly.antigravity_result({ jobId, wait_ms: 10000 }) β blocks/long-polls until the job is done or the 10-second wait elapses. While still running, it returns a lean payload containing status, character count, and the last 200 characters of output ({ status, jobId, chars, tail, startedAt }). Once complete, it returns the full record (including durationMs and bytes telemetry).Follow up in the same session with antigravity_continue({ prompt: "now list the top 3 risks" }). Need agy to write files? Pass add_dirs so it has a workspace; auto_approve (default) lets it create/edit without prompts.
Everything is optional β sane defaults out of the box.
| Var | Default | What it does |
|---|---|---|
AGY_PATH | auto-detected | Full path to the agy binary. Only needed if it's not on PATH. On Windows the path is auto-collapsed to an 8.3 short path, so a non-ASCII username no longer breaks anything. |
AGY_MODEL | agy's default | Default model when a call omits model. Use the exact name from agy models, e.g. Gemini 3.5 Flash (Medium). |
AGY_AUTO_APPROVE | true | Pass --dangerously-skip-permissions so headless jobs don't hang on a prompt. Set false for read-only. |
AGY_SANDBOX | false | Run every job with --sandbox (terminal-restricted). Cheap; safer for untrusted prompts. Per-call sandbox overrides. |
AGY_PRINT_TIMEOUT | 10m | agy's --print-timeout. |
AGY_HEARTBEAT_MS | 15000 | Interval for the "job running" progress notification. 0 disables. |
AGY_MODEL_TTL_MS | 300000 | How long the cached agy models list is trusted. |
| Tool | What it does |
|---|---|
use_antigravity | Delegate a task (async). Returns a jobId immediately. Params: prompt, thinking_depth (low/high), add_dirs (folders agy may read/write), auto_approve, new_project, model, mode (plan/accept-edits), agent, project, sandbox, write_to_file, extract (optional "last_code_block" to extract the last code block to the extracted field on the record). |
antigravity_continue | Continue the previous conversation (or a specific conversation_id) with a new prompt. |
antigravity_result | Get a job's result by jobId. Supports long-polling via optional wait_ms and poll_interval_ms. While running, returns a lean payload ({ status, jobId, chars, tail, startedAt }). On done/error, returns full record (including durationMs and bytes telemetry). |
antigravity_jobs | List recent jobs and statuses. |
antigravity_cancel | Kill a running job by jobId. |
antigravity_cleanup | Delete old job files by age (older_than_hours). |
antigravity_create_folder | Create a folder (recursive), done directly by the server. |
antigravity_create_file | Create/write a text file (creates parent dirs); overwrite:false to protect existing. |
antigravity_create_tree | Build a whole folder/file tree from a JSON spec. |
antigravity_read_file | Read a UTF-8 text file (instant); optional max_bytes cap. |
antigravity_list_dir | List a folder's entries. |
antigravity_models | List available models (agy models). |
antigravity_agents | List available agent profiles (agy agents). |
antigravity_health | Check that agy is reachable + report effective defaults. Run this first when something's off. |
The server-side filesystem tools use Node's fs directly β instant, and never gated by a permission prompt.
Because jobs return a jobId immediately, the server pushes MCP logging notifications (notifications/message, logger antigravity) so the client can see activity without polling:
job started β jobId, kind, prompt snippetjob running β heartbeat every AGY_HEARTBEAT_MS (default 15s) with a tail of the current partial outputjob done / job failed β final status, byte count / errorBest-effort: if the client didn't negotiate the logging capability they're silently dropped. Polling antigravity_result works either way.
The agy CLI runs a single prompt with agy --print "<prompt>" and returns when done. Three problems and their fixes:
agy kept running. β Async job pattern: use_antigravity spawns agy in the background, returns a jobId instantly, writes the result to a JSON file in the OS temp dir (agy_jobs/), and the client polls antigravity_result. Optional long-polling (wait_ms) lets clients wait inside the request when short runs are expected. No request ever blocks.timeout waiting for response. β every job passes --print-timeout 10m.--print mode agy's file-writes get denied by the "ask" policy and the job hangs. β auto_approve (default true) passes --dangerously-skip-permissions; add_dirs passes --add-dir <path> for the workspace it needs.auto_approve defaults to true (--dangerously-skip-permissions) β agy will create/edit files and run terminal commands without prompting. This is intentional: in headless --print mode agy otherwise blocks on a permission prompt and the job hangs. For untrusted prompts, prefer sandbox: true (terminal-restricted, cheap β a permission layer, not a VM) over turning auto-approve off. Use auto_approve: false only for genuinely read-only asks.
Fully cross-platform β macOS, Windows, and Linux. Windows gets a node-pty path for clean streaming (with an automatic fallback if it's unavailable) and auto 8.3 short-path resolution for non-ASCII usernames; macOS/Linux use plain child_process. The only per-OS difference is where agy lives and where your client's config file is (both covered above).
| Symptom | Fix |
|---|---|
agy not found / server won't start | Open a new terminal so PATH reloads, or run agy install. Still stuck? Set AGY_PATH to the full binary path (Step 1 table). The antigravity_health tool confirms whether the server sees agy. |
Job stays running forever | agy is probably waiting on a permission prompt. Keep auto_approve at its default true (headless mode hangs otherwise). Watch progress via antigravity_jobs or the job's partial field. |
Model '...' was not found warning | Advisory only β the job still runs. Use the exact name from antigravity_models (they contain spaces, e.g. Gemini 3.5 Flash (Medium)). |
| Windows: path breaks on a non-ASCII username | Handled automatically β the server resolves agy to its 8.3 short path. No action needed. |
| First run wants you to sign in | Run agy once in a terminal to finish the Google Sign-In; credentials are then cached in your OS keyring. |
| Client reports "tool timed out" | Raise the client's own timeout (e.g. 900000 ms in Claude Desktop). Jobs are async so the call returns instantly, but some clients still enforce a ceiling. |
MIT Β© TΓΌrker Yakup AltΔ±nsoy.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-server-google-antigravity)<a href="https://allmcps.com/mcp/mcp-server-google-antigravity"><img src="https://allmcps.com/api/badge/mcp-server-google-antigravity?style=directory" alt="Mcp Server Google Antigravity on AllMCPs" /></a>