antigravity-bridge
Routes delegated model calls through a locally logged-in agy CLI, so the models available in your Google Antigravity subscription (Gemini families plus other model families exposed by the subscription) can be used from any MCP client. Provides tools to list the live model catalog, delegate tasks, analyze files, search code, look up web docs, request adversarial reviews, and continue or asynchronously run long sessions.
Click on "Deploy 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., "@antigravity-bridgeask opus to review my auth changes for security issues"
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.
Antigravity Bridge
让 WorkBuddy(以及任何 MCP 客户端)直接调用你 Antigravity 订阅里的模型额度 —— 走官方 agy CLI,不碰 Cookie、不逆向接口。
English · 中文
它解决什么问题
你在 Antigravity 里有一份能用的订阅(Gemini Ultra / Pro),手上有 Claude Opus 5.5、Gemini 4 Argon 这些模型。 但你日常写代码的助手是 WorkBuddy / Claude Code / Cursor —— 它们用不上那份额度。
这个桥接把 WorkBuddy 的 MCP 工具 直接对接到 本机已登录的 agy:
WorkBuddy ──MCP(stdio)──▶ antigravity-bridge ──spawn──▶ agy.exe ──▶ Google
你的对话 协议翻译 + 会话管理 官方 CLI 订阅额度主对话模型不会被替换。 桥接是「外援」:你点名让 Opus 审方案、让 Argon 读大文件,结果回到你的对话里,主模型继续干活。
Related MCP server: agy-bridge
和其他方案的区别(这是重点)
本项目 | Cookie / 逆向类客户端 | 官方 API Key | |
认证方式 | 官方 | 搬运 | 单独申请 API Key |
调用路径 |
| 复刻私有接口、模拟浏览器 | 官方 REST API |
封号风险 | 零风险(不新增检测面)※ | 高:等于给账号加了一个可被识别的客户端 | 无 |
用得上订阅额度 | ✅ 是 | 部分是 | ❌ 另计费 |
模型改名后 | ✅ 自动跟随 | ❌ 硬编码,一改就废 | 稳定 |
多轮会话 | ✅ | 自己拼上下文 | 自己管理 |
MCP 工具 | ✅ 10 个专用工具 | 多为裸 completion | 需自己封装 |
※ 「零风险」的准确含义:本项目不模拟浏览器、不搬运 Cookie、不逆向私有接口、不复刻 OAuth —— 它只是启动官方 agy,
Google 侧看到的流量与你自己敲命令完全一样,因此不新增任何检测面。这不是对 Google 服务条款的法律保证,也不改变你账号原有的配额与风控规则。
一句话:别人在模仿 Antigravity 的客户端,这个项目直接用 Antigravity 的客户端。
功能
能力 | 说明 |
🎯 10 个专用工具 | 不是裸问答:读文件、搜代码、查文档、对抗式评审各有专用入口 |
🔄 模型目录动态发现 | 每 5 分钟问一次 |
🧠 默认最高推理档 | 说「用 claude sonnet」自动落到 |
🔗 会话续接 |
|
⏱️ 异步任务三件套 |
|
🌐 代理自动探测 | 启动时读环境变量或 Windows 系统代理并注入子进程,直接治「User location is not supported」 |
🛡️ 安全默认值 | 默认不跳过权限、可选 sandbox、限制可访问目录;失败时严格报错,不让主模型偷偷自己接管 |
🧯 兼容 agy 的退出码怪癖 |
|
🪟 Windows 进程树清理 | 取消任务时 |
🧩 客户端无关 | WorkBuddy、Claude Code、Cursor、Codex CLI 等任何 MCP 客户端都能接 |
工具一览
工具 | 什么时候用 |
| 通用委派:把一整段任务丢过去 |
| 单文件 >200 行、或一次要看好几个文件 |
| 跨仓库 git log / blame / 大范围 grep |
| 查文档、查版本、外部知识 |
| 要一个不同模型家族的第二意见(交叉验证最有价值) |
| 接着上一次委派继续问,传回 |
| 看当前账号真实可用的模型目录 |
| 长任务:提交后立即返回 |
| 查长任务进度与最终结果 |
| 取消运行中的任务 |
每次调用末尾都会附一行元信息,方便追溯:
[antigravity-bridge] model: Claude Opus 5.5 (High) | session: 92faef66-… | usage: {"input_tokens":12339,"output_tokens":60}快速开始(让 AI 帮你装)
把这句话发给 WorkBuddy(或任何能读写文件的 AI 助手):
读 https://raw.githubusercontent.com/Stemmaker/antigravity-bridge-workbuddy/main/AGENTS.md 按里面的步骤帮我安装 antigravity-bridge,装完用 list_models 验证。
AGENTS.md 是写给 agent 的可执行安装说明:它会检查 agy 是否已登录、构建项目、生成 mcp.json 片段(不会写死任何人的路径)、
然后告诉你去哪里点「信任」,最后自检。你不需要手改 JSON。
手动安装
前置条件:agy 已安装并登录。
agy --version # 能出版本号
agy models # 能列出模型 = 登录态有效Windows 实测默认位置:
%LOCALAPPDATA%\agy\bin\agy.exe。其他平台用which agy找到路径,再设AGY_PATH。
1. 构建
git clone https://github.com/Stemmaker/antigravity-bridge-workbuddy.git
cd antigravity-bridge-workbuddy
npm ci
npm run build2. 写 MCP 配置(WorkBuddy:~/.workbuddy/mcp.json,与已有内容合并,别整体覆盖)
{
"mcpServers": {
"antigravity-bridge": {
"type": "stdio",
"command": "node",
"args": ["C:/path/to/antigravity-bridge-workbuddy/dist/index.js"],
"env": {
"AGY_PATH": "C:/Users/<you>/AppData/Local/agy/bin/agy.exe",
"AGY_ALLOWED_ROOTS": "C:/Users/<you>/work",
"AGY_SANDBOX": "true",
"AGY_SKIP_PERMISSIONS": "false",
"AGY_ON_FAILURE": "strict",
"AGY_QUOTA_FAILOVER": "false"
},
"timeout": 1200000
}
}
}3. 重启客户端并信任
WorkBuddy:完全退出进程(关窗口不算)→ 重新打开 → 设置 → 安全中心 → 工具管控 → 找到 antigravity-bridge → 信任 / 连接。
其他客户端:Claude Code 用 claude mcp add;Cursor 写 ~/.cursor/mcp.json;格式同上。
模型怎么选
你说 | 实际调用 |
|
|
|
|
|
|
|
|
| 就低档,尊重你的明确选择 |
什么都不说 | 目录里第一个家族的 High 档 |
规则只有两条:默认最高推理;说家族名自动补 High。模型名带歧义(例如只说 claude)时它拒绝猜,直接把可用列表甩给你。
真实目录永远以 list_models 为准 —— 官方随时会改。
配置项
环境变量 | 默认值 | 作用 |
|
|
|
| 进程 cwd | 允许访问的目录,多值用路径分隔符 |
|
| 传 |
|
| 传 |
|
|
|
|
| 配额耗尽时自动换模型(会重放任务,默认关) |
| 无 | 固定默认模型,缺档位会自动升到 High |
|
|
|
|
| 全局超时(秒); |
|
| 单次输出截断上限 |
|
| 拉模型目录的超时 |
|
| 已完成任务的保留时长 |
故障排查
现象 | 原因 / 处理 |
|
|
| 这是 |
|
|
| 模型名过期了,看报错附带的真实列表 |
WorkBuddy 里看不到这个连接器 | 配置改了必须完全重启客户端;然后去 设置 → 安全中心 → 工具管控 信任 |
任务卡住不返回 | 用 |
安全边界
默认不加
--dangerously-skip-permissions,权限仍受agy自己的规则约束。AGY_ALLOWED_ROOTS之外的工作目录会被直接拒绝。默认关闭配额耗尽的自动换模型:写文件、跑命令的任务中途换模型重放,可能造成重复副作用。
AGY_ON_FAILURE=strict时,委派失败会明确报错,不会让主模型悄悄自己把活干了。桥接不存储、不缓存任何凭据;登录态完全由官方
agy管理。
已知限制
不替换主对话模型,只是外援。
额度、可用模型、地区策略由 Antigravity 官方决定,本项目不绕过。
agy的 JSON 输出结构可能随版本变化,升级后建议先跑一次list_models+ 一句短问答。某些模型(尤其 Gemini 系列)对出口 IP / ASN 敏感,Claude 通常更稳。
致谢与来源
本项目基于 sshahzaiib/agy-bridge(MIT)重写与扩展:
动态模型目录、最高推理默认、代理自动探测、异步任务、Windows 进程树清理、0xC0000409 兼容、安全默认值等。
原始版权声明保留在 LICENSE 中。
Roadmap
doctor自检命令(登录态 / 代理 / 模型目录一键体检)按模型家族统计用量
任务结果落盘,支持跨进程续查
如果这个项目帮你省下了一个下午,给个 ⭐ 能让更多人搜到它。
Available Tools
10 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 | Exact model ID or display name returned by `agy models`, for example "Gemini 4 Argon". | |
| effort | No | Reasoning effort supported by the selected model. | |
| 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 full burden; it usefully discloses that the reviewer is a different model family with an adversarial posture, which is real behavioral context. It omits cost/latency implications of an external model call, any prerequisite such as resolving the model ID via list_models, and what the response looks like.
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, no filler, with the unique value (different model family) and the recommended usage front-loaded. Every clause earns its place.
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 6-parameter tool with zero required fields and no output schema, the description leaves the agent guessing about input mode selection (inline content vs files) and the shape of the returned review. The core value proposition is well covered, but operational completeness is only adequate.
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 the baseline is 3, and the description adds essentially no parameter-level detail. It never clarifies that 'files' and 'content' are alternative inputs or that 'focus' narrows the critique, even though those are the choices an agent must make.
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?
States a specific verb+resource ('adversarial second opinion from a different model family (Gemini Pro)') and characterizes the output as flaw/edge-case/security hunting, which clearly separates it from siblings like analyze_files or deep_search. An agent can tell what this tool uniquely produces.
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 prescribes contexts ('ALWAYS use this for plan critiques, design reviews, and pre-merge code review'), which is strong positive routing. It stops short of naming alternatives — e.g. when plain analyze_files suffices instead — so the agent has no explicit when-not guidance.
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 | Exact model ID or display name returned by `agy models`, for example "Gemini 4 Argon". | |
| effort | No | Reasoning effort supported by the selected model. | |
| 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, the description carries the full burden, and it discloses the most consequential trait: the files never enter the caller's context, only the answer does, which implies cost and context implications. It omits prerequisites (CLI availability/auth), latency expectations, and what happens on failure.
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?
Three tight sentences, front-loaded with the action, then the trigger conditions, then the payoff. Nothing redundant and no repetition of schema content.
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 no annotations and no output schema, the description covers purpose, triggers and the key result-shape property ('only the answer does'). Remaining gaps are modest: model/effort selection guidance and error behavior, but an agent could call it competently as written.
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 files, cwd, question, model and effort are already documented in structured form; the description adds no syntax or selection guidance for them. Baseline 3 applies. It also doesn't hint that model IDs come from list_models, a sibling that exists precisely for that.
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 first sentence names a specific action and mechanism: delegate file analysis to the Antigravity CLI (Gemini), plus the explicit contrast with 'reading files yourself'. It is clear what the tool does, but it never distinguishes itself from the 'delegate' sibling, which plausibly overlaps in 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?
Gives hard, checkable thresholds ('>200 lines' or 'more than 3 files') plus a task taxonomy (logs, database dumps, generated code, cross-file reviews, comparisons). An agent can decide on invocation without inferring anything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_taskC
Cancel a running Antigravity task.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and does not meet it. It says nothing about whether cancellation is graceful or immediate, whether it is reversible, what happens to partial work, whether ownership/permission is required, or what the call returns.
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?
A single front-loaded sentence with zero filler, which is structurally sound. It is arguably too terse for a mutation operation, but nothing in it is wasted or buried.
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 destructive-ish mutation tool with no annotations, no output schema, and an undocumented required parameter, the description leaves the agent without the information needed to call it safely or interpret the result.
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 0% for the single parameter task_id, and the description adds no meaning: it doesn't say where the ID comes from (presumably the return of start_task), the expected format, or what happens with an unknown/already-finished ID.
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?
States a specific verb (cancel) and resource (a running Antigravity task), which distinguishes it cleanly from start_task and task_status in the sibling set. The only gap is that it doesn't explicitly name those siblings as the 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?
The word "running" implies a state precondition (the task must still be in flight), but there is no explicit when-to-use/when-not-to-use guidance or reference to the alternatives (task_status to check state, start_task to relaunch). Usage is inferable rather than stated.
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 | Exact model ID or display name returned by `agy models`, for example "Gemini 4 Argon". | |
| query | Yes | What to find, e.g. 'when was the auth middleware refactored and why'. | |
| effort | No | Reasoning effort supported by the selected model. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full load. It does add real behavioral context that the name alone doesn't: work is delegated to an external CLI, it is context-saving, and the schema hints at model/effort tuning. But it says nothing about whether the call is read-only, expected latency, cost, or what happens on failure — meaningful gaps for a delegated agentic search.
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 of dense, front-loaded fragments with zero filler; the imperative selection cue sits at the end where it reads as the takeaway. Every clause earns its place.
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?
There is no output schema, so the description should signal what comes back; "saves your context" only hints at a condensed report rather than stating the return shape (findings prose, citations, code excerpts). For a 4-param delegation tool with no annotations, the when-to-use story is solid but the result and cost profile are underspecified.
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 the schema already documents cwd, model, query, and effort with examples and an enum. The description adds example query phrasings that clarify intent but no format, syntax, or defaulting details beyond what the schema states. Baseline 3 applies.
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?
Specific verb ("delegate") plus a concrete resource and scope: git log/diff/blame, wide greps, and historical 'when/why did X change' questions. An agent can picture the exact class of task it handles. It stops short of naming how it differs from the closest sibling (analyze_files), leaving that boundary to inference.
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?
"USE THIS instead of running many search commands yourself" gives an explicit positive selection rule with a stated rationale (context savings), and the quoted example queries model the intended input shape. No when-not-to-use case or exclusion relative to a specific sibling is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegateB
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 | Exact model ID or display name returned by `agy models`, for example "Gemini 4 Argon". | |
| effort | No | Reasoning effort supported by the selected model. | |
| 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 full burden, and it does disclose a meaningful trait: agy has shell, file-read and web access inside the given cwd, which signals risk. However it omits whether the call blocks or returns a handle (siblings like start_task/task_status suggest an async pattern), what the result looks like, and any timeout or cost behavior.
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, front-loaded with the core purpose and followed by the capability disclosure. 'Raw delegation' is slightly jargon-y but no sentence is wasted.
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?
No output schema and no annotations, so the description should explain the return/blocking behavior of a tool that spins up a fully tool-enabled agent. It covers capability scope but leaves the execution model and result shape unstated, which is a real gap for a tool of this complexity.
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 cwd, model, effort and prompt are all documented at the schema level. The description only adds 'in the given cwd', which is redundant with the cwd parameter's own text, so baseline 3 applies.
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?
States a concrete verb+resource: raw delegation to the Antigravity CLI, with scope ('heavy tasks that don't fit the other tools') and the agent's capabilities. It distinguishes itself from the narrower siblings generically rather than naming them, so it stops short of a 5.
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?
'For heavy tasks that don't fit the other tools' gives an implied selection rule, but it never says when to prefer delegate over start_task/task_status or what 'doesn't fit' actually means. An agent must infer the boundary itself.
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 | Exact model ID or display name returned by `agy models`, for example "Gemini 4 Argon". | |
| effort | No | Reasoning effort supported by the selected model. | |
| question | Yes | The follow-up question. | |
| session_id | Yes | The session id returned by a previous antigravity-bridge call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the key behavioral trait that prior context lives server-side and need not be resent, but says nothing about whether the follow-up mutates the session, how cwd/model/effort interact with an existing session, 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?
Two tight sentences with the core mechanic front-loaded and the practical implication (no need to resend context) second. Nothing is wasted or buried.
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 five-parameter tool with no annotations and no output schema, the description covers the central mechanic but leaves the session-mutation behavior and return value unexplained. An agent knows when to call it but not how overriding model/effort or cwd affects an existing session.
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 all five parameters are already documented, which sets the baseline at 3. The description only reinforces the session_id parameter and adds no guidance on whether model/effort/cwd can or should be overridden in a follow-up.
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?
States a specific verb and resource (continue a prior Antigravity session by session_id) and frames the tool as the follow-up counterpart to an initial delegation, which lets an agent separate it from delegate/start_task. It stops short of naming the sibling to use for the first call, so the differentiation is implied rather than explicit.
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?
"USE THIS for follow-up questions about a prior delegation" gives a clear triggering condition and implicitly excludes first-time delegation. There is no explicit statement of prerequisites (that a session_id from a prior call must already exist) or of what to do instead when there is no prior session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsC
List the live model directory returned by the authenticated Antigravity CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| refresh | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. "Live" and "authenticated" are the only behavioral hints; it does not say whether this is a safe read, whether results are cached, what the authentication prerequisite entails, or whether calling it has side effects or rate limits.
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?
One front-loaded sentence with no filler; the resource and provenance are established immediately. It is minimal but not padded.
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?
This is a simple read tool with one optional boolean and no output schema, so the description is close to sufficient. However, the meaning of `refresh` and a hint at the return shape (list of model identifiers) are missing, leaving a real gap for an agent deciding how to call it.
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 0% and the single parameter `refresh` is never mentioned in the description, so an agent cannot tell whether it forces a cache bypass, re-authentication, or re-fetch. The description fails to compensate for the undocumented parameter.
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?
States a specific verb ("List") and resource ("live model directory") plus the source system ("Antigravity CLI"), which is unambiguous against siblings like deep_search or web_lookup. It does not need sibling routing since no other tool lists models, but it also does not explicitly say so.
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?
No indication of when an agent should call this versus another discovery path, and no guidance on when the `refresh` flag matters. "authenticated" hints at a prerequisite but the description never states what that requires or how to satisfy it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_taskC
Start a long-running task. Use task_status to poll and cancel_task to stop it.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| model | No | ||
| effort | No | ||
| prompt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the asynchronous, long-running nature and the lifecycle (poll/stop), but says nothing about whether a task identifier is returned, cost/latency implications, permission needs, or the effect of omitting model/effort.
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 short, front-loaded sentences with no wasted words; the purpose comes before the sibling routing. It is efficient rather than padded, though the brevity is part of why other dimensions suffer.
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?
A no-annotation, no-output-schema, 0%-param-coverage async mutation tool needs more than two sentences. Missing what gets started, what comes back, and how the four parameters affect execution leaves an agent under-equipped to call 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?
Schema description coverage is 0% across four parameters, so the description must compensate, and it mentions none of them. The meaning of prompt, cwd, model, and effort (including the enum's cost/quality tradeoff) is left entirely unexplained.
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?
States a specific verb+resource ('Start a long-running task') and names the two lifecycle siblings (task_status, cancel_task), which distinguishes it from them. It doesn't clarify what kind of task or how it differs from delegate or deep_search, so it stops short of full sibling differentiation.
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 routes the agent to task_status for polling and cancel_task for stopping, which is real usage guidance. However, it gives no condition for choosing start_task over delegate or deep_search, and no prerequisites or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
task_statusC
Read task state and final result.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies read-only but says nothing about whether the call blocks, what state values can be returned, whether the result field is absent while the task is still running, or what happens with an unknown/expired task_id.
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?
A single short sentence with no filler, and the core action is front-loaded. However, its brevity is under-specification rather than efficiency, given the behavioral gaps.
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?
With no annotations, no output schema, and an undocumented required parameter, the definition is too thin. The description should at minimum explain the task state/result relationship, polling expectations, and the source of task_id.
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 single parameter task_id has 0% schema description coverage, and the description does not compensate by stating that it is the identifier returned by start_task or its expected format. The one param that matters most for correct invocation is undocumented.
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 pairs a specific verb ("Read") with a specific resource ("task state and final result"), so an agent knows it is a status/result retrieval operation. It never explicitly names how it differs from start_task or cancel_task, so differentiation is left to the tool name.
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?
There is no guidance on when to call this versus start_task or cancel_task, and no mention of the typical pattern (call start_task, then poll this with the returned id). The usage is only inferable from the name and description.
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 | Exact model ID or display name returned by `agy models`, for example "Gemini 4 Argon". | |
| query | Yes | What to look up on the web. | |
| effort | No | Reasoning effort supported by the selected model. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral weight; it usefully discloses that the work is delegated to an external CLI agent with web access, implying nondeterminism and network dependency. It says nothing about latency, cost, failure modes, or whether the agent can execute code rather than just read, which matters for a delegated-agent call.
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 dense sentences: the first establishes the mechanism and scope, the second front-loads the selection condition with an explicit "USE THIS". No filler or repetition.
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 four-parameter, single-required-field tool with a fully described schema, the description covers what the tool does and when to reach for it. The only gap is the shape of the response (free-text answer vs. structured citations), which is unstated and there is no output schema to cover it.
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 every parameter (query, cwd, model, effort) is already documented in the schema. The description adds no interpretation of these fields, so the baseline of 3 applies.
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 names a specific action (delegate a web/documentation lookup) and the concrete mechanism (Antigravity CLI / Gemini with web access), plus example use cases like library docs, API references, and current versions. It stops short of explicitly distinguishing itself from siblings such as deep_search or delegate, so an agent must infer which lookup path applies.
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?
"USE THIS when you need information you don't have or that may be newer than your training data" gives a clear trigger condition tied to knowledge gaps or recency. There is no statement of when *not* to use it and no named alternative among the sibling tools, so routing against deep_search remains ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v1.0.0- First observed
adversarial_review - First observed
analyze_files - First observed
cancel_task - First observed
deep_search - First observed
delegate - First observed
follow_up - First observed
list_models - First observed
start_task - First observed
task_status - First observed
web_lookup
TDQS
Scored across 10 tools
The four domain-specific delegations (analyze_files, deep_search, web_lookup, adversarial_review) are well differentiated by target domain, but the raw `delegate` tool explicitly claims 'heavy tasks that don't fit the other tools,' which is a superset of all four and invites misselection. Similarly, `start_task` vs `delegate` and `follow_up` vs `delegate` have blurry boundaries (sync vs async vs continuation) that descriptions only partially resolve.
The task lifecycle group (start_task, task_status, cancel_task) is a clean verb_noun pattern, and analyze_files/deep_search/web_lookup follow suit. However, the set mixes in bare verbs and non-verb forms — `delegate`, `follow_up`, `list_models`, and the adjective-noun `adversarial_review` — so no single predictable convention runs through the whole surface.
Ten tools is well within a comfortable range for a delegation bridge, and each maps to a recognizable capability (domain delegation, raw delegation, session continuation, task lifecycle, model listing). The only redundancy is the catch-all `delegate` sitting alongside four specialized delegators, which is slightly more surface than strictly needed.
The async task lifecycle is covered end to end (start_task, task_status, cancel_task) and follow_up closes the multi-turn session loop, so there are no dead ends in the core delegation flow. Minor gaps remain: no way to enumerate active tasks or list prior sessions/session_ids, forcing the agent to track IDs manually.
Maintenance
Related MCP Connectors
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Official MCP bridge to Exogram—the Personal AI Agent for your work, people, and life.
1Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Discover and call AI agents via MCP. Supports A2A agents and platform agents with async tasks.
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables calling Google's Antigravity CLI (agy) headlessly through MCP, providing tools like agy_ask and agy_research for agents like Claude Code.2100 PyPI19MIT
- AlicenseAqualityBmaintenanceMCP 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.672 npm61MIT
- FlicenseNot gradedqualityCmaintenanceWraps the Antigravity CLI (agy) as an MCP server, enabling Claude Code and other MCP clients to execute AI tasks and manage conversations via the agy command.-
- AlicenseAqualityAmaintenanceMCP server that lets Claude Code delegate heavy tasks (file analysis, deep search, web lookups, adversarial review, and general delegation) to the Antigravity CLI (agy), with model routing, session continuity, timeout controls, and quota-aware failover.907MIT