Skip to main content
Glama

Antigravity Bridge

让 WorkBuddy(以及任何 MCP 客户端)直接调用你 Antigravity 订阅里的模型额度 —— 走官方 agy CLI,不碰 Cookie、不逆向接口。

CI Release License: MIT Node MCP Platform

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

认证方式

官方 agy 自己的登录态

搬运 __Secure- Cookie、抓 session token

单独申请 API Key

调用路径

spawn 官方二进制

复刻私有接口、模拟浏览器

官方 REST API

封号风险

零风险(不新增检测面)※

高:等于给账号加了一个可被识别的客户端

无

用得上订阅额度

✅ 是

部分是

❌ 另计费

模型改名后

✅ 自动跟随 agy models

❌ 硬编码,一改就废

稳定

多轮会话

✅ follow_up 原生续接

自己拼上下文

自己管理

MCP 工具

✅ 10 个专用工具

多为裸 completion

需自己封装

※ 「零风险」的准确含义:本项目不模拟浏览器、不搬运 Cookie、不逆向私有接口、不复刻 OAuth —— 它只是启动官方 agy, Google 侧看到的流量与你自己敲命令完全一样,因此不新增任何检测面。这不是对 Google 服务条款的法律保证,也不改变你账号原有的配额与风控规则。

一句话:别人在模仿 Antigravity 的客户端,这个项目直接用 Antigravity 的客户端。


功能

能力

说明

🎯 10 个专用工具

不是裸问答:读文件、搜代码、查文档、对抗式评审各有专用入口

🔄 模型目录动态发现

每 5 分钟问一次 agy models,永不硬编码模型名。Google 换模型不会把它弄坏

🧠 默认最高推理档

说「用 claude sonnet」自动落到 claude-sonnet-5-5-high,不静默降智;显式写 -low 才降档

🔗 会话续接

follow_up(session_id),上下文留在 CLI 侧,不重发、不重复烧 token

⏱️ 异步任务三件套

start_task / task_status / cancel_task,20 分钟的活不用顶着 MCP 超时干等

🌐 代理自动探测

启动时读环境变量或 Windows 系统代理并注入子进程,直接治「User location is not supported」

🛡️ 安全默认值

默认不跳过权限、可选 sandbox、限制可访问目录;失败时严格报错,不让主模型偷偷自己接管

🧯 兼容 agy 的退出码怪癖

agy 常在写完结果后以 0xC0000409 收尾崩溃,本项目先解析输出再判退出码,不会把成功结果当失败丢掉

🪟 Windows 进程树清理

取消任务时 taskkill /T /F,不留孤儿进程

🧩 客户端无关

WorkBuddy、Claude Code、Cursor、Codex CLI 等任何 MCP 客户端都能接


工具一览

工具

什么时候用

delegate

通用委派:把一整段任务丢过去

analyze_files

单文件 >200 行、或一次要看好几个文件

deep_search

跨仓库 git log / blame / 大范围 grep

web_lookup

查文档、查版本、外部知识

adversarial_review

要一个不同模型家族的第二意见(交叉验证最有价值)

follow_up

接着上一次委派继续问,传回 session_id 即可

list_models

看当前账号真实可用的模型目录

start_task

长任务:提交后立即返回 task_id

task_status

查长任务进度与最终结果

cancel_task

取消运行中的任务

每次调用末尾都会附一行元信息,方便追溯:

[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 build

2. 写 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;格式同上。


模型怎么选

你说

实际调用

agy 的 Claude sonnet

claude-sonnet-5-5-high

agy 的 Claude opus

claude-opus-5-5-high

agy 的 Gemini argon

gemini-4-argon-high

agy 的 Gemini flash

gemini-3.8-flash-high

claude-sonnet-5-5-low

就低档,尊重你的明确选择

什么都不说

目录里第一个家族的 High 档

规则只有两条:默认最高推理;说家族名自动补 High。模型名带歧义(例如只说 claude)时它拒绝猜,直接把可用列表甩给你。

真实目录永远以 list_models 为准 —— 官方随时会改。


配置项

环境变量

默认值

作用

AGY_PATH

agy

agy 可执行文件路径

AGY_ALLOWED_ROOTS

进程 cwd

允许访问的目录,多值用路径分隔符

AGY_SANDBOX

false

传 --sandbox,建议开启

AGY_SKIP_PERMISSIONS

false

传 --dangerously-skip-permissions,不建议开

AGY_ON_FAILURE

fallback

strict = 失败就报错,禁止主模型自行接管

AGY_QUOTA_FAILOVER

false

配额耗尽时自动换模型(会重放任务,默认关)

AGY_DEFAULT_MODEL

无

固定默认模型,缺档位会自动升到 High

AGY_PROXY

auto

off 强制直连;http://host:port 指定代理;默认自动探测

AGY_TIMEOUT

1200

全局超时(秒);AGY_TIMEOUT_<TOOL> 单独设置某个工具

AGY_MAX_OUTPUT_CHARS

50000

单次输出截断上限

AGY_MODEL_LIST_TIMEOUT_MS

120000

拉模型目录的超时

AGY_TASK_TTL_MS

3600000

已完成任务的保留时长


故障排查

现象

原因 / 处理

User location is not supported for the API use

agy 只认环境变量代理,不读 Windows 系统代理。桥接默认 AGY_PROXY=auto,会自动探测系统代理(推荐保持 auto)。若要手动指定写成 AGY_PROXY=http://127.0.0.1:<端口> —— Clash 多是 7890,但有些客户端每次启动换端口,硬编码端口会在换端口后静默失效。也可能是出口 IP 被判定为不支持地区 → 换节点

agy exited with code 3221226505

这是 0xC0000409,agy 的收尾崩溃。本项目已兼容「先解析输出再判退出码」,若仍报错说明输出确实是空的

model not recognized

agy 校验模型名时要联网拉目录,网络慢会误报。重试一次或先 list_models

Model "X" is not available

模型名过期了,看报错附带的真实列表

WorkBuddy 里看不到这个连接器

配置改了必须完全重启客户端;然后去 设置 → 安全中心 → 工具管控 信任

任务卡住不返回

用 start_task + task_status,别用同步调用硬等


安全边界

  • 默认不加 --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 tools
adversarial_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.

NameRequiredDescriptionDefault
cwdNoAbsolute path to the working directory / project root. Defaults to the server's cwd.
filesNoFile paths to review instead of inline content.
focusNoOptional focus area, e.g. 'security', 'concurrency'.
modelNoExact model ID or display name returned by `agy models`, for example "Gemini 4 Argon".
effortNoReasoning effort supported by the selected model.
contentNoInline content to review (plan, diff, code snippet).

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

NameRequiredDescriptionDefault
cwdNoAbsolute path to the working directory / project root. Defaults to the server's cwd.
filesYesFile paths to analyze (relative to cwd or absolute).
modelNoExact model ID or display name returned by `agy models`, for example "Gemini 4 Argon".
effortNoReasoning effort supported by the selected model.
questionYesWhat you want to know about these files.

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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.

NameRequiredDescriptionDefault
task_idYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

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.

NameRequiredDescriptionDefault
cwdNoAbsolute path to the working directory / project root. Defaults to the server's cwd.
modelNoExact model ID or display name returned by `agy models`, for example "Gemini 4 Argon".
effortNoReasoning effort supported by the selected model.
promptYesThe complete task prompt for agy.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
cwdNoAbsolute path to the working directory / project root. Defaults to the server's cwd.
modelNoExact model ID or display name returned by `agy models`, for example "Gemini 4 Argon".
effortNoReasoning effort supported by the selected model.
questionYesThe follow-up question.
session_idYesThe session id returned by a previous antigravity-bridge call.

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

NameRequiredDescriptionDefault
refreshNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
cwdNo
modelNo
effortNo
promptYes

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
task_idYes

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
cwdNoAbsolute path to the working directory / project root. Defaults to the server's cwd.
modelNoExact model ID or display name returned by `agy models`, for example "Gemini 4 Argon".
queryYesWhat to look up on the web.
effortNoReasoning effort supported by the selected model.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

  1. 10 tool updatesv1.0.0
    • First observedadversarial_review
    • First observedanalyze_files
    • First observedcancel_task
    • First observeddeep_search
    • First observeddelegate
    • First observedfollow_up
    • First observedlist_models
    • First observedstart_task
    • First observedtask_status
    • First observedweb_lookup

TDQS

B3.2/5.0

Scored across 10 tools

Disambiguation3/5

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.

Naming Consistency3/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Wraps 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.
    -
  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    9
    0
    7
    MIT