claude-agy-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@claude-agy-mcpanalyze the main server file for performance bottlenecks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚡ Install
npm i @pymodel/claude-agy-mcpclaude mcp add-json -s user claude-agy-mcp \
'{"type":"stdio","command":"npx","args":["-y","@pymodel/claude-agy-mcp"],"timeout":3600000}'Claude Code delegates heavy tasks to Google's flagship Gemini 3.7 Flash (High) via the Antigravity CLI (agy) — saving Claude's context window and tokens for what matters.
Claude acts as the orchestrator → claude-agy-mcp routes compute-heavy sub-tasks to Gemini 3.7 Flash (High) → only concise answers return. Large files, deep git searches, and log dumps never pollute Claude's context.
User → Claude Code → claude-agy-mcp (MCP) → agy CLI → Gemini 3.7 Flash / Pro / Claude
← ← ← (Clean answers only)Why Gemini 3.7 Flash (High) for Claude Code?
Gemini 3.7 Flash is Google's most intelligent workhorse model for coding and agentic execution. It applies deep multi-step planning, rigorous terminal reasoning, and high first-pass code accuracy.
Benchmark Highlights
Benchmark / Capability | Gemini 3.7 Flash (High) | Prior Generation (3.6 Flash) | Advantage |
DeepSWE v1.1 | 65.3% | 49.0% | +16.3% jump in long-horizon repository software engineering |
FrontierCode 1.1 | 43.6% | 34.4% | +9.2% improvement in production code quality and first-pass accuracy |
Terminal-Bench 2.1 | 85.8% | 78.0% | +7.8% higher resilience in agentic CLI execution & tool chaining |
WebDev Arena | 1588 Elo | 1538 Elo | #1 Rank for fullstack web application and UI design adherence |
AutomationBench | 30.4% | 17.0% | Surpasses GPT-5.6 Terra (23.6%) and Claude Sonnet 5 (10.7%) in enterprise agent workflows |
Context & Window | 1,000,000 Tokens | 1,000,000 Tokens | 64K output tokens with 97.0% retrieval on GDM-MRCR v2 (128k) |
Token Economics | $0.75 / $3.75 (1M) | $1.50 / $7.50 | Up to 10x–20x cheaper than Claude Opus/Sonnet for background delegation |
The Token & Context Multiplier
When Claude Code directly analyzes a 4,000-line database dump or greps 20 files across git history, those thousands of lines stay permanently in Claude's prompt context, inflating cost and pushing you toward compaction.
With claude-agy-mcp:
Claude calls
analyze_filesordeep_search.Gemini 3.7 Flash processes the 100k+ tokens in isolation via
agy.Only the exact code-level findings and line citations return into Claude's prompt.
Subsequent questions reuse the same agy session with
follow_upwithout re-sending any files.
Related MCP server: agent-intern
The Ultimate AI Engineering MCP Stack
claude-agy-mcp is designed to anchor a modern AI engineer's MCP toolkit alongside complementary specialized servers:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Claude Code (Agent) │
└──────┬──────────────────────┬───────────────────────┬───────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│claude-agy-mcp│ │ context7 │ │ firecrawl │ │ tavily │
│ (Gemini 3.7 │ │(Official Docs│ │(Web Scraping │ │(Live Search │
│ Delegation) │ │ & API Specs)│ │ & Crawling) │ │ & Research) │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘MCP Server | Primary Superpower | When Claude Uses It |
| Heavy Compute & Coding Delegation | Analyzing files >200 lines, repo archaeology ( |
| Up-to-date Official Documentation | Fetching latest version-accurate API signatures and documentation for libraries (Next.js, React, Tailwind, Prisma, Vite, etc.) to eliminate hallucinated APIs. |
| Clean Web Scraping & Crawling | Converting dynamic web pages, documentation sites, and GitHub repos into clean, LLM-ready markdown or structured JSON. |
| Fast Live Search & Grounding | Low-latency web search, current news, error message lookups, and technical research. |
Recommended MCP Configuration (.agents/mcp_config.json or Claude Code)
{
"mcpServers": {
"claude-agy-mcp": {
"command": "npx",
"args": ["-y", "@pymodel/claude-agy-mcp"],
"timeout": 3600000
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
},
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"]
},
"tavily": {
"command": "npx",
"args": ["-y", "tavily-mcp"]
}
}
}Why this over claude-to-agy?
claude-to-agy | claude-agy-mcp | |
Tool surface | 1 generic | 6 purpose-built tools — Claude self-routes reliably |
Model selection | none (agy default only) | per-tool routing prioritizing Gemini 3.7 Flash (High) with quota failover |
Multi-turn | stateless | session continuity — |
Output safety | unbounded | configurable truncation cap protects Claude's context |
Sandbox | no | optional |
Install | uvx (Python) | npx (Node) — zero install |
Requirements
Node.js 18+
Antigravity CLI (
agy) installed and authenticated
Install
# 1. Register the MCP server (user scope = all projects).
# add-json bakes in a generous client-side timeout so long analyze_files /
# delegate calls don't trip Claude Code's tool-call deadline (see Timeouts).
claude mcp add-json -s user claude-agy-mcp \
'{"type":"stdio","command":"npx","args":["-y","@pymodel/claude-agy-mcp"],"timeout":3600000}'
# 2. Add delegation rules to your project (or ~/.claude/CLAUDE.md for global)
curl -o CLAUDE.md https://raw.githubusercontent.com/PyModel/claude-agy-mcp/main/CLAUDE.mdThe
"timeout": 3600000(60 min, milliseconds) is the client-side tool-call deadline, matched to the bridge's defaultAGY_MAX_RUNTIMEceiling. Without it, a cold-startanalyze_files(~40–50s) or a longdelegatehits Claude Code's default and returnstimed out waiting for responsewhile the agy run is still going — and raising the agy-side ceiling alone will not help, because the client aborts first. If your client doesn't honor a per-servertimeout, set the global env varMCP_TOOL_TIMEOUT=3600000instead. Details in Timeouts and cancellation.
Tools
Tool | Use for | Model routing (first available) |
| Files >200 lines, >3 files at once, logs, dumps, generated code | Gemini 3.7 Flash (High) → Gemini 3.5 Flash (High) → Gemini 3.1 Pro (Low) |
| git log/diff/blame archaeology, repo-wide greps | Gemini 3.7 Flash (Medium) → Gemini 3.7 Flash (High) → Gemini 3.5 Flash (High) |
| Docs, API references, external/current knowledge | Gemini 3.7 Flash (Medium) → Gemini 3.7 Flash (High) → Gemini 3.5 Flash (High) |
| Plan critiques, design and code reviews | Gemini 3.1 Pro (High) → Claude Opus 4.6 (Thinking) → Gemini 3.7 Flash (High) → Gemini 3.5 Flash (High) |
| Continue a prior session by | inherits the session |
| Anything else heavy | Gemini 3.7 Flash (High) → Gemini 3.5 Flash (High) |
All tools accept optional cwd (project root) and model (exact name from agy models; validated, with available models listed on mismatch).
Every response ends with a footer:
---
[claude-agy-mcp] model: Gemini 3.7 Flash (High) | session: 1f0c…-d4 (use follow_up to continue)Model routing
On first use the bridge runs agy models (cached for the process lifetime) and picks the first available model in the tool's preference chain (defaulting to Gemini 3.7 Flash (High)). If none is available it falls back to AGY_DEFAULT_MODEL, and finally to agy's own default. agy silently ignores unknown --model values, so the bridge validates names up front instead of letting requests land on the wrong model.
Quota-aware failover
agy never surfaces quota exhaustion in print mode — it silently retries the 429 until its print-timeout, then exits 0 with empty output, which used to look like an indefinite hang. The bridge now watches each run's log file (via --log-file) and on RESOURCE_EXHAUSTED (code 429):
kills the agy process group immediately (no waiting out the timeout),
parses the reset time ("Resets in 4h24m") into an in-process cooldown registry,
retries the same prompt on the next model in the tool's chain,
skips cooled-down models on all subsequent calls until their quota resets.
Failovers are annotated in the response footer (failover: <model>: quota exhausted (resets in 4h24m)). Only when every candidate is exhausted does the call fail — in seconds, with reset times listed — instead of hanging.
Timeouts and cancellation
The bridge does not kill a run for being slow. Elapsed time cannot distinguish a healthy long model call from a wedged process, and a wrong "stuck" verdict interrupts an agent mid-edit — leaving half-written files behind. So a run is killed only when something authoritative says so:
the caller cancels (e.g. pressing Esc in Claude Code) — the agy run dies instead of being orphaned,
quota is confirmed exhausted (a 429 in the run's log), which triggers failover, or
the resource ceiling expires —
AGY_MAX_RUNTIME, default 3600s.
The ceiling is a resource cap, not a diagnosis. When it fires, the run still returns everything agy produced so far plus its session_id, and says so explicitly: any file changes agy already made are on disk, and follow_up resumes from where it stopped. AGY_TIMEOUT overrides the ceiling for every tool; AGY_TIMEOUT_<TOOL_NAME> overrides it for one (e.g. AGY_TIMEOUT_DEEP_SEARCH=900) and wins over the global. The full set is AGY_TIMEOUT_ANALYZE_FILES, AGY_TIMEOUT_DEEP_SEARCH, AGY_TIMEOUT_WEB_LOOKUP, AGY_TIMEOUT_ADVERSARIAL_REVIEW, AGY_TIMEOUT_FOLLOW_UP, and AGY_TIMEOUT_DELEGATE. The kill path escalates SIGTERM → SIGKILL across the whole process group, and fires even if agy's helper processes hold the output pipes open.
Two timeout layers — and the client one usually bites first. The ceiling above is the agy-side budget. Your MCP client (Claude Code) has its own, separate tool-call timeout, and if it is shorter, the client gives up first — you'll see Error: timed out waiting for response, while the bridge's own ceiling reads MAXIMUM RUNTIME EXCEEDED instead. Raising AGY_MAX_RUNTIME alone therefore changes nothing: the client still aborts on its own schedule. The work is not lost either way — the agy session persists, so follow_up with the returned session_id retrieves it — but the real fix is to make the client wait at least as long as the ceiling. The Install command sets a per-server timeout of 3600000ms (scoped to this server only). If you registered the server without it, re-run the add-json command from Install, or set the global env var MCP_TOOL_TIMEOUT=3600000. Rule of thumb: client timeout ≥ AGY_MAX_RUNTIME.
Expected latency. Most of the perceived "slowness" is cold start: the first call in a session spawns the agy CLI and warms the model. A simple analyze_files over 3 files measures around 40–50s cold (≈46s observed), dropping on subsequent same-session calls. A first call that also hits a quota 429 takes longer while the bridge fails over. So a client timeout below ~60s will intermittently trip on cold starts even for "simple" questions — size it generously.
Configuration
All optional, via environment variables:
Variable | Default | Description |
|
| Path to the agy binary |
|
| Seconds; absolute runtime ceiling. The bridge never kills for inactivity — only cancellation, quota, or this |
|
| Seconds; overrides the ceiling for every tool, passed as |
|
| Seconds; overrides the ceiling for a single tool, e.g. |
|
| Truncation cap for tool output |
| Gemini 3.7 Flash (High) | Fallback model when no chain entry is available |
|
| Pass |
|
| Run agy with |
|
|
|
The defaults trade sandboxing for reliability. AGY_SKIP_PERMISSIONS defaults to true and
AGY_SANDBOX to false, so every delegated task runs agy with --dangerously-skip-permissions
and no sandbox — the delegated model gets unapproved read, write and execute access inside the
cwd you pass it. That is what stops agy from blocking forever on an interactive approval prompt
in a non-interactive MCP context, but it is a real grant. Set AGY_SKIP_PERMISSIONS=false (expect
prompts) or AGY_SANDBOX=true if you are delegating into a directory you do not fully trust.
Failure behavior
The bridge always fails loudly: agy errors surface as MCP tool errors with agy's actual stderr, and degraded model routing is annotated in the response footer. By default the calling agent (Claude) will typically do the work itself after a failure — visible in the transcript, but easy to stop noticing in a long session. Set AGY_ON_FAILURE=strict to append an explicit "do NOT perform this work yourself — report the failure to the user" instruction to every delegation error, so you keep control over when token savings are silently lost.
Development
npm install
npm test # vitest unit tests (exec mocked — no agy needed)
npm run typecheck
npm run build # tsup → dist/index.jsContributing
Read CONTRIBUTING.md — conventional commits, prettier, and a test per behaviour change. Vulnerabilities go through SECURITY.md, never a public issue.
Contributors
License
MIT
Available Tools
6 toolsadversarial_reviewA
Get an adversarial second opinion from a different model family (Gemini Pro). ALWAYS use this for plan critiques, design reviews, and pre-merge code review: it hunts for flaws, edge cases, security issues, and unstated assumptions you may have missed.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute path to the working directory / project root. Defaults to the server's cwd. | |
| files | No | File paths to review instead of inline content. | |
| focus | No | Optional focus area, e.g. 'security', 'concurrency'. | |
| model | No | Override the model (exact name from `agy models`, e.g. "Gemini 3.1 Pro (High)"). Normally omit — the tool routes automatically. | |
| content | No | Inline content to review (plan, diff, code snippet). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It reveals that the tool is adversarial, uses a different model family, and hunts for flaws, edge cases, security issues, and assumptions. This adds meaningful behavioral context beyond a generic 'review' statement, though it does not mention potential costs, rate limits, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste. The first sentence states the core function, the second provides explicit usage guidance and behavioral detail. Very well structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers purpose, usage, and behavioral nuance for a tool with all-optional parameters and no output schema. It is complete for an agent to decide when to invoke it and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each of the 5 parameters having a clear description. The tool description adds no additional parameter information, so it neither improves nor harms understanding. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get'), a resource ('adversarial second opinion'), and a distinguishing detail (from Gemini Pro). It names concrete use cases (plan critiques, design reviews, pre-merge code review), which separates it from sibling tools like analyze_files or deep_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'ALWAYS use this for plan critiques, design reviews, and pre-merge code review.' This clearly directs the agent for these scenarios and implicitly indicates other tools for other tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_filesA
Delegate file analysis to the Antigravity CLI (Gemini) instead of reading files yourself. USE THIS whenever a file is large (>200 lines) or the task spans more than 3 files: logs, database dumps, generated code, cross-file reviews, comparisons. The files never enter your context — only the answer does.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute path to the working directory / project root. Defaults to the server's cwd. | |
| files | Yes | File paths to analyze (relative to cwd or absolute). | |
| model | No | Override the model (exact name from `agy models`, e.g. "Gemini 3.1 Pro (High)"). Normally omit — the tool routes automatically. | |
| question | Yes | What you want to know about these files. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds a key behavioral trait: 'The files never enter your context — only the answer does,' which is crucial for understanding how the tool operates (offloading analysis to an external CLI). However, it does not mention any potential side effects, prerequisites, or failure modes, which would elevate it to a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long. The first sentence states the core action, and the second provides concrete usage triggers with examples. Every word is purposeful, no filler, and the key information is front-loaded. This is exemplary conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage criteria, and a key behavioral trait (context isolation). With a 100% schema-covered parameter set and no output schema, it is nearly complete. It could be slightly enhanced by explicitly stating the answer format (e.g., 'returns a text summary'), but the phrase 'only the answer does' implies a return value. Overall, the tool is well-contextualized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a clear description. The tool description adds no additional parameter-level detail (e.g., format, constraints) beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Delegate file analysis to the Antigravity CLI (Gemini) instead of reading files yourself.' This uses a specific verb ('delegate'), a resource ('file analysis'), and explicitly distinguishes itself from direct file reading, which aligns with the sibling tools being web/analysis-oriented. It is unambiguous and unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage criteria are provided: 'USE THIS whenever a file is large (>200 lines) or the task spans more than 3 files: logs, database dumps, generated code, cross-file reviews, comparisons.' It also implies when not to use it ('instead of reading files yourself'), giving clear when/when-not guidance. This is a model of usage guideline clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deep_searchA
Delegate codebase archaeology to the Antigravity CLI: git log/diff/blame spelunking, wide greps across a repo, 'when/why did X change', 'where is Y used'. USE THIS instead of running many search commands yourself — it saves your context.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute path to the working directory / project root. Defaults to the server's cwd. | |
| model | No | Override the model (exact name from `agy models`, e.g. "Gemini 3.1 Pro (High)"). Normally omit — the tool routes automatically. | |
| query | Yes | What to find, e.g. 'when was the auth middleware refactored and why'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It adds context about saving the LLM's context window and delegates to the Antigravity CLI, implying subprocess execution, but does not explicitly state read-only behavior or output format. Some behavioral details like whether it modifies the repo remain implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences front-loaded with the core purpose, followed by concrete examples and a directive. Every part adds value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters and no output schema, the description covers the purpose and intended use but not the return format or side effects. Without annotations, some behavioral information is absent, though the description is adequate for a code-search tool. A note about output structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the baseline is 3. The description's mention of 'when did X change' and 'where is Y used' loosely connects to the query parameter but adds no additional semantics beyond the schema. No credit beyond baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and resources: 'Delegate codebase archaeology', 'git log/diff/blame spelunking', 'wide greps'. It clearly distinguishes this from sibling tools by focusing on codebase history and search, which is a distinct purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs when to use: 'USE THIS instead of running many search commands yourself — it saves your context.' This provides a clear alternative and contextual trigger, though it doesn't name sibling tools, the directive is specific and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegateA
Raw delegation to the Antigravity CLI for heavy tasks that don't fit the other tools. agy has full tool access (shell, file reads, web) in the given cwd.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute path to the working directory / project root. Defaults to the server's cwd. | |
| model | No | Override the model (exact name from `agy models`, e.g. "Gemini 3.1 Pro (High)"). Normally omit — the tool routes automatically. | |
| prompt | Yes | The complete task prompt for agy. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It usefully discloses that agy has full tool access (shell, file reads, web) in the cwd, which signals potential side effects. However, it doesn't mention output format, execution duration, error behavior, or whether delegated runs can be destructive beyond the generic 'full tool access' warning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver purpose, usage scope, and a critical behavioral warning. No wasted words, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delegation tool with no output schema and no annotations, the description covers the essential invocation context: what to send, where it runs, and what capabilities the delegated agent has. It lacks a note on response handling or long-running task behavior, but is adequate for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are documented with 100% schema coverage, so the structural baseline applies. The description adds no extra semantics beyond hinting that the prompt is the complete task and that cwd defines the execution context, which the schema already communicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (delegating to the Antigravity CLI), the resource (Antigravity CLI/agy), and the scope (heavy tasks that don't fit other tools). It explicitly distinguishes from sibling tools by framing this as the fallback for workloads outside their coverage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for heavy tasks that don't fit the other tools' gives clear when-to-use context and implies the sibling tools are preferred for lighter or more specific jobs. It doesn't enumerate exclusions or name siblings explicitly, but the guidance is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
follow_upA
Continue a previous Antigravity session by session_id (returned by every other tool). USE THIS for follow-up questions about a prior delegation — the full prior context is already on agy's side, so you don't resend anything.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute path to the working directory / project root. Defaults to the server's cwd. | |
| model | No | Override the model (exact name from `agy models`, e.g. "Gemini 3.1 Pro (High)"). Normally omit — the tool routes automatically. | |
| question | Yes | The follow-up question. | |
| session_id | Yes | The session id returned by a previous claude-agy-mcp call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully reveals that the server retains full prior context and that the client does not resend history, but it does not mention potential side effects, required permissions, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences. Every clause either clarifies the tool's purpose, explains when to use it, or reveals stateful behavior, with no unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with four parameters and full schema coverage, the description covers the purpose, usage context, and the key stateful behavior. It omits the return shape, but that is not likely to be a blocker for a conversational follow-up tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaningful parameter context by noting that session_id is 'returned by every other tool.' This helps the agent know exactly where to source a required value beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool continues a previous Antigravity session by session_id and explicitly frames it for follow-up questions about a prior delegation. This distinguishes it from sibling tools like delegate, which would be used for starting something new.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit 'USE THIS' directive for follow-up questions about a prior delegation, and explains why: the full prior context is already on the server side so nothing needs to be resent. It does not explicitly name exclusions like 'use delegate for a new task,' but the intended usage is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_lookupA
Delegate a web/documentation lookup to the Antigravity CLI (Gemini with web access): library docs, API references, error messages, current versions, external knowledge. USE THIS when you need information you don't have or that may be newer than your training data.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute path to the working directory / project root. Defaults to the server's cwd. | |
| model | No | Override the model (exact name from `agy models`, e.g. "Gemini 3.1 Pro (High)"). Normally omit — the tool routes automatically. | |
| query | Yes | What to look up on the web. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It transparently reveals that the tool delegates to the Antigravity CLI with web access, implying an external network callfox. It doesn't mention side effects or errors, but for a lookup tool it's adequate. It avoids contradicting any annotations since none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the first sentence stating the purpose and the second giving a clear condition for use. It is front-loaded and contains no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with no output schema, the description provides sufficient context: it explains what the tool does times, what kinds of information it can retrieve, and when to use it. However, it doesn't mention any output format or limitations, which would be helpful but not critical for such a tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the parameters clearly (100% coverage), so the baseline is 3. The description adds context by listing example content for the query (library docs, API references, etc.), enriching the semantics of the 'query' parameter beyond the schema's generic description. Thus, a 4 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies a web/documentation lookup delegation to the Antigravity CLI, listing concrete use cases like library docs, API references, and error messages. This distinguishes it from sibling tools by focusing on external information retrieval, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'USE THIS when you need information you don't have or that may be newer than your training data.' This gives a clear condition for use, effectively guiding the agent on when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct delegation pattern: file analysis, codebase search, web lookup, adversarial review, session continuation, and raw fallback. The descriptions clearly delineate when to use each, with explicit usage cues. There's minimal overlap; even the generic delegate is scoped to tasks that don't fit the others.
The tools use snake_case but mix grammatical patterns: verb-noun (analyze_files, follow_up), adjective-noun (deep_search, adversarial_review), noun-verb (web_lookup), and a bare verb (delegate). This inconsistency could confuse an agent expecting a uniform verb_noun convention, though the names are still readable and action-oriented.
6 tools is well-scoped for a delegation-focused server, covering common delegated tasks (file analysis, search, web lookup, review) plus session follow-up and a raw delegate fallback. Each tool earns its place; the count is within the ideal 3-15 range.
The surface covers all primary delegation modes an agent might need: reading large files, repo archaeology, web lookups, adversarial critique, and arbitrary heavy tasks. The follow-up tool prevents context loss across sessions. Minor gap: no explicit session listing or cancellation, but the delegate fallback can handle such needs.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP bridge that lets Claude Code delegate heavy tasks to the Antigravity CLI (agy) — purpose-built tools, model routing with fallback, session continuity, and output truncation to save Claude's context and tokens.4611046MIT
- AlicenseAqualityAmaintenanceAn MCP server that bridges Claude Code with Antigravity CLI using a Swarm Agent architecture to optimize local development workflows and minimize LLM token costs. Includes a web UI for monitoring agent workflows.2122MIT
- AlicenseNot gradedqualityAmaintenanceMCP server enabling delegation of tasks to the Antigravity (Gemini) CLI from any AI client supporting MCP.8MIT
- AlicenseAqualityBmaintenanceLocal MCP server that exposes delegation tools for Codex, Claude, and Antigravity CLI, enabling an orchestrator agent to assign tasks to these sub-agents via non-interactive CLI commands.3MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PyModel/claude-agy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server