Lightweight MCP server bridging Claude Code to Antigravity AI via official CLI
Project description
Antigravity Bridge
A lightweight MCP (Model Context Protocol) server that enables AI coding assistants to interact with Antigravity AI through the official CLI. Zero API costs, stateless architecture, minimal dependencies. Production-ready with comprehensive CI/CD automation.
Features
- Direct Antigravity CLI Integration: Zero API costs using the official
agyCLI - Three MCP Tools: Basic queries, file analysis, and web search capabilities
- Stateless Operation: No sessions, caching, or complex state management
- Production Ready: Robust error handling with configurable timeouts
- Minimal Dependencies: Only requires
mcp>=1.0.0and Antigravity CLI - Easy Deployment: Support for both
uvxand traditionalpipinstallation - Universal MCP Compatibility: Works with Claude Code, Cursor, VS Code, Windsurf, Cline, Void, Cherry Studio, Augment, Roo Code, Zencoder, and any MCP-compatible client
- Modern Python: Python 3.10+ with type hints and pathlib
Prerequisites
Install the Antigravity CLI:
# macOS / Linux
curl -fsSL https://antigravity.google/cli/install.sh | bash
# Windows PowerShell
irm https://antigravity.google/cli/install.ps1 | iex
# Verify installation
agy --version
Authentication is handled internally by Antigravity — no separate login command needed.
Installation
Recommended: PyPI with uvx
claude mcp add antigravity-bridge -s user -- uvx antigravity-bridge
From PyPI
pip install antigravity-bridge
claude mcp add antigravity-bridge -s user -- uvx antigravity-bridge
From Source
git clone https://github.com/FojleRabbiRabib/Antigravity-Bridge.git
cd antigravity-bridge
pip install -e .
# Development mode
claude mcp add antigravity-bridge-dev -s user -- python3 -m src
Configuration
Environment Variables
All configuration is done through environment variables prefixed with ANTIGRAVITY_BRIDGE_:
| Variable | Default | Description |
|---|---|---|
ANTIGRAVITY_BRIDGE_TIMEOUT |
120 |
Global timeout override (seconds) |
ANTIGRAVITY_BRIDGE_DEFAULT_TIMEOUT |
120 |
Module-level default timeout |
ANTIGRAVITY_BRIDGE_SKIP_PERMISSIONS |
true |
Add --dangerously-skip-permissions for MCP automation |
ANTIGRAVITY_BRIDGE_SANDBOX |
false |
Add --sandbox for restricted execution |
ANTIGRAVITY_BRIDGE_MAX_INLINE_FILE_COUNT |
30 |
Max files in inline mode |
ANTIGRAVITY_BRIDGE_MAX_INLINE_TOTAL_BYTES |
1048576 (1MB) |
Max total inline payload |
ANTIGRAVITY_BRIDGE_MAX_INLINE_FILE_BYTES |
524288 (512KB) |
Max per-file inline size |
ANTIGRAVITY_BRIDGE_INLINE_HEAD_BYTES |
65536 (64KB) |
Head chunk for truncated files |
ANTIGRAVITY_BRIDGE_INLINE_TAIL_BYTES |
32768 (32KB) |
Tail chunk for truncated files |
Timeout example:
claude mcp add antigravity-bridge -s user --env ANTIGRAVITY_BRIDGE_TIMEOUT=180 -- uvx antigravity-bridge
Available Tools
agy_consult
Direct CLI bridge for simple queries.
Parameters:
query(string, required): The question or prompt to send to Antigravitydirectory(string, required): Working directory for the querytimeout_seconds(int, optional): Override execution timeout for this request
Example:
agy_consult(query="What authentication patterns are used?", directory="/path/to/project")
agy_consult_with_files
CLI bridge with file attachments for detailed analysis.
Parameters:
query(string, required): The question or promptdirectory(string, required): Working directoryfiles(list, required): List of file paths relative to the directorytimeout_seconds(int, optional): Override execution timeoutmode(string, optional):"inline"(default) or"at_command"
File Modes:
inline— streams truncated file snippets directly in the promptat_command— emits@pathdirectives so Antigravity CLI resolves files itself
Example:
agy_consult_with_files(
query="Review these auth files for security issues",
directory="/path/to/project",
files=["src/auth.py", "src/middleware.py"],
mode="at_command"
)
agy_web_search
Queries with web search context. Best-effort — the model decides when to search.
Parameters:
query(string, required): Search query or questiondirectory(string, required): Working directory for command executiontimeout_seconds(int, optional): Override execution timeout
Example:
agy_web_search(query="latest Python 3.13 features")
Multi-Client Support
Antigravity Bridge works with any MCP-compatible AI coding assistant. The server implementation is identical across clients — only the configuration differs.
Claude Code
claude mcp add antigravity-bridge -s user -- uvx antigravity-bridge
Cursor
Global (~/.cursor/mcp.json):
{
"mcpServers": {
"antigravity-bridge": {
"command": "uvx",
"args": ["antigravity-bridge"]
}
}
}
VS Code
Configuration (.vscode/mcp.json):
{
"servers": {
"antigravity-bridge": {
"type": "stdio",
"command": "uvx",
"args": ["antigravity-bridge"]
}
}
}
Windsurf
{
"mcpServers": {
"antigravity-bridge": {
"command": "uvx",
"args": ["antigravity-bridge"]
}
}
}
Cline (VS Code Extension)
- Click MCP Servers in top navigation
- Select Installed tab → Advanced MCP Settings
- Add to
cline_mcp_settings.json:
{
"mcpServers": {
"antigravity-bridge": {
"command": "uvx",
"args": ["antigravity-bridge"]
}
}
}
Void
Settings → MCP → Add MCP Server
{
"command": "uvx",
"args": ["antigravity-bridge"]
}
Cherry Studio
Settings → MCP Servers → Add Server
- Name:
antigravity-bridge - Type:
STDIO - Command:
uvx - Arguments:
["antigravity-bridge"]
Augment
Click hamburger menu → Settings → Tools → + Add MCP
- Command:
uvx antigravity-bridge - Name: Antigravity Bridge
Roo Code
Settings → MCP Servers → Edit Global Config
{
"mcpServers": {
"antigravity-bridge": {
"command": "uvx",
"args": ["antigravity-bridge"]
}
}
}
Zencoder
Zencoder menu → Tools → Add Custom MCP
{
"command": "uvx",
"args": ["antigravity-bridge"]
}
Architecture
Design Principles
- CLI-First: Direct subprocess calls to
agy --print - Stateless: Each tool call is independent with no session state
- Adaptive Timeout: Defaults to 120 seconds, overridable per request or via env var
- Attachment Guardrails: Inline mode enforces byte/quantity caps;
@mode delegates to Antigravity CLI - Fail-Fast: Clear error messages with simple error handling
- Zero Extra Dependencies: Only
mcp>=1.0.0beyond the Antigravity CLI
Module Structure
src/
├── __init__.py # Package entry point, version
├── __main__.py # Module execution entry point
├── config.py # Constants and environment variable configuration
├── cli.py # Subprocess calls to agy
├── files.py # File handling (inline, @-command, truncation)
└── tools.py # MCP tool definitions (FastMCP)
File Handling Safeguards
- Inline transfers cap at 512KB per file and 1MB per request
- Oversized files are truncated to head/tail snippets with warnings
- Tune caps via
ANTIGRAVITY_BRIDGE_MAX_INLINE_*env vars - Use
mode="at_command"for larger payloads
Development
# Install in development mode
pip install -e .
# Run tests
pytest
# Run MCP server directly
python3 -m src
# Verify CLI availability
agy --version
Build & Distribution
# Clean build
rm -rf dist/ build/ *.egg-info
# Build package
uvx --from build pyproject-build
# Verify build
pip install dist/*.whl
python3 -c "import src; print(f'v{src.__version__}')"
Troubleshooting
| Error | Solution |
|---|---|
| "Antigravity CLI not found" | curl -fsSL https://antigravity.google/cli/install.sh | bash |
| "Authentication required" | Verify Antigravity authentication |
| "Timed out after X seconds" | Increase timeout or simplify query |
| "Directory does not exist" | Use absolute paths or verify directory |
| "No files provided" | Provide at least one valid file path |
| "Unsupported files mode" | Use "inline" or "at_command" |
Contributing
See CONTRIBUTING.md for development guidelines.
License
Apache 2.0 — see LICENSE.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file antigravity_bridge-1.0.1.tar.gz.
File metadata
- Download URL: antigravity_bridge-1.0.1.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3908aa482a1f18e7bf2f7de21d75e140b99b303400377122fbde6555a0b9f8e
|
|
| MD5 |
4f15fa74b1695aafe89ccd271acca95c
|
|
| BLAKE2b-256 |
38abf69146c4e40880a3aa611387616811a0d4dcbd9a28cab23e9b80720413fe
|
Provenance
The following attestation bundles were made for antigravity_bridge-1.0.1.tar.gz:
Publisher:
release.yml on FojleRabbiRabib/Antigravity-Bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
antigravity_bridge-1.0.1.tar.gz -
Subject digest:
c3908aa482a1f18e7bf2f7de21d75e140b99b303400377122fbde6555a0b9f8e - Sigstore transparency entry: 1594749452
- Sigstore integration time:
-
Permalink:
FojleRabbiRabib/Antigravity-Bridge@e83bfb06c65e49b0e8b250945e62972a65889d12 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/FojleRabbiRabib
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e83bfb06c65e49b0e8b250945e62972a65889d12 -
Trigger Event:
push
-
Statement type:
File details
Details for the file antigravity_bridge-1.0.1-py3-none-any.whl.
File metadata
- Download URL: antigravity_bridge-1.0.1-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fbc16f5398ae12a2759aa5928109ab7f4e2fa62192865c43ae392085a1dd88b
|
|
| MD5 |
93584ec639e00d933ec1264d5dd74a99
|
|
| BLAKE2b-256 |
7f60e5691163324695eb40a1c3eb29469523fbf3f1b4374a4d62bb21a081b343
|
Provenance
The following attestation bundles were made for antigravity_bridge-1.0.1-py3-none-any.whl:
Publisher:
release.yml on FojleRabbiRabib/Antigravity-Bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
antigravity_bridge-1.0.1-py3-none-any.whl -
Subject digest:
9fbc16f5398ae12a2759aa5928109ab7f4e2fa62192865c43ae392085a1dd88b - Sigstore transparency entry: 1594749536
- Sigstore integration time:
-
Permalink:
FojleRabbiRabib/Antigravity-Bridge@e83bfb06c65e49b0e8b250945e62972a65889d12 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/FojleRabbiRabib
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e83bfb06c65e49b0e8b250945e62972a65889d12 -
Trigger Event:
push
-
Statement type: