agent-antigravity-mcp

agent-antigravity-mcp

MCP server for Google Gemini Antigravity Agent, enabling autonomous code execution, web browsing, and GitHub PR workflows in remote sandboxes.

Category
Visit Server

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_search and url_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=True polling and max_total_tokens budget 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/post code_execution/file-op interception, allow/deny) into the sandbox via an inline environment source — format documented in create_interaction's environment arg.

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-genai SDK first, falls back to direct REST on failure (logged at WARNING). REST calls retry on 429/5xx/transport errors with exponential backoff (3 attempts).
  • Interaction session cache is SQLite-backed (~/.agent-antigravity/sessions.db by 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured