agent-antigravity-mcp
Agent Antigravity MCP Server
Model Context Protocol (MCP) server for Google Gemini Antigravity Agent.
Features
Autonomous Code Execution: Run shell, Python, Node.js commands in remote Linux sandbox.
Web Browsing & Search: Integrated
google_searchandurl_context.Multimodal Inputs: Process text instructions and base64 images.
Custom Functions: Support turn-based custom function calling.
Remote MCP Servers: Connect external MCP servers to Antigravity agent.
Model Selection: Choose between
gemini-3.6-flash,gemini-3.5-flash-lite, and other Gemini models.Background Execution: Async interactions with
background=Truepolling andmax_total_tokensbudget cap.Environment Config: Build remote sandbox config with file sources (inline/git/gcs) and network allowlist.
Cron Triggers: Create, list, pause/resume, delete, run, and audit scheduled recurring interactions.
GitHub PR Workflow: Point at a repo (public/private) + base branch; agent branches, does the task, pushes, opens the PR. Token injected via sandbox network allowlist, never in the prompt.
Managed Agents: Register reusable named agents (
system_instruction, default tools,base_environment) and invoke them by ID.Environments API: List/inspect/delete sandbox environments directly, and download a sandbox's full filesystem as a
.tar.Hooks Config: Mount a
hooks.json(pre/postcode_execution/file-op interception, allow/deny) into the sandbox via an inline environment source — format documented increate_interaction'senvironmentarg.
Tools
Tool | Covers |
| Interactions API create + multi-turn + function calling + |
| Interaction status, polling, cancel, delete |
| Triggers API (cron scheduling) |
| Clone repo, branch, do task, push, open PR |
| Managed Agents API (register + invoke by ID) |
| Environments API (sandbox lifecycle + file transfer) |
Note: the Interactions API supports stream=true for real-time step deltas via the
google-genai SDK directly (AntigravityClient.create_interaction(..., stream=True)),
but it's not exposed as an MCP tool — MCP tool calls are synchronous request/response,
so there's no way to surface incremental deltas over this transport.
Installation
Clone it somewhere and note the full path:
git clone https://github.com/bgembalczyk/agent-antigravity-mcp.git
cd agent-antigravity-mcp && pwdEvery client below runs the server the same way — uv run --project <that path> agent-antigravity over stdio — so you need
uv installed, but no manual venv or pip install step. In every snippet, replace PATH_TO_REPO with the pwd
output above (full path, not ~).
Claude Code (as a plugin, recommended)
No local clone needed — Claude Code clones it straight from GitHub:
/plugin marketplace add bgembalczyk/agent-antigravity-mcp
/plugin install agent-antigravity@agent-antigravity-mcpExport GEMINI_API_KEY/GITHUB_TOKEN in your shell profile before launching
Claude Code — the plugin's .mcp.json reads them via ${GEMINI_API_KEY}/${GITHUB_TOKEN}.
Antigravity CLI / IDE
File: ~/.gemini/config/mcp_config.json
"agent-antigravity": {
"command": "uv",
"args": ["run", "--project", "PATH_TO_REPO", "agent-antigravity"],
"env": { "GEMINI_API_KEY": "${GEMINI_API_KEY}", "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
}Paste that inside the top-level "mcpServers": { ... } object (create it with
just {"mcpServers": {}} if the file doesn't exist yet).
Codex CLI
File: ~/.codex/config.toml
[mcp_servers.agent-antigravity]
command = "uv"
args = ["run", "--project", "PATH_TO_REPO", "agent-antigravity"]
[mcp_servers.agent-antigravity.env]
GEMINI_API_KEY = "your_gemini_api_key"
GITHUB_TOKEN = "your_github_pat_with_repo_scope"Append that to the end of the file — TOML tables don't care what's above them. Codex doesn't expand shell vars here, so put the real key values in.
GitHub Copilot CLI
File: ~/.copilot/mcp-config.json
"agent-antigravity": {
"type": "local",
"command": "uv",
"args": ["run", "--project", "PATH_TO_REPO", "agent-antigravity"],
"env": { "GEMINI_API_KEY": "your_gemini_api_key", "GITHUB_TOKEN": "your_github_pat_with_repo_scope" },
"tools": ["*"]
}Paste inside "mcpServers": { ... } (create the file with {"mcpServers": {}}
if needed). Takes effect immediately, no restart. Same as Codex, real values
in env — Copilot CLI doesn't expand shell vars here either.
OpenCode
File: ~/.config/opencode/.opencode.json (global) or opencode.json in a
project root (project-scoped).
"agent-antigravity": {
"type": "local",
"command": ["uv", "run", "--project", "PATH_TO_REPO", "agent-antigravity"],
"environment": { "GEMINI_API_KEY": "{env:GEMINI_API_KEY}", "GITHUB_TOKEN": "{env:GITHUB_TOKEN}" }
}Paste inside "mcp": { ... } (create with {"mcp": {}} if needed).
{env:VAR_NAME} expands from your shell environment at startup. Restart
OpenCode (or reload config) after saving.
Any other MCP client / standalone
Any client that speaks MCP over stdio can launch this server the same way:
uv run --project PATH_TO_REPO agent-antigravity. If you'd rather manage the
virtualenv yourself instead of letting uv run do it:
uv venv --clear venv
uv pip install -e .
venv/bin/agent-antigravityConfiguration
Create .env file:
GEMINI_API_KEY=your_gemini_api_key
GITHUB_TOKEN=your_github_pat_with_repo_scopeGITHUB_TOKEN fallback used by create_github_pr_task when no github_token param given. Needs repo scope for private repos.
Optional:
AGENT_ANTIGRAVITY_LOG_LEVEL=INFO
AGENT_ANTIGRAVITY_SESSIONS_DB=/custom/path/sessions.db
AGENT_ANTIGRAVITY_TRANSPORT=stdio # stdio | sse | streamable-http
AGENT_ANTIGRAVITY_HOST=127.0.0.1 # sse/streamable-http only
AGENT_ANTIGRAVITY_PORT=8000 # sse/streamable-http only
AGENT_ANTIGRAVITY_MAX_REQUESTS_PER_MINUTE=60 # 0 disables limitingUsage
Once registered with any client above, the server starts automatically over
stdio whenever that client launches — nothing to run manually. In Claude Code,
the agent-antigravity skill (skills/agent-antigravity/SKILL.md) also
auto-activates when a task matches, on top of the raw MCP tools being available.
Reliability
Every API call tries the
google-genaiSDK first, falls back to direct REST on failure (logged at WARNING). REST calls retry on429/5xx/transport errors with exponential backoff (3 attempts).Interaction session cache is SQLite-backed (
~/.agent-antigravity/sessions.dbby default) and survives process restarts.CI (
.github/workflows/test.yml) runs the test suite on every push/PR.
Testing
uv pip install -e ".[dev]"
pytest -qCredit
Structure and tool/resource/prompt patterns inspired by jules-mcp-server, an MCP server for Google Jules.
License
MIT — see LICENSE.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/bgembalczyk/agent-antigravity-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server