agy MCP Server
Enables Claude to drive the Antigravity agent by running prompts through the agy CLI non-interactively, supporting session management and optional sandboxed execution.
README
agy MCP Server
Bridge between Claude and Google Antigravity's agy CLI — let Claude Code (or any MCP client) drive the Antigravity agent through tool calls.
graph LR
A[Claude Code] --> B[agy MCP Server]
B --> C[agy CLI]
C --> D[Antigravity / Gemini]
style A fill:#FF6B35
style B fill:#4A90E2
style C fill:#00D4AA
style D fill:#FFA500
This project mirrors the architecture of codex-mcp-server but wraps agy instead of codex.
How it works
agy exposes a non-interactive print mode: agy -p "<prompt>" runs a single
prompt (the prompt is the value of -p) and prints the response to stdout.
This server spawns agy -p "<prompt>" with the prompt as an argument, always
closes stdin so agy never blocks waiting for input, and returns stdout as the
MCP tool result. (agy only reads the prompt from stdin when -p is empty; a
bare -p with no value errors with "flag needs an argument".)
Requirements
agyCLI v1.0.3+ on yourPATH(agy --version). It ships with Google Antigravity.- You must be logged into Antigravity —
agyreuses the desktop app's credentials, so there is no API key to configure here.
Install
Prerequisite (all methods): the
agyCLI (v1.0.3+) must be installed and logged into Antigravity on the machine that runs the MCP server.
A) Via GitHub + npx (no manual clone)
claude mcp add agy-cli -- npx -y github:toonPt0473/agy-mcp-server
npx clones the repo and runs the prepare script (tsc) to build dist/ on
first install, then launches the server. Requires git and Node on PATH.
Updates: bump the repo; npx re-fetches on the next cold install (or clear the npx cache).
B) From a local clone
git clone https://github.com/toonPt0473/agy-mcp-server.git
cd agy-mcp-server
npm install # runs the build automatically via the `prepare` script
claude mcp add agy-cli -- node "$(pwd)/dist/index.js"
C) Global binary (decoupled from the source folder)
npm install -g . # in the cloned repo; exposes the `agy-mcp-server` bin
claude mcp add agy-cli -- agy-mcp-server
This repo also ships a project-scoped .mcp.json pointing at dist/index.js,
which Claude Code picks up automatically when run from the project directory.
Tools
| Tool | Description |
|---|---|
agy |
Run a prompt through agy -p (print mode) with optional session continuation, extra dirs, sandbox, and skip-permissions |
listSessions |
View active conversation sessions |
ping |
Test server connection |
help |
Get agy --help output |
changelog |
Show agy changelog / release notes |
agy tool parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
prompt |
string | — (required) | The task/question. Passed as the value of agy -p. |
sessionId |
string | — | Multi-turn context. First turn = fresh conversation; later turns continue it. |
resetSession |
boolean | false |
Start a fresh conversation for this session. |
conversationId |
string | — | Resume a specific agy conversation (--conversation <id>). |
continueConversation |
boolean | false |
Force agy --continue (most recent conversation). |
addDirs |
string[] | — | Extra workspace dirs (--add-dir, repeatable). |
sandbox |
boolean | false |
--sandbox (terminal restrictions). |
skipPermissions |
boolean | false |
⚠️ --dangerously-skip-permissions — auto-approve all tool use. Needed for agy to run tools unattended. |
printTimeout |
string | 5m |
--print-timeout (Go duration, e.g. 90s, 1h30m). |
Examples
Use agy to explain the auth flow in this repo
Use agy with sessionId "refactor" to analyze this module
Use agy with sessionId "refactor" to now implement the change # continues the same conversation
Use agy with skipPermissions true and addDirs ["./src"] to refactor and write files
Session model & limitations
agyprint mode does not emit a conversation ID, so multi-turn within asessionIdusesagy --continue(continue the most recent conversation).- Because "most recent" is global to
agy, avoid interleaving multiple sessions or runningagymanually in the middle of a session — the continuation could attach to the wrong conversation. For precise resume, pass aconversationIdyou obtained from the Antigravity app. - Without
skipPermissions: true, a prompt that makesagywant to use a tool may block untilprintTimeout, since approvals can't be given non-interactively. UseskipPermissionsfor agentic/file-writing tasks; leave it off for Q&A.
Environment variables
AGY_BIN— path to theagybinary (default:agyonPATH).AGY_MCP_PRINT_TIMEOUT— default--print-timeoutwhen not set per-call (default5m).AGY_MCP_LOG_DIR— enable conversation logging into this directory (see below).AGY_MCP_LOG_FILE— enable conversation logging into this single file (overridesAGY_MCP_LOG_DIR).STRUCTURED_CONTENT_ENABLED— emitstructuredContentin results (1/true/yes/on). Off by default;_metais always included for Claude Code.
Conversation logging
Every agy tool call (the prompt Claude sent and the response agy returned)
can be appended to a Markdown transcript. Logging is off by default;
enable it by setting one of:
AGY_MCP_LOG_DIR=/path/to/dir→ one file per day:agy-conversations-YYYY-MM-DD.mdAGY_MCP_LOG_FILE=/path/to/file.md→ a single file (takes precedence)
Set it in the env block of your .mcp.json, e.g.:
{
"mcpServers": {
"agy-cli": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:toonPt0473/agy-mcp-server"],
"env": { "AGY_MCP_LOG_DIR": "/abs/path/to/project/.agy-logs" }
}
}
}
Each entry records the timestamp, mode (fresh/continue/resume), sessionId,
conversationId, duration, flags (sandbox/skipPermissions/addDirs), and the full
prompt and response. Logging failures are reported to stderr but never break the
tool. Add the log directory to .gitignore if you don't want transcripts committed.
Development
npm install # install dependencies
npm run dev # run from source with tsx
npm run build # compile to dist/
npm test # run the test suite
npm run lint # eslint
npm run format # prettier
License
ISC
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.