agent-antigravity-mcp
MCP server for Google Gemini Antigravity Agent, enabling autonomous code execution, web browsing, and GitHub PR workflows in remote sandboxes.
README
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 |
|---|---|
create_interaction / continue_interaction / submit_function_result |
Interactions API create + multi-turn + function calling + system_instruction |
get_interaction_status / list_interactions / cancel_interaction / delete_interaction |
Interaction status, polling, cancel, delete |
create_trigger / list_triggers / get_trigger / update_trigger_status / delete_trigger / run_trigger / list_trigger_executions |
Triggers API (cron scheduling) |
create_github_pr_task |
Clone repo, branch, do task, push, open PR |
create_managed_agent / list_managed_agents / get_managed_agent / delete_managed_agent |
Managed Agents API (register + invoke by ID) |
create_environment / list_environments / get_environment / delete_environment / download_environment_files / upload_environment_file |
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 && pwd
Every 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-mcp
Export 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-antigravity
Configuration
Create .env file:
GEMINI_API_KEY=your_gemini_api_key
GITHUB_TOKEN=your_github_pat_with_repo_scope
GITHUB_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 limiting
Usage
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 -q
Credit
Structure and tool/resource/prompt patterns inspired by jules-mcp-server, an MCP server for Google Jules.
License
MIT — see LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.