agy-mcp
Provides tools for interacting with Google's Antigravity CLI, enabling AI agents to execute prompts, run sandbox sessions, manage long-running jobs, and inspect environment capabilities.
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., "@agy-mcpreview this pull request diff 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.
agy-mcp
把 Google Antigravity CLI(
agy)包装成 11 个 typed MCP 工具, 任何 MCP 客户端(Claude Code / OpenAI Codex / Cursor / Cline / Continue …)都能直接调用。配套可选 Skill bundle,让支持 skill 的 平台学会何时调、用哪个 mode。
快速开始
# 1. 装 uv(已有可跳过)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 装 agy-mcp(从 PyPI)
uv tool install agy-mcp
# 3. 注册 MCP server(以 Claude Code 为例;其它客户端见折叠区)
claude mcp add agy -s user --transport stdio -- agymcp
# 4. (可选)装 SKILL,让 Claude / Codex / Antigravity 学会何时调
agy-install-skill --target all
# 5. 验证(不调真实 agy API)
agy-doctor请帮我把 agy-mcp 这个开源 MCP 安装好。具体目标:
1. 用 uv tool 装本仓库的 console scripts(agymcp / agy-bridge /
agy-doctor / agy-install-skill)。如果本机没有 uv,先用
`curl -LsSf https://astral.sh/uv/install.sh | sh` 装好。
2. 把 agy MCP server 注册到我当前正在使用的 agent 平台:
- 如果你是 Claude Code,执行:
`claude mcp add agy -s user --transport stdio -- agymcp`
并用 `claude mcp list` 确认 `agy: ✓ Connected`。
- 如果你是 OpenAI Codex CLI,向 `~/.codex/config.toml` 追加:
```toml
[mcp_servers.agy]
command = "agymcp"
args = []
```
并重启 Codex 会话让其生效。
3. 装协作 SKILL(让本平台知道何时调用 agy):直接调用刚才暴露的
`agy_install_skill` MCP 工具,参数 `targets=["all"], scope="user"`。
它会写到 `~/.claude/skills/`、`~/.agents/skills/`、`~/.agy/skills/`
三处。装完后告诉我重启窗口让 SKILL 生效。
4. 验证:调用 `agy_doctor` MCP 工具,把返回的 JSON 完整贴给我看;
预期 `healthy=true`,主要 check 全部 `ok=true`。如果 `auth` 这项
显示未登录,告诉我手动跑一次 `agy --version` 触发 OAuth 流程,
然后再调一次 `agy_doctor`。
5. 安装来源默认走 PyPI:`uv tool install agy-mcp`。如果我让你装某个
未发布分支或本地 clone,再切到 `git+https://github.com/Boulea7/agy-mcp.git`
或本地 `--from <项目本地绝对路径>`。
约束:
- 不要 push 任何东西、不要改我的 .gitconfig。
- 在没有我确认前不要调真实的 `agy` 模型(只能跑 doctor / dry-run)。
- 任何写入操作(包括上面这些)做之前先简短说一下要做什么,等我点头
再执行;如果你的当前权限模式允许 acceptEdits,就直接执行。
每完成一步给我一行汇报,全部完成后给出一份 4 行总结:装在哪、11 个
MCP 工具是否齐、SKILL 落地路径、剩余可选项。OpenAI Codex CLI:向
~/.codex/config.toml追加:[mcp_servers.agy] command = "agymcp" args = []重启 Codex 会话生效。
Cursor / Cline / Continue / 其它 MCP 客户端:在客户端的 MCP server 配置里加一条 name=
agy、command=agymcp、transport=stdio 即可。具体语法各家不同,参考各自文档。
完整安装与故障排查 → docs/installation.md。
Related MCP server: agymcp
它是什么
把 Google 新发布的 Antigravity CLI(agy)包装成可被任意 MCP 客户端
调用的协作 agent backend。两条等价路径:
MCP server:
agymcp经 FastMCP stdio 暴露 11 个 typed JSON 工具, pydantic envelope 稳定可解析。任何 MCP 客户端皆可。Skill bundles:装到
~/.claude/skills/、~/.agents/skills/、~/.agy/skills/,教 agent 何时调 agy、用哪个 mode、注意哪些安全 规则。仅对 Claude Code / OpenAI Codex / Antigravity 三家有效。共享 backend:两条路径都走同一
bridge.py→ adapter → safety policy → worktree,行为一致。
除
agy_doctor与--dry-run外,agy/agy_start会启动真实agy --print,可能消耗 Antigravity 请求额度。本项目只包装、路由、 隔离、审计,不重新实现agyAPI。
11 个 MCP 工具
工具 | 用途 |
| 同步一次性调用(PROMPT / cd / sandbox / SESSION_ID + |
| 续 |
| 后台启动长任务,立即返回 |
| 查 job 状态:running / completed / failed / cancelled / upstream_error |
| 读 job 事件流(raw / claude / codex 三协议) |
| 取已完成 job 的结果;不传 |
| 跨平台 process group 终止 |
| 列最近 session |
| 环境 + 鉴权 + capability 探测(不泄漏 secrets) |
| 把 SKILL bundle 装到 Claude / Codex / Antigravity 目录 |
| 清理本机 session-store 目录(refuse |
何时调用 / 何时不调用
情景 | 建议路径 |
上下文里能直接答的 Q&A | 不调,自己答 |
Bug 假设的第二意见 |
|
给 review 用的 diff |
|
应用 reviewed diff |
|
数小时大重构 |
|
需要 Anthropic / OpenAI 对话状态 | 不调 —— |
安全底线
所有错误 / 日志 / 响应字段先过
SafetyPolicy.redact:/Users/<u>/→~/,PEM / JWT / AKID / Bearer 全脱敏;mode=execute写入必须显式allow_write=True;destructive prompt 即使置位仍拒;execute模式下读 / 提及~/.ssh、~/.aws/credentials、浏览器 cookie、OS keychain 都拒;mode=execute + allow_write默认worktree=True(可经~/.config/agy-mcp/config.toml或AGY_MCP_WORKTREE_DEFAULT=0关闭);不写任何文件到
~/.gemini/(Antigravity CLI 自有状态目录);user-scope antigravity skill 落在~/.agy/skills/。
完整威胁模型与「不防御」清单 → docs/security.md。
项目协议片段
直接复制到项目根的 CLAUDE.md / AGENTS.md:
prompts/CLAUDE.md— Claude Code 协作协议prompts/AGENTS.md— OpenAI Codex 协作协议prompts/antigravity-system.md—agy端 system prompt 建议
文档目录
文件 | 内容 |
安装 + Claude Code / Codex 注册 + SKILL + 验证 | |
模块图(caller / MCP server / bridge / supervisor / adapter / safety) | |
Hybrid backend:stdout + klog + transcript.jsonl + 协议翻译器 | |
English README | |
繁體中文 README | |
日本語 README | |
威胁模型、防护清单、明确不防御项 | |
| |
7 个典型场景 | |
Stream-json passthrough vs Hybrid backend 两种 wrapper 模式对比 | |
PyPI trusted publishing + GitHub Release 发布手册(一次性设置 + 常规流程) | |
版本变更记录(Keep a Changelog) |
开发
uv sync
uv run pytest # 全量测试
uv run agymcp # 启动 MCP stdio server(人工测试用)
uv run agy-bridge --cd . --PROMPT "Hello" --mode ask --dry-run --debug
uv run agy-doctor # 环境与鉴权探测License
MIT.
Available Tools
11 toolsagyA
Run agy --print synchronously and return the assistant text + metadata. Compatible drop-in for the legacy gemini tool: same PROMPT / cd / sandbox / SESSION_ID / return_all_messages / model fields, with new mode / timeout / allow_write / worktree / backend / output_protocol options.
| Name | Required | Description | Default |
|---|---|---|---|
| cd | No | . | |
| mode | No | ask | |
| debug | No | ||
| model | No | ||
| PROMPT | Yes | ||
| backend | No | auto | |
| dry_run | No | ||
| sandbox | No | ||
| timeout | No | ||
| worktree | No | ||
| extra_env | No | ||
| SESSION_ID | No | ||
| allow_write | No | ||
| output_protocol | No | claude | |
| return_all_messages | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| cwd | No | |
| error | No | |
| job_id | No | |
| status | No | |
| adapter | No | |
| success | Yes | |
| log_path | No | |
| warnings | No | |
| artifacts | No | |
| SESSION_ID | No | |
| created_at | No | |
| updated_at | No | |
| all_messages | No | |
| agent_messages | No | |
| command_preview | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears the burden. It discloses synchronous execution and return content, and mentions parameters like allow_write and sandbox that hint at side-effect control, but it does not specify permissions, side effects, or operational risks.
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, efficiently delivering the core action, return type, and parameter compatibility. No filler or redundancy; information is 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?
With 15 parameters, 0% schema coverage, and no annotations, the description is too thin. It relies heavily on familiarity with the legacy gemini tool and does not explain modes, enums, or the output structure beyond 'assistant text + metadata'.
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%, so the description must compensate. It lists parameter groups ('same PROMPT / cd / ...' and 'new mode / timeout / ...') but does not explain the meaning of individual parameters or enum values, leaving the agent without sufficient semantics.
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 explicitly states 'Run agy --print synchronously and return the assistant text + metadata', providing a specific verb, resource, and output. It distinguishes this from sibling tools like agy_start and agy_continue by positioning it as the primary execution tool.
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 offers clear context by calling itself a 'drop-in for the legacy gemini tool', indicating when it should be used (when you would use gemini). However, it does not explicitly contrast with siblings or provide exclusions, but the inference is straightforward from the names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_cancelA
Signal a running job to stop. Returns success=True, signalled=True if the worker was alive, signalled=False if it was unknown / already finished.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| job_id | No | |
| success | Yes | |
| signalled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explains the return semantics (`success=True, signalled=True` vs `signalled=False`) and the condition for each outcome (worker alive vs unknown/finished), going beyond the schema.
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 action, and no redundant wording. Every word adds value, including the return-value details.
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 one-parameter cancellation tool with an output schema available, the description provides key behavioral and return information. It lacks broader context like prerequisites or side effects, but the simplicity of the operation makes it reasonably complete.
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 has 0% description coverage and only one parameter, `job_id`. The description indirectly references the job but does not explain what format `job_id` should take or how to obtain it. The parameter name is self-explanatory, but more explicit guidance would improve the score.
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 action ('Signal a running job to stop') with a specific verb and resource. It distinguishes itself from siblings like agy_status, agy_read, and agy_continue by focusing on cancellation.
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 usage context is implied: use this when you want to stop a running job. However, it does not explicitly mention when not to use it or how it relates to alternative tools like agy_continue or agy_purge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_continueA
Continue an existing agy session. Identical to agy except SESSION_ID is required and the underlying adapter resumes the Antigravity conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| cd | No | . | |
| mode | No | ask | |
| debug | No | ||
| model | No | ||
| PROMPT | Yes | ||
| backend | No | auto | |
| dry_run | No | ||
| sandbox | No | ||
| timeout | No | ||
| worktree | No | ||
| extra_env | No | ||
| SESSION_ID | Yes | ||
| allow_write | No | ||
| output_protocol | No | claude | |
| return_all_messages | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| cwd | No | |
| error | No | |
| job_id | No | |
| status | No | |
| adapter | No | |
| success | Yes | |
| log_path | No | |
| warnings | No | |
| artifacts | No | |
| SESSION_ID | No | |
| created_at | No | |
| updated_at | No | |
| all_messages | No | |
| agent_messages | No | |
| command_preview | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits but only says 'the underlying adapter resumes the Antigravity conversation.' It does not mention side effects, write permissions, session state changes, or other behaviors. Given zero annotation coverage, this is a significant gap.
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 every word adds value. It efficiently conveys the main function and the critical requirement (SESSION_ID) without redundancy.
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?
Despite having an output schema, the tool has 15 parameters and no annotations. The description is minimal and does not explain key behavioral aspects like modes, backends, or the meaning of parameters such as allow_write or return_all_messages. It is too sparse 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 0%, and the description only adds meaning to SESSION_ID (clarifying it is required for continuation). It does not explain PROMPT or the other 13 parameters, nor does it elaborate on enums or defaults. The reference to `agy` might imply shared semantics, but that is not self-contained.
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 explicitly states 'Continue an existing agy session' with a specific verb and resource, and distinguishes itself from siblings by noting 'Identical to `agy` except SESSION_ID is required.' This clearly differentiates it from agy_start (new session) and other session-related tools.
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?
It implies usage is for continuing an existing session, with 'SESSION_ID is required' as the key differentiator. It references the alternative `agy` but does not explicitly state exclusions like 'do not use for new sessions.' However, the context is clear enough for an agent to decide when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_doctorA
Run capability + auth + session-store probes. Returns a structured report (no secrets) suitable for surfacing to a user via MCP. Pass force_refresh=true to drop the cached binary probe (use after upgrading the underlying agy / gemini CLI without restarting the MCP server).
| Name | Required | Description | Default |
|---|---|---|---|
| force_refresh | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| report | No | |
| success | Yes | |
| version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the burden. It discloses caching behavior ('drop the cached binary probe'), the return format ('structured report (no secrets)'), and appropriateness for MCP. It doesn't explicitly state safety or side effects, but the context is adequate.
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 concise sentences front-load the purpose, describe the output, and then explain the parameter. No wasted words.
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 tool is simple (one optional parameter) and an output schema exists. The description covers the purpose, output nature, and the cache nuance, making it complete for an agent to invoke 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?
Despite 0% schema coverage, the description fully explains the one parameter: 'Pass `force_refresh=true` to drop the cached binary probe' and gives the exact scenario for using it.
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 states 'Run capability + auth + session-store probes' with a specific verb and resource, clearly distinguishing it from sibling tools like agy_status or agy_read as a diagnostic tool.
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?
It provides clear context for the force_refresh parameter ('use after upgrading the underlying agy / gemini CLI'), but does not explicitly compare with alternatives or state when-not to use it. The diagnostic purpose is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_install_skillA
Install the agy-mcp collaboration skill bundle into one or more agent platforms. targets may include 'claude', 'codex', 'antigravity', or 'all' (default expands to all three). User scope writes to ~/.claude/skills/, ~/.agents/skills/, and ~/.agy/skills/ respectively; project scope writes to .claude/skills/, .agents/skills/, and .antigravity/skills/ under the supplied project_root. Antigravity's wrapper-owned ~/.agy/ is used in user scope because the standing rule 'do not write under ~/.gemini/' rules out the Antigravity CLI's own state directory. force=False (the default) skips files whose on-disk body already matches; force=True rewrites every file unconditionally.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | ||
| scope | No | user | |
| targets | No | ||
| project_root | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| success | Yes | |
| warnings | No | |
| installed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the transparency burden. It details exact filesystem paths per scope, the force flag behavior (skip vs. unconditional rewrite), and the reasoning behind using ~/.agy/ over ~/.gemini/ due to a standing rule. This is rich behavioral context.
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 a single well-structured paragraph, front-loaded with the main action, then logically covering targets, scope paths, the Antigravity exception, and force semantics. Every sentence adds necessary context without waste.
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?
Given 4 parameters, 0% schema coverage, and existing output schema, the description covers all parameters, defaults, and edge cases, leaving no significant ambiguity for an agent to decide when and how to invoke the 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 description coverage is 0%, and the description compensates thoroughly: targets values are enumerated, scope modes are tied to concrete paths, project_root is explained, and force behavior is defined for both false and true.
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 opens with a specific verb+resource: 'Install the agy-mcp collaboration skill bundle into one or more agent platforms.' It clearly differentiates from sibling tools like agy_start or agy_status by focusing on installation.
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 explains target expansion and scope semantics, giving clear context on parameter choices. It does not explicitly name alternatives or exclusions, but the tool's purpose is self-contained and sibling names clearly differ.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_purgeA
Delete session-store job directories whose mtime is older than days. Returns the removed job ids and a coarse count of remaining jobs. days must be a positive integer <= 3650; zero or negative values are rejected to avoid an accidental wipe via off-by-one config.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| error | No | |
| removed | No | |
| success | Yes | |
| remaining | No | |
| removed_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the deletion action, the validation constraints (positive integer <= 3650, rejection of zero/negative), and the return value (removed job ids and coarse count). This adds safety context and expected behavior, though it does not detail irreversible effects or permissions.
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 no redundancy. The first sentence states the core action, the second provides validation details and rationale. Every word adds value, and the most critical information is 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 covers the tool's purpose, parameter constraints, and return value, which is sufficient given the simple single-parameter interface and the presence of an output schema. It does not describe the exact structure of the output, but the output schema presumably covers that, and it does not mention edge cases like empty results, but these are minor gaps.
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 only defines `days` as an integer with a default, providing no description. The tool description fills this gap completely by specifying the valid range (1-3650), the requirement for positivity, and the rationale for rejecting zero/negative values, which prevents misuse.
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 action ('Delete') and the resource ('session-store job directories'), and specifies the condition based on mtime and days. It also mentions the return value, which distinguishes it from sibling tools like agy_status or agy_cancel by describing a unique cleanup operation.
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 implies usage for cleaning up old session jobs, and explicitly warns about safe values for `days` to avoid accidental wipes. However, it does not explicitly state when to prefer this tool over alternatives, nor does it mention when not to use it (e.g., if active jobs might be affected).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_readA
Read events from a job's event log. since is the 0-based offset; translate may be 'raw', 'claude', or 'codex' to wire-format the events (default returns canonical events as dicts).
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ||
| job_id | Yes | ||
| translate | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| error | No | |
| since | No | |
| events | No | |
| job_id | No | |
| success | Yes | |
| translate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that 'since' is a 0-based offset, defines the translate values, and specifies the default output (canonical events as dicts). However, it does not cover error scenarios, event ordering, or rate limits, which would add further transparency.
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 concise sentences, each packed with relevant information and no redundancy. The purpose is front-loaded, and the parameter details are presented efficiently.
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?
An output schema exists, so return values need not be detailed. The description covers parameter behaviors and default output well, but lacks explicit usage guidance relative to sibling tools and potential edge cases, leaving minor gaps.
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%, so the description properly explains parameter meanings. It clearly defines 'since' as an offset and 'translate' with its enum options, adding value beyond the bare schema. job_id is self-explanatory, so the overall parameter semantics are well covered.
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 opens with 'Read events from a job's event log', a specific verb-resource pairing that clearly distinguishes this from sibling tools like agy_status or agy_start. The mention of translate formats further specifies the tool's function.
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 states what the tool does but does not explicitly mention when to use it over alternatives, nor does it provide exclusions. The use case is implied by the read-only nature, but there is no direct guidance relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_resultA
Return the captured output for a finished background job. Pass job_id to select a job, or omit it to use the latest finished job from agy_sessions. Set include_events=true to also return stored events; otherwise use agy_read for the full event log.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ||
| job_id | No | ||
| include_events | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| error | No | |
| since | No | |
| events | No | |
| job_id | No | |
| record | No | |
| success | Yes | |
| result_text | No | |
| include_events | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the default behavior (latest finished job) and the include_events toggle, but does not explain error handling or what happens if no finished job exists. It is adequate but not rich in behavioral disclosure.
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, front-loaded with the core purpose. No wasted words; every sentence provides actionable guidance, including a sibling reference.
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 the main use case and directs to agy_read for full logs, but the unmentioned 'since' parameter and lack of edge-case details make it slightly incomplete. The presence of an output schema covers return values, so this is a minor gap.
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%, so the description must compensate. It explains job_id and include_events but completely omits the 'since' parameter (integer with default 0). This leaves a meaningful gap in understanding the tool's full parameter set.
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 function: 'Return the captured output for a finished background job.' It uses a specific verb and resource, and explicitly contrasts with agy_read for the full event log, effectively distinguishing it from siblings.
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 provides explicit usage instructions: pass job_id to select a job or omit it to use the latest finished job from agy_sessions, and set include_events=true to also return stored events. It also directs users to agy_read for the full event log, offering clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_sessionsA
List recent jobs, newest first. limit defaults to 50; pass 0 for the full list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| error | No | |
| records | No | |
| success | 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 discloses the ordering ('newest first') and the limit behavior (default 50, 0 for full list), which is useful. However, it does not explicitly state that the operation is read-only or describe potential side effects, though 'list' implies a safe read.
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 entire description is a single sentence, concise and front-loaded with the main action. Every word earns its place, conveying both purpose and parameter details without 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 list tool with one optional parameter and an output schema, the description covers the core aspects: what is listed, ordering, and limit semantics. It omits explicit mention of read-only status or the definition of 'jobs', but the presence of an output schema reduces the need to describe return values.
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 provides only a bare parameter with a default, but the description adds crucial semantics: 'limit defaults to 50; pass 0 for the full list.' This explains the parameter's behavior and special value, effectively compensating for the 0% schema description coverage.
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 'List recent jobs' with an explicit ordering ('newest first'), giving a specific verb and resource. It does not explicitly differentiate from sibling tools like agy_status or agy_result, but the resource 'jobs' and the list action are distinct enough.
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 provides no guidance on when to use this tool versus alternatives such as agy_status or agy_result. There is no mention of typical use cases, prerequisites, or exclusions, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_startA
Start an agy session in the background. Returns an envelope with status='running' and a job_id you can poll via agy_status / agy_read / agy_cancel.
| Name | Required | Description | Default |
|---|---|---|---|
| cd | No | . | |
| mode | No | ask | |
| debug | No | ||
| model | No | ||
| PROMPT | Yes | ||
| job_id | No | ||
| backend | No | auto | |
| sandbox | No | ||
| timeout | No | ||
| worktree | No | ||
| extra_env | No | ||
| SESSION_ID | No | ||
| allow_write | No | ||
| output_protocol | No | claude |
Output Schema
| Name | Required | Description |
|---|---|---|
| cwd | No | |
| error | No | |
| job_id | No | |
| status | No | |
| adapter | No | |
| success | Yes | |
| log_path | No | |
| warnings | No | |
| artifacts | No | |
| SESSION_ID | No | |
| created_at | No | |
| updated_at | No | |
| all_messages | No | |
| agent_messages | No | |
| command_preview | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It discloses that the session runs in the background and returns a status and job_id. It does not mention side effects like file system changes, permissions, or rate limits, but for a 'start' tool the core behavior is reasonably conveyed. Lacks depth expected for a 14-parameter tool.
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, zero fluff. The first sentence states the core action, the second explains the return value and next steps. Every word 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?
Despite the presence of an output schema (per context), the tool is complex with 14 parameters and rich options (modes, sandbox, workflows). The description only covers the basic launch-and-poll flow, offering almost no guidance on parameter selection, which is essential for correct usage in varied situations.
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%, so the description should compensate for parameter meaning. It does not explain any of the 14 parameters (PROMPT, mode, backend, sandbox, allow_write, etc.). The only mention of job_id refers to the return value, not the input parameter. This leaves the agent guessing about all parameters.
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 action: 'Start an agy session in the background.' This identifies a specific verb and resource, and the mention of returning a job_id to poll distinguishes it from sibling tools like agy_status and agy_cancel. It leaves no ambiguity about what the tool does.
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 provides clear context: this tool is for launching a background session and then polling it via agy_status/agy_read/agy_cancel. It implies usage for asynchronous workflows and names the related tools. However, it does not explicitly say when NOT to use this tool or mention alternatives like 'agy' for interactive sessions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agy_statusB
Return the JobRecord (status, exit code, error, timestamps) for a job_id.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| record | No | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only lists the return fields and does not state whether the operation is read-only, any authentication or permission requirements, rate limits, or potential side effects.
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 a single, front-loaded sentence with a clear verb and resource. It contains no filler or redundant content, making it appropriately concise.
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 one-parameter status lookup, the description covers the basic function and an output schema exists to detail return values. However, it lacks usage context and behavioral details (e.g., whether it can be called for any job_id or if it has side effects), leaving some gaps in 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?
The schema has 0% description coverage, and the description merely repeats 'job_id' without adding format, origin, or example details. It provides no additional meaning beyond the schema's property name and required flag, so it fails to compensate for low schema coverage.
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 a specific verb ('Return') and identifies the exact resource ('JobRecord') along with its key fields (status, exit code, error, timestamps) for a given job_id. This clearly distinguishes it from sibling tools like agy_start, agy_cancel, and agy_result.
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 implies usage when a job's status is needed, but provides no explicit guidance on when to use this tool versus alternatives such as agy_result or agy_read. It does not mention exclusions or prerequisites, leaving the context implicit.
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. Dates show when Glama detected each change.
11 tool updates
v0.1.8- First observed
agy - First observed
agy_cancel - First observed
agy_continue - First observed
agy_doctor - First observed
agy_install_skill - First observed
agy_purge - First observed
agy_read - First observed
agy_result - First observed
agy_sessions - First observed
agy_start - First observed
agy_status
TDQS
Each tool has a clearly distinct purpose: agy/agy_continue/agy_start differentiate synchronous, resume, and background execution; agy_status/read/result/cancel/sessions cover distinct monitoring and control operations; and agy_doctor/install_skill/purge are separate admin utilities. Even the similar agy_read and agy_result are unambiguously separated by event log vs. captured output.
All tools share the agy_ prefix and snake_case, creating a predictable namespace. However, the pattern mixes imperative verbs (start, read, cancel) with nouns (status, result, sessions), and the bare `agy` tool breaks the verb_noun convention. Despite this, the naming remains readable and internally consistent.
With 11 tools, the server is well-scoped for its purpose, covering synchronous execution, background job lifecycle, monitoring, and admin functions without redundancy or bloat. This falls comfortably within the ideal 3-15 range.
The tool set provides comprehensive coverage of session and job lifecycle: run, continue, start, status, read, result, cancel, list, and purge. Minor gaps exist, such as no direct single-job delete or skill uninstall, but these are not critical to the core workflow and can be worked around.
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
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Remote MCP for Gemini upgrade evals, prompt regressions, output diffs, and eval receipts.
Generate a typed SDK, CLI, and MCP server from any OpenAPI or GraphQL spec, and keep them current.
Task management your AI agents can actually run. One line becomes a context-ready task over MCP.
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.218MIT
- 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.1-
- AlicenseAqualityCmaintenanceWraps Google's Antigravity CLI as MCP tools for Claude, enabling cost-disciplined multi-model execution with background jobs and fan-out research/review pipelines.13MIT
- AlicenseAqualityCmaintenanceBridges Google Antigravity CLI with MCP clients, enabling 13 specialized tools for AI-assisted coding, automation, and security audits.13407MIT
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/Boulea7/agy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server