agent-antigravity-mcp
This server provides an MCP interface to the Google Gemini Antigravity Agent for autonomous code execution, web browsing, and more. You can:
Manage agent interactions: create, continue, cancel, list, and poll status; submit custom function results; process text and base64 image inputs; run asynchronously with token budgets.
Execute code remotely: run shell, Python, and Node.js commands in Linux sandboxes; manage sandbox environments (create, list, inspect, delete, upload/download files, snapshot as .tar).
Browse the web: integrated
google_searchandurl_contexttools.Schedule cron triggers: create, list, pause/resume, delete, run on demand, and audit execution history for recurring interactions.
Automate GitHub PRs: clone a repo, branch, complete a task, push, and open a PR with secure token injection via network allowlist.
Register managed agents: reusable named agents with persistent system instructions, default tools, and base environments.
Configure extensibility: connect external MCP servers, set pre/post hooks for tool interception, build environment configs with file sources and network rules.
Choose Gemini models like
gemini-3.6-flashandgemini-3.5-flash-lite.Reliable operation: API call fallbacks with exponential backoff and interaction session caching.
Enables GitHub Pull Request workflow: branching, committing, pushing changes, and opening PRs from a task description, with token injection via sandbox network allowlist.
Provides tools to create, manage, and continue interactions with Google Gemini Antigravity Agent, including autonomous code execution, web browsing, multimodal inputs, and function calling.
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., "@agent-antigravity-mcpcreate a GitHub PR to update the README with installation instructions"
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.
Agent Antigravity MCP Server
Model Context Protocol (MCP) server for Google Gemini Antigravity Agent.
Features
Autonomous Code Execution: Run shell, Python, Node.js commands in remote Linux sandbox.
Web Browsing & Search: Integrated
google_searchandurl_context.Multimodal Inputs: Process text instructions and base64 images.
Custom Functions: Support turn-based custom function calling.
Remote MCP Servers: Connect external MCP servers to Antigravity agent.
Model Selection: Choose between
gemini-3.6-flash,gemini-3.5-flash-lite, and other Gemini models.Background Execution: Async interactions with
background=Truepolling andmax_total_tokensbudget cap.Environment Config: Build remote sandbox config with file sources (inline/git/gcs) and network allowlist.
Cron Triggers: Create, list, pause/resume, delete, run, and audit scheduled recurring interactions.
GitHub PR Workflow: Point at a repo (public/private) + base branch; agent branches, does the task, pushes, opens the PR. Token injected via sandbox network allowlist, never in the prompt.
Managed Agents: Register reusable named agents (
system_instruction, default tools,base_environment) and invoke them by ID.Environments API: List/inspect/delete sandbox environments directly, and download a sandbox's full filesystem as a
.tar.Hooks Config: Mount a
hooks.json(pre/postcode_execution/file-op interception, allow/deny) into the sandbox via an inline environment source — format documented increate_interaction'senvironmentarg.
Related MCP server: Gemini Agent MCP Server
Tools
Tool | Covers |
| Interactions API create + multi-turn + function calling + |
| Interaction status, polling, cancel, delete |
| Triggers API (cron scheduling) |
| Clone repo, branch, do task, push, open PR |
| Managed Agents API (register + invoke by ID) |
| Environments API (sandbox lifecycle + file transfer) |
Note: the Interactions API supports stream=true for real-time step deltas via the
google-genai SDK directly (AntigravityClient.create_interaction(..., stream=True)),
but it's not exposed as an MCP tool — MCP tool calls are synchronous request/response,
so there's no way to surface incremental deltas over this transport.
Installation
Clone it somewhere and note the full path:
git clone https://github.com/bgembalczyk/agent-antigravity-mcp.git
cd agent-antigravity-mcp && pwdEvery client below runs the server the same way — uv run --project <that path> agent-antigravity over stdio — so you need
uv installed, but no manual venv or pip install step. In every snippet, replace PATH_TO_REPO with the pwd
output above (full path, not ~).
Claude Code (as a plugin, recommended)
No local clone needed — Claude Code clones it straight from GitHub:
/plugin marketplace add bgembalczyk/agent-antigravity-mcp
/plugin install agent-antigravity@agent-antigravity-mcpExport GEMINI_API_KEY/GITHUB_TOKEN in your shell profile before launching
Claude Code — the plugin's .mcp.json reads them via ${GEMINI_API_KEY}/${GITHUB_TOKEN}.
Antigravity CLI / IDE
File: ~/.gemini/config/mcp_config.json
"agent-antigravity": {
"command": "uv",
"args": ["run", "--project", "PATH_TO_REPO", "agent-antigravity"],
"env": { "GEMINI_API_KEY": "${GEMINI_API_KEY}", "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
}Paste that inside the top-level "mcpServers": { ... } object (create it with
just {"mcpServers": {}} if the file doesn't exist yet).
Codex CLI
File: ~/.codex/config.toml
[mcp_servers.agent-antigravity]
command = "uv"
args = ["run", "--project", "PATH_TO_REPO", "agent-antigravity"]
[mcp_servers.agent-antigravity.env]
GEMINI_API_KEY = "your_gemini_api_key"
GITHUB_TOKEN = "your_github_pat_with_repo_scope"Append that to the end of the file — TOML tables don't care what's above them. Codex doesn't expand shell vars here, so put the real key values in.
GitHub Copilot CLI
File: ~/.copilot/mcp-config.json
"agent-antigravity": {
"type": "local",
"command": "uv",
"args": ["run", "--project", "PATH_TO_REPO", "agent-antigravity"],
"env": { "GEMINI_API_KEY": "your_gemini_api_key", "GITHUB_TOKEN": "your_github_pat_with_repo_scope" },
"tools": ["*"]
}Paste inside "mcpServers": { ... } (create the file with {"mcpServers": {}}
if needed). Takes effect immediately, no restart. Same as Codex, real values
in env — Copilot CLI doesn't expand shell vars here either.
OpenCode
File: ~/.config/opencode/.opencode.json (global) or opencode.json in a
project root (project-scoped).
"agent-antigravity": {
"type": "local",
"command": ["uv", "run", "--project", "PATH_TO_REPO", "agent-antigravity"],
"environment": { "GEMINI_API_KEY": "{env:GEMINI_API_KEY}", "GITHUB_TOKEN": "{env:GITHUB_TOKEN}" }
}Paste inside "mcp": { ... } (create with {"mcp": {}} if needed).
{env:VAR_NAME} expands from your shell environment at startup. Restart
OpenCode (or reload config) after saving.
Any other MCP client / standalone
Any client that speaks MCP over stdio can launch this server the same way:
uv run --project PATH_TO_REPO agent-antigravity. If you'd rather manage the
virtualenv yourself instead of letting uv run do it:
uv venv --clear venv
uv pip install -e .
venv/bin/agent-antigravityConfiguration
Create .env file:
GEMINI_API_KEY=your_gemini_api_key
GITHUB_TOKEN=your_github_pat_with_repo_scopeGITHUB_TOKEN fallback used by create_github_pr_task when no github_token param given. Needs repo scope for private repos.
Optional:
AGENT_ANTIGRAVITY_LOG_LEVEL=INFO
AGENT_ANTIGRAVITY_SESSIONS_DB=/custom/path/sessions.db
AGENT_ANTIGRAVITY_TRANSPORT=stdio # stdio | sse | streamable-http
AGENT_ANTIGRAVITY_HOST=127.0.0.1 # sse/streamable-http only
AGENT_ANTIGRAVITY_PORT=8000 # sse/streamable-http only
AGENT_ANTIGRAVITY_MAX_REQUESTS_PER_MINUTE=60 # 0 disables limitingUsage
Once registered with any client above, the server starts automatically over
stdio whenever that client launches — nothing to run manually. In Claude Code,
the agent-antigravity skill (skills/agent-antigravity/SKILL.md) also
auto-activates when a task matches, on top of the raw MCP tools being available.
Reliability
Every API call tries the
google-genaiSDK first, falls back to direct REST on failure (logged at WARNING). REST calls retry on429/5xx/transport errors with exponential backoff (3 attempts).Interaction session cache is SQLite-backed (
~/.agent-antigravity/sessions.dbby default) and survives process restarts.CI (
.github/workflows/test.yml) runs the test suite on every push/PR.
Testing
uv pip install -e ".[dev]"
pytest -qCredit
Structure and tool/resource/prompt patterns inspired by jules-mcp-server, an MCP server for Google Jules.
License
MIT — see LICENSE.
Available Tools
27 toolsbuild_environment_configARead-onlyIdempotent
Helper tool to generate a remote sandbox EnvironmentConfig dict.
Args: sources: List of {"type": "repository"|"gcs"|"inline", "source": "url-or-content", "target": "/workspace/path", "content": "..."}. "repository" (git URL) and "gcs" use "source"; "inline" uses "content" instead. "target" is required for all and must be a subdirectory (cannot mount to "/"). network_allowlist: List of {"domain": "api.example.com"|".example.com"|"", "transform": {"Authorization": "Bearer ..."}}. Ignored if network_disabled is True. network_disabled: Block all outbound network traffic (sets network="disabled"). environment_id: Reuse an existing environment's state instead of provisioning fresh.
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | ||
| environment_id | No | ||
| network_disabled | No | ||
| network_allowlist | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, indicating no mutation and deterministic output. The description adds behavioral context: it generates a dict, and notes that 'network_allowlist' is ignored when 'network_disabled' is True. This goes beyond annotations but could include more side-effect details (none expected here).
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 concise and well-structured, using docstring-style parameter listings. Each sentence serves a purpose, with no redundancy or filler. The format is front-loaded with the core purpose, followed by clear bullet points.
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 the tool has 4 parameters (with nested objects) and an output schema, the description is complete. It explains all input behaviors, dependencies (e.g., allowlist ignored if disabled), and special constraints (target must be subdirectory). The output schema handles return values, so the description need not cover them.
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 description provides detailed semantics for each parameter, far beyond the input schema. For 'sources', it explains the three types, the distinction between 'source' and 'content', and that 'target' must be a subdirectory. For 'network_allowlist', it describes 'domain' and 'transform' structure. For 'network_disabled' and 'environment_id', it clarifies their behavioral effects. With 0% schema description coverage, the description fully compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Helper tool to generate a remote sandbox EnvironmentConfig dict.' This specifies the action (generate), the resource (EnvironmentConfig dict), and its context (remote sandbox). It is distinct from siblings like 'create_environment' which actually provisions environments, so differentiation is clear.
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 labels the tool as a 'helper' and explains what it does, but does not explicitly state when to use it vs. alternatives like 'create_environment' or 'build_mcp_server_tool_config'. Usage context is implied but not directly addressed, leaving the agent to infer from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_hooks_configARead-onlyIdempotent
Build a hooks.json config for sandbox-native tool interception (code_execution, read/write/list/delete_file).
Hooks only fire for sandbox-native tools, never for function calling or mcp_server tools. Mount the result at target ".agents/hooks.json" via build_environment_config's inline sources so the sandbox picks it up automatically.
Args: pre_tool_execution: List of {"matcher": "<RE2 regex, e.g. 'code_execution' or '.*_file'>", "hooks": [{"type": "command"|"http", "command"|"url": "...", "timeout": 10}]}. A "command" hook receives the tool call as JSON on stdin and must print {"decision": "allow"} or {"decision": "deny", "reason": "..."} to stdout. post_tool_execution: Same matcher/hooks shape; runs after execution, cannot block, output ignored. group_name: Top-level key grouping this hook set. enabled: Whether this group is active.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | ||
| group_name | No | default | |
| pre_tool_execution | No | ||
| post_tool_execution | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and idempotentHint=true. The description adds context about hook scope (sandbox-native only), mounting behavior, and argument behavior (timeout, command/http output format). No contradictions with annotations.
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 well-structured: a concise purpose statement followed by a scope note, mounting instruction, and a clear Args block. Every sentence adds value; no 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?
The description fully covers the tool's purpose, usage, and arguments. Input schema is simple (no required params) and description compensates fully. Output schema exists, so return values need not be described. No 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 coverage is 0%, but the description fully compensates with detailed Args explaining pre_tool_execution, post_tool_execution, group_name, and enabled, including their shape, defaults, and behavior (e.g., matcher regex, command/http hooks, timeout).
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 builds a hooks.json config for sandbox-native tool interception, listing specific tools like code_execution and read/write/list/delete_file. It distinguishes itself from siblings like build_environment_config and build_mcp_server_tool_config by focusing on hooks configuration.
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 that hooks only fire for sandbox-native tools, not for function calling or MCP server tools, and instructs where to mount the result (.agents/hooks.json) via build_environment_config. It provides detailed argument format but could explicitly state when to use this tool versus environment config tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_mcp_server_tool_configCRead-onlyIdempotent
Helper tool to generate remote MCP server configuration dict for agent tools parameter.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| name | Yes | ||
| headers | No | ||
| allowed_tools | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, covering safety. The description adds the nature of generation but no extra behavioral context. No contradiction with annotations.
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?
Single sentence, front-loaded with key entity: 'generate remote MCP server configuration dict'. Concise but could be expanded without losing brevity.
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 4 parameters, 0% schema coverage, and existence of sibling build_* tools, the description is too minimal. It doesn't explain input parameters or how this config fits into the overall system, despite having output schema.
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 provides no explanation of parameters (name, url, headers, allowed_tools). The agent cannot infer parameter meaning from the description.
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 it generates a remote MCP server configuration dict for agent tools parameter, which is a specific verb and resource. It distinguishes from sibling build_* tools (build_environment_config, build_hooks_config) by targeting remote MCP server. However, 'agent tools parameter' is ambiguous and could be clearer.
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 guidance on when to use this tool vs alternatives like build_environment_config or build_hooks_config. Implied use is for configuring a remote MCP server, but no explicit when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_interactionADestructiveIdempotent
Cancel an in-progress (e.g. background) interaction.
| Name | Required | Description | Default |
|---|---|---|---|
| interaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include idempotentHint=true and destructiveHint=true. The description adds the context that the interaction is 'in-progress', which helps the agent understand the state, but does not disclose side effects like state changes or auth requirements. It does not contradict annotations.
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 concise sentence that gets straight to the point. It could be slightly more structured (e.g., separating purpose and usage), but it is not verbose.
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 with one parameter and an output schema, so the description adequately covers the core purpose. However, given the sibling tool 'delete_interaction', additional context on when to cancel versus delete would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the single required parameter 'interaction_id'. The description does not explain what this parameter represents or how to obtain it, failing to add meaning beyond the schema's type and title.
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 verb 'cancel' and the resource 'interaction', with an example clarifying 'in-progress (e.g. background) interaction'. This distinguishes it from siblings like 'delete_interaction', which removes an interaction rather than stopping one in progress.
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 an interaction is in-progress, but lacks explicit when-to-use versus alternatives. It does not mention when not to use it, nor does it compare with sibling tools like 'delete_interaction' or 'get_interaction_status'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
continue_interactionA
Continue an existing interaction turn with new prompt, images, or function results.
Args: previous_interaction_id: ID of the interaction turn to continue. environment_id: Sandbox environment ID returned from previous turn. prompt: Optional follow-up prompt text. images: Optional follow-up base64 images. function_results: Optional list of function_result dicts: [{"name": "...", "call_id": "...", "result": {...}}]. agent: Agent identifier. system_instruction: Optional behavior/persona override for this turn.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | antigravity-preview-05-2026 | |
| images | No | ||
| prompt | No | ||
| environment_id | Yes | ||
| function_results | No | ||
| system_instruction | No | ||
| previous_interaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only lists parameters and their types. It fails to disclose side effects (e.g., state mutation), authentication needs, rate limits, or return behavior. The agent cannot assess safety or consequences.
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 concise and well-structured: a one-line summary followed by a bullet-like arg list. Every sentence adds value, with no redundancy or fluff. It front-loads the purpose.
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 the complexity (7 params, no annotations, no output schema description), the description covers purpose and parameters adequately but lacks usage guidelines and behavioral transparency. An output schema exists, so return values are not required, but more context on when to use this tool vs siblings would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It defines all 7 parameters with clear, concise explanations (e.g., 'Optional list of function_result dicts: [{"name": ...}]'). This adds significant meaning beyond the schema's type-only definitions.
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 continues an existing interaction turn with new inputs, using specific verb 'continue' and resource 'interaction turn'. It distinguishes from siblings like 'create_interaction' (which starts new) and 'submit_function_result' (which is a subcomponent).
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 continuing interactions but lacks explicit when-to-use or when-not-to-use guidance. No mention of alternatives or prerequisites, leaving the agent to infer context from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_environmentA
Provision a standalone sandbox environment for reuse across multiple interactions.
Unlike passing environment=build_environment_config(...) inline to create_interaction (which forks per invocation), this persists an environment_id you can pass to create_interaction/continue_interaction directly.
Args: sources: See build_environment_config. network_allowlist: See build_environment_config. network_disabled: See build_environment_config.
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | ||
| network_disabled | No | ||
| network_allowlist | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'provision' implying creation but does not disclose any side effects, permissions, limits, or cleanup behavior. The description lacks behavioral details beyond basic creation persistence.
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 well-structured with a clear opening, contrast paragraph, and bullet-like list for arguments. It is concise and front-loaded with the main purpose, though the parameter list is minimal.
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 explains the tool's role relative to create_interaction, but with 3 optional parameters and an output schema (not shown), it omits details about return values and behavior. It is adequate but not fully complete given the 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 coverage is 0% and the description only references 'See build_environment_config' for three parameters. This adds minimal direct semantics; the agent must look up another tool's schema. No parameter-specific meaning is given beyond the reference.
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 'Provision a standalone sandbox environment' and clearly distinguishes this tool from using inline environment config in create_interaction. It establishes reuse across interactions, differentiating it from siblings like create_interaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly contrasts two approaches: using this tool for persistence vs. passing inline config to create_interaction (which forks per invocation). It tells the agent when to use which, including the alternative function name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_github_pr_taskA
Have the agent clone a GitHub repo, branch off base_branch, do the task, and open a PR.
Token is injected via the sandbox network allowlist header transform (never placed in the prompt text), so it stays out of interaction transcripts/logs.
Args: repo_url: e.g. "https://github.com/owner/repo" (public or private). task_prompt: What the agent should implement/fix. base_branch: Branch to start from (default "main"). work_branch: Branch name to create; auto-generated if omitted. pr_title: PR title; defaults to a summary derived from task_prompt. github_token: GitHub PAT with repo scope. Falls back to GITHUB_TOKEN env var. model: Gemini model for the interaction. agent: Agent identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | antigravity-preview-05-2026 | |
| model | No | gemini-3.6-flash | |
| pr_title | No | ||
| repo_url | Yes | ||
| base_branch | No | main | |
| task_prompt | Yes | ||
| work_branch | No | ||
| github_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey behavioral traits. It explains token injection for security but does not disclose side effects like pushing branches, error handling, or required permissions (e.g., write access to repo).
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 front-loaded with the core purpose, followed by a security note and parameter list. It is well-structured but slightly verbose; the parameter explanation could be integrated more 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?
Given 8 parameters (2 required) and no output schema details in the description, it covers the main workflow but omits error handling, rate limits, and post-PR behavior. The output schema likely helps, but the description could be more 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?
With 0% schema description coverage, the description compensates by explaining each parameter's purpose, defaults, and fallback behavior (e.g., github_token falls back to env var). Some details like task_prompt format could be clearer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: clone a GitHub repo, branch off base_branch, perform a task, and open a PR. The verb 'have the agent ... do the task' specifies the action and resource distinctly.
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 explicit guidance on when to use this tool versus alternatives, though sibling tools are unrelated to PR creation. The description implies usage for automating PRs but lacks prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_interactionA
Create a new Antigravity agent interaction.
Args: prompt: Task instruction or prompt for the agent. agent: Agent identifier (default: antigravity-preview-05-2026). model: Model name for agent_config (e.g. gemini-3.6-flash, gemini-3.5-flash-lite). environment: Sandbox environment mode ('remote' or existing environment_id). tools: List of custom tool dicts (code_execution, google_search, url_context, mcp_server, function). images: Optional list of base64 images, e.g. [{"data": "", "mime_type": "image/png"}]. max_total_tokens: Optional token budget cap for the interaction. background: Run asynchronously; poll with get_interaction_status. Forces store=True. system_instruction: Optional behavior/persona override for this interaction. stream: Stream the response via the SDK (ignored by the REST fallback path).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | antigravity-preview-05-2026 | |
| model | No | gemini-3.6-flash | |
| tools | No | ||
| images | No | ||
| prompt | Yes | ||
| stream | No | ||
| background | No | ||
| environment | No | remote | |
| max_total_tokens | No | ||
| system_instruction | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions background mode and polling with get_interaction_status, but does not disclose side effects (e.g., state changes, resource consumption), required permissions, idempotency, or failure behavior. The description is incomplete for a creation tool with 10 parameters.
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?
Well-structured with clear bulleted list of arguments. Front-loaded with purpose. Slightly verbose in some parameter descriptions (e.g., images example), but still efficient for the number of parameters. Could trim redundant default mentions.
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?
Covers all 10 parameters and notes async behavior with background. Does not explain output shape (though output schema exists) or error conditions. For a tool with 1 required param and nested objects, the description is fairly complete but could include more on environment prerequisites and stream vs background tradeoffs.
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%, but the description thoroughly explains each parameter with examples (e.g., images format, agent default, environment options). This adds crucial meaning beyond raw schema types, fully compensating for the schema's lack of natural language descriptions.
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 starts with 'Create a new Antigravity agent interaction,' a clear verb+resource pairing. It distinguishes from sibling tools like get_interaction_status, cancel_interaction, and continue_interaction by focusing on creation. The detailed parameter list reinforces the specific 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?
No guidance on when to use this tool vs alternatives (e.g., continue_interaction, build_environment_config). No mention of prerequisites, when to use background vs stream, or the need for a pre-existing environment. The description lists parameters but provides no strategic usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_managed_agentA
Register a reusable named agent (invoke later via create_interaction(agent=agent_id)).
Args: agent_id: Unique identifier. Cannot start with reserved prefixes (antigravity-, gemini-, google-, etc). model: Model for agent_config (default gemini-3.6-flash). system_instruction: Persistent persona/behavior definition. tools: Default tools; falls back to code_execution, google_search, url_context if omitted. base_environment: Environment string/id or config dict (see build_environment_config); forked per invocation. description: Human-readable description.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | gemini-3.6-flash | |
| tools | No | ||
| agent_id | Yes | ||
| description | No | ||
| base_environment | No | ||
| system_instruction | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 burden. It discloses reserved prefixes, default model/tools, and that base_environment is forked per invocation. Missing details on permissions or failure modes.
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 concise paragraph with a clear list of arguments. Slightly dense but no wasted words; could benefit from clearer sectioning.
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 the output schema exists and the tool is complex, the description covers essential behavioral details and cross-references other tools, though it could mention validation or errors.
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%, but the description adds significant meaning for all 6 parameters: uniqueness constraints, default values, fallback behavior, and references to other config builders.
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 'Register a reusable named agent' with a specific verb and resource, and distinguishes from siblings like list/get/delete by focusing on creation and reuse.
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 explicitly says 'invoke later via create_interaction(agent=agent_id)' and explains parameter defaults, but does not explicitly state when not to use or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_triggerA
Create a cron-scheduled trigger that runs an Antigravity interaction on a recurring schedule.
Args: schedule: Cron expression, e.g. "0 9 * * *". prompt: Task instruction the agent runs on each execution. time_zone: IANA time zone, e.g. "America/Argentina/Buenos_Aires". display_name: Human-readable trigger name. agent: Agent identifier. environment: Sandbox environment mode ('remote' or existing environment_id). max_consecutive_failures: Auto-pause trigger after N consecutive failures. execution_timeout_seconds: Per-execution timeout.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | antigravity-preview-05-2026 | |
| prompt | Yes | ||
| schedule | Yes | ||
| time_zone | No | ||
| environment | No | remote | |
| display_name | No | ||
| max_consecutive_failures | No | ||
| execution_timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It describes the creation process and parameter effects (e.g., max_consecutive_failures auto-pauses), but does not cover aspects like idempotency, conflict handling, or authorization requirements. The description is adequate but not thorough.
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 front-loaded with a clear purpose sentence, followed by a structured parameter list. It is not overly verbose, though the parameter list could be slightly more integrated. Overall efficient and well-organized.
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 the complexity (8 params, 2 required) and presence of an output schema, the description covers the main intent and parameters. However, it lacks context on creation outcomes (e.g., returns a trigger ID), error scenarios, or how the trigger interacts with other system components. Adequate but incomplete.
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's parameter explanations are crucial. It provides meaningful details beyond the schema: cron expression format, IANA time zone, auto-pause on failures, execution timeout. Each parameter gets a concise, informative note that helps the agent understand values.
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 verb ('Create') and resource ('cron-scheduled trigger'), and specifies that it runs an Antigravity interaction on a recurring schedule. This distinguishes it from sibling tools like get_trigger, list_triggers, run_trigger, etc.
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 the tool is for recurring scheduled tasks, but does not provide explicit guidance on when to use it versus alternatives like create_interaction (one-off) or run_trigger (manual execution). No exclusion criteria or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_environmentADestructiveIdempotent
Terminate and remove a sandbox environment's resources.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint and idempotentHint. The description adds no additional behavioral context beyond the action itself, such as irreversibility or effect on related resources.
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 concise sentence, front-loading the key action. It could be slightly more informative without sacrificing brevity.
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?
Although an output schema exists, the description omits important context for a destructive tool, such as warning about irreversible deletion or effect on dependent resources. The minimal description is adequate but not fully comprehensive.
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 does not explain the environment_id parameter or its format. The parameter's meaning is left entirely to its name and type.
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 ('Terminate and remove') and the resource ('sandbox environment's resources'), distinguishing it from sibling tools like create_environment or get_environment.
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 an environment needs to be removed, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_interactionCDestructiveIdempotent
Delete a stored interaction.
| Name | Required | Description | Default |
|---|---|---|---|
| interaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and idempotentHint=true. The description adds no behavioral context beyond the word 'Delete', which aligns with the annotations. No contradictions.
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 sentence, which is concise and front-loaded. However, it could be slightly expanded to include more context without losing efficiency.
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 the low complexity (1 required parameter) and presence of an output schema, the description is adequate but lacks detail about the operation's implications, such as whether deletion is permanent or reversible.
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 only parameter, interaction_id, is not described beyond its type and title. With 0% schema description coverage, the description adds no meaning to the 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?
The description 'Delete a stored interaction' uses a specific verb and resource, making the purpose clear. However, it does not differentiate from the sibling 'cancel_interaction', which might have a similar effect.
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 guidance is provided on when to use this tool versus alternatives like 'cancel_interaction' or 'create_interaction'. Context such as prerequisites or side effects is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_managed_agentADestructiveIdempotent
Delete a managed agent's registration (existing environments/interactions persist).
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations by specifying that only the registration is deleted, not the underlying environments/interactions. Consistent with idempotent and destructive hints.
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?
Single sentence with no unnecessary words. Front-loaded with the core action and provides essential clarification in parentheses.
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?
Adequately complete for a simple delete operation with one parameter and output schema. The clarification about persistence addresses a common concern. Could mention idempotency, but annotation covers that.
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?
Does not describe the only parameter (agent_id) despite 0% schema coverage. The parameter name is clear, but the description adds no additional meaning or context for its use.
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?
Clearly states the action (delete) and specific resource (managed agent's registration). Distinguishes from related sibling tools like delete_environment by clarifying that environments and interactions persist.
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?
Implies usage context by noting the effect (environments/interactions persist), but does not explicitly state when to use this tool vs alternatives like deactivating or other deletion tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_triggerBDestructiveIdempotent
Permanently delete a trigger.
| Name | Required | Description | Default |
|---|---|---|---|
| trigger_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and idempotentHint=true. The description adds 'permanently,' emphasizing irreversibility, but does not disclose other behavioral traits like required permissions or 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 concise (4 words), front-loading the critical action. However, it might be too terse given the destructive nature; a slightly longer description could include irreversibility warning.
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 has one required parameter and an output schema, but the description lacks context like prerequisites (e.g., trigger must exist) or consequences (e.g., cannot be undone). Sibling tools like get_trigger suggest a workflow, but the description does not leverage this.
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 provides no additional meaning for the single parameter trigger_id beyond its name. The description should explain how to obtain the trigger_id or what format it expects.
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 'Permanently delete a trigger' clearly specifies the verb (delete) and the resource (trigger), distinguishing it from sibling tools like create_trigger, list_triggers, etc.
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 guidance on when to use this tool versus alternatives (e.g., update_trigger_status, run_trigger), nor any context about prerequisites or post-conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_environment_filesARead-only
Download the full sandbox filesystem as a .tar archive to a local path.
Args: environment_id: Environment to snapshot. dest_path: Local filesystem path to write the .tar archive to.
| Name | Required | Description | Default |
|---|---|---|---|
| dest_path | Yes | ||
| environment_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds value by specifying the output format (.tar archive) and that it writes to a local path. This provides useful behavioral context beyond the annotation.
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 extremely concise, consisting of two short sentences and two argument descriptions with no extraneous information. It is front-loaded and every sentence is necessary.
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 the simple two-parameter tool, the description covers the core functionality and parameters. An output schema exists (not shown), so return format is likely documented there. However, it does not mention that the environment must exist or potential performance implications, but it is largely 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?
Schema coverage is 0%, so the description carries the full burden. Each parameter is explained: environment_id is 'Environment to snapshot', dest_path is 'Local filesystem path to write the .tar archive to'. This adds meaning beyond the bare parameter names from the schema.
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 verb 'Download' and the resource 'full sandbox filesystem as a .tar archive to a local path'. It distinguishes from sibling tools like get_environment (metadata) and list_environments (list) by being the only download/snapshot 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?
No explicit guidance on when to use this tool versus alternatives. The description implies it is for exporting the filesystem, but does not mention prerequisites, exclusions, or when to prefer other tools such as get_environment or create_environment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_environmentARead-onlyIdempotent
Fetch a sandbox environment's details (type, sources, network config).
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds value by specifying which details are fetched (type, sources, network config), providing more transparency without contradicting the annotations.
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 of 8 words, with no unnecessary information. Every word is purposeful.
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 read-only tool with an output schema and supportive annotations, the description covers the essential purpose and data points. It is sufficiently complete for an agent to understand when and how to use 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 tool description does not explain the environment_id parameter. While the parameter name is self-explanatory, the description fails to compensate for the lack of schema descriptions, leaving the agent without additional guidance on the parameter's format or source.
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 ('Fetch') and the specific resource ('sandbox environment details') with listed attributes (type, sources, network config). It distinguishes itself from sibling tools like create_environment or list_environments.
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 the tool is for retrieving details of a single environment, and the context of sibling tools makes its usage clear. However, it does not explicitly state when to use this tool versus list_environments or download_environment_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_interaction_statusBRead-onlyIdempotent
Get status and current steps of an interaction.
| Name | Required | Description | Default |
|---|---|---|---|
| interaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint, so the description adds little behavioral transparency. It states the tool gets status and steps, which is consistent but doesn't expand on side effects or permission needs.
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 very concise (7 words) and front-loaded with the key action. However, it could be expanded slightly to add parameter context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one required parameter and an output schema, the description is minimally adequate. It explains the basic purpose but fails to provide detail on the parameter or expected output beyond 'status and steps'.
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?
With 0% schema description coverage, the description should explain the 'interaction_id' parameter, but it only mentions 'status and steps of an interaction' without clarifying the expected format or source of the identifier.
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 verb 'Get' and the resource 'status and current steps of an interaction', which is specific and distinguishes this tool from siblings like 'get_trigger' or 'create_interaction'.
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 guidance on when to use this tool vs alternatives. The description does not mention prerequisites, conditions, or when not to use it, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_managed_agentBRead-onlyIdempotent
Fetch a managed agent's stored configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true, so the description adds minimal value by mentioning 'stored configuration', but it does not contradict annotations.
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 concise sentence with no wasted words, but it lacks depth that could be included without significant bloat.
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 read operation, the description is adequate but could elaborate on what 'stored configuration' entails or error scenarios.
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 only parameter agent_id, and the description does not explain its meaning or format beyond what the name implies.
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 verb 'fetch' and the resource 'managed agent's stored configuration', distinguishing it from sibling tools like create_managed_agent, list_managed_agents, and delete_managed_agent.
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 guidance on when to use this tool versus alternatives (e.g., list_managed_agents for all agents) or prerequisites like agent_id existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_triggerARead-onlyIdempotent
Fetch a single trigger by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| trigger_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the tool as read-only and idempotent. The description adds no further behavioral context (e.g., auth requirements, rate limits) beyond stating the action, so it meets the baseline but does not enhance 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?
The description is extremely concise at one sentence, front-loaded with the key action. However, it is so brief that it may be considered under-specified, earning a 4 rather than 5.
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 the low complexity and presence of an output schema, the description is adequate for a simple retrieval tool. However, it lacks any additional context about usage or parameter details, making it minimally 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?
Schema coverage is 0%, meaning parameter descriptions are empty. The description only implies 'by ID' for the trigger_id parameter, adding no meaningful detail about format, constraints, or behavior, thus not compensating for the lack of schema info.
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 verb ('Fetch'), resource ('a single trigger'), and the identifier method ('by ID'). It is specific and distinguishes itself from sibling tools like 'list_triggers'.
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 retrieving a specific trigger, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_environmentsCRead-onlyIdempotent
List sandbox environments in the project.
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | ||
| page_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so no contradiction. Description adds 'sandbox' scoping but omits pagination behavior, rate limits, or other traits beyond annotations.
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?
Extremely concise but at the cost of completeness. Single sentence front-loads the action but misses critical details, making it underspecified rather than efficiently precise.
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 the presence of an output schema and two pagination parameters, the description provides insufficient context. It fails to explain pagination, data format, or scope (e.g., all or some environments).
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 tool description does not explain any parameters (page_size, page_token). The agent gets no help on their meaning or usage.
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 (list) and resource (sandbox environments) with project scoping. It distinctly separates from siblings like get_environment, create_environment, and delete_environment.
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 guidance on when to use this tool versus alternatives such as get_environment (single environment) or list_triggers. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_interactionsARead-onlyIdempotent
List cached interaction sessions and their current status, newest first.
Args: page_size: Max sessions to return (default 50). page_token: Offset into the cache to resume from; pass back the returned "next_page_token".
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | ||
| page_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds context about caching, ordering, and pagination behavior. While it doesn't detail edge cases like empty cache, it sufficiently supplements the annotations.
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 concise: two sentences for the main purpose and two lines for parameters. It is front-loaded with the core action and contains no redundant or irrelevant information.
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 the presence of an output schema, the description does not need to explain return values. It covers pagination, ordering, and the nature of the data (sessions with status). With only two optional parameters, the description is 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?
Schema description coverage is 0%, so the description fully compensates by explaining page_size (default 50) and page_token (offset, resume with next_page_token). This adds essential semantics beyond the schema's bare property definitions.
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 ('List'), the resource ('cached interaction sessions'), and additional details ('current status, newest first'). It effectively distinguishes from sibling tools that perform actions like create, continue, or get single interactions.
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 listing interactions with pagination but does not explicitly state when to use this tool versus alternatives like get_interaction_status. No when-not or alternative guidance is provided, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_managed_agentsBRead-onlyIdempotent
List all registered managed agents in the project.
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | ||
| page_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true, so the description's statement 'List all registered managed agents' is consistent and adds no contradiction. However, it does not add behavioral details beyond the annotations, such as pagination behavior, ordering, or any side effects. With annotations covering safety, a score of 3 is appropriate.
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 concise sentence that front-loads the essential purpose. 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 a list operation with pagination parameters, but the description does not explain pagination behavior, result ordering, or what happens when parameters are omitted. Although an output schema exists (not shown), the description lacks sufficient context for an agent to use pagination 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?
The input schema has two parameters (page_size, page_token) with 0% schema description coverage. The description does not mention these parameters at all, leaving the agent without guidance on how pagination works or what the defaults imply. This is a significant gap.
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 verb 'list', the resource 'managed agents', and the scope 'in the project'. It distinguishes from sibling tools like get_managed_agent (single) and create_managed_agent (creation).
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 guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention that get_managed_agent is for retrieving a single agent, or that create_managed_agent is for creation. No when-not or alternative usage hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trigger_executionsBRead-onlyIdempotent
View execution history for a trigger.
| Name | Required | Description | Default |
|---|---|---|---|
| trigger_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. The description adds minimal behavioral context beyond that, such as output format or pagination.
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 no unnecessary 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?
Given the one parameter and expected simplicity, the description is adequate but lacks details about the output structure (though an output schema exists).
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 adds no extra meaning for the 'trigger_id' parameter beyond its implicit identifier role.
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 'View execution history for a trigger' clearly specifies the verb and resource, distinguishing it from siblings like 'list_triggers' and 'run_trigger'.
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 when to use (when execution history is needed) but offers no explicit guidance on alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_triggersBRead-onlyIdempotent
List all cron triggers.
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | ||
| page_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds that it lists 'cron triggers', specifying the type, but does not disclose pagination behavior or other traits. It is adequate but adds limited value beyond annotations.
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 sentence with no wasted words. It efficiently conveys the core purpose without unnecessary detail.
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 the presence of pagination parameters and an output schema, the description should mention pagination behavior or return format. It only says 'List all cron triggers,' which is misleading since pagination implies it may not return all in one call. This omission reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the parameters (page_size, page_token) or their roles. The description fails to compensate for the lack of schema-level documentation, leaving the agent to infer from schema titles alone.
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 verb 'List' and the resource 'cron triggers', distinguishing it from siblings like get_trigger (single) and create_trigger. It is specific and unambiguous.
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 guidance is provided on when to use this tool versus alternatives (e.g., get_trigger for a single trigger). The description lacks context for when to choose list_triggers over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_triggerC
Execute a trigger immediately, outside its schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| trigger_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show destructiveHint: false and idempotentHint: false, but the description adds nothing beyond stating the action. There is no mention of side effects, outcome, or whether execution can be repeated safely. With no output schema visible, the agent lacks 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 efficient sentence with no wasted words. However, it could be slightly expanded to include key usage notes without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool executes a trigger (likely with side effects), the description is too minimal. It does not explain what happens upon execution, error conditions, or the role of the output schema. Sibling tools exist but no differentiation is provided.
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 provides no explanation for the sole parameter 'trigger_id', such as its format, source, or how to obtain it. This leaves the agent guessing.
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 (execute) and the resource (trigger), and specifies 'immediately, outside its schedule'. This distinguishes it from creating or updating triggers, and makes the purpose unambiguous.
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 guidance on when to use this tool versus siblings like create_trigger or update_trigger_status. No prerequisites or conditions are mentioned (e.g., trigger must exist, be active). The description only implies it's for unscheduled execution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_function_resultB
Submit a local function execution result back to a pending interaction (requires_action status).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | antigravity-preview-05-2026 | |
| result | Yes | ||
| call_id | Yes | ||
| function_name | Yes | ||
| environment_id | Yes | ||
| previous_interaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the required action status but does not detail error conditions, side effects, or permissions. While somewhat transparent, more behavioral context is needed.
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 sentence that is front-loaded with the key action and context. Every word adds value, and there is no unnecessary information.
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?
Although an output schema exists, the description does not cover return values, and it fails to explain parameter semantics. For a tool with 6 parameters and medium complexity, the description is incomplete and leaves many questions unanswered.
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 does not explain any of the 6 parameters (e.g., previous_interaction_id, environment_id, function_name, call_id, result, agent). This is a critical gap, leaving the agent without guidance on parameter values.
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 ('Submit'), the resource ('local function execution result'), and the context ('back to a pending interaction (requires_action status)'). It effectively distinguishes this tool from siblings like create_interaction or get_interaction_status.
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 when to use (when there is a pending interaction requiring action) but does not provide explicit when-not-to-use guidance or mention alternative tools. No prerequisites or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_trigger_statusBIdempotent
Pause or resume a trigger. status: 'active' or 'paused'.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| trigger_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the key behavioral aspect of toggling status, which is not in annotations. However, it does not mention idempotency (already hinted by annotation) or side effects. Adequate but minimal.
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 extremely concise (12 words), front-loads the action, and wastes no words. Every element 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 simple tool with annotations and output schema, the description covers the basic action and status values. However, it lacks context on what pausing means for trigger executions and expected input formats.
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 clarifies acceptable values for 'status' ('active' or 'paused'), but provides no explanation for 'trigger_id'. Incomplete compensation.
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 'Pause or resume a trigger,' specifying the verb and resource. It distinguishes the tool from siblings like 'run_trigger' or 'delete_trigger' by focusing on status modification.
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 'run_trigger' or 'create_trigger'. No context about prerequisites or when pausing/resuming is appropriate.
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.
27 tool updates
v0.1.0- First observed
build_environment_config - First observed
build_hooks_config - First observed
build_mcp_server_tool_config - First observed
cancel_interaction - First observed
continue_interaction - First observed
create_environment - First observed
create_github_pr_task - First observed
create_interaction - First observed
create_managed_agent - First observed
create_trigger - First observed
delete_environment - First observed
delete_interaction - First observed
delete_managed_agent - First observed
delete_trigger - First observed
download_environment_files - First observed
get_environment - First observed
get_interaction_status - First observed
get_managed_agent - First observed
get_trigger - First observed
list_environments - First observed
list_interactions - First observed
list_managed_agents - First observed
list_trigger_executions - First observed
list_triggers - First observed
run_trigger - First observed
submit_function_result - First observed
update_trigger_status
TDQS
Tools are clearly organized into distinct categories (interactions, triggers, managed agents, environments, helpers) with no overlapping purposes. Even similar tools like create_interaction and continue_interaction are well-differentiated.
All tools follow a consistent verb_noun snake_case pattern, making them predictable and easy to navigate. Even longer names like build_mcp_server_tool_config adhere to this convention.
At 27 tools, the set is extensive but justified given the server's broad scope covering interactions, triggers, agents, environments, and configuration helpers. Each tool serves a clear purpose without redundancy.
The server provides comprehensive CRUD-like coverage for each domain: interactions (create, continue, submit, get status, cancel, delete, list), triggers (create, list, update status, delete, run, list executions), managed agents, and environments, plus helper tools for building configs.
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
An MCP server that gives your AI access to the source code and docs of all public github repos
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that gives your IDE or agent access to Google Gemini with autonomous codebase exploration, enabling deep code analysis, architectural reviews, and bug hunting.2010MIT
- AlicenseAqualityCmaintenanceAn advanced MCP server that provides an agentic interface to Google's Gemini 3.1 models via Vertex AI, combining real-time Google Search, URL analysis, and Python code execution to solve complex multi-step research and data tasks.1MIT
- AlicenseAqualityAmaintenanceAn MCP server that bridges Claude Code with Antigravity CLI using a Swarm Agent architecture to optimize local development workflows and minimize LLM token costs. Includes a web UI for monitoring agent workflows.2122MIT
- AlicenseNot gradedqualityAmaintenanceMCP server enabling delegation of tasks to the Antigravity (Gemini) CLI from any AI client supporting MCP.8MIT
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/bgembalczyk/agent-antigravity-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server