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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。