Skip to main content
Glama

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_search and url_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=True polling and max_total_tokens budget 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/post code_execution/file-op interception, allow/deny) into the sandbox via an inline environment source — format documented in create_interaction's environment arg.

Related MCP server: Gemini Agent MCP Server

Tools

Tool

Covers

create_interaction / continue_interaction / submit_function_result

Interactions API create + multi-turn + function calling + system_instruction

get_interaction_status / list_interactions / cancel_interaction / delete_interaction

Interaction status, polling, cancel, delete

create_trigger / list_triggers / get_trigger / update_trigger_status / delete_trigger / run_trigger / list_trigger_executions

Triggers API (cron scheduling)

create_github_pr_task

Clone repo, branch, do task, push, open PR

create_managed_agent / list_managed_agents / get_managed_agent / delete_managed_agent

Managed Agents API (register + invoke by ID)

create_environment / list_environments / get_environment / delete_environment / download_environment_files / upload_environment_file

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 && pwd

Every 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 ~).

No local clone needed — Claude Code clones it straight from GitHub:

/plugin marketplace add bgembalczyk/agent-antigravity-mcp
/plugin install agent-antigravity@agent-antigravity-mcp

Export 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-antigravity

Configuration

Create .env file:

GEMINI_API_KEY=your_gemini_api_key
GITHUB_TOKEN=your_github_pat_with_repo_scope

GITHUB_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 limiting

Usage

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-genai SDK first, falls back to direct REST on failure (logged at WARNING). REST calls retry on 429/5xx/transport errors with exponential backoff (3 attempts).

  • Interaction session cache is SQLite-backed (~/.agent-antigravity/sessions.db by 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 -q

Credit

Structure and tool/resource/prompt patterns inspired by jules-mcp-server, an MCP server for Google Jules.

License

MIT — see LICENSE.

Available Tools

27 tools
build_environment_configA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcesNo
environment_idNo
network_disabledNo
network_allowlistNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_configA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNo
group_nameNodefault
pre_tool_executionNo
post_tool_executionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_configC
Read-onlyIdempotent

Helper tool to generate remote MCP server configuration dict for agent tools parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
nameYes
headersNo
allowed_toolsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_interactionA
DestructiveIdempotent

Cancel an in-progress (e.g. background) interaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
interaction_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoantigravity-preview-05-2026
imagesNo
promptNo
environment_idYes
function_resultsNo
system_instructionNo
previous_interaction_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcesNo
network_disabledNo
network_allowlistNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries 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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoantigravity-preview-05-2026
modelNogemini-3.6-flash
pr_titleNo
repo_urlYes
base_branchNomain
task_promptYes
work_branchNo
github_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoantigravity-preview-05-2026
modelNogemini-3.6-flash
toolsNo
imagesNo
promptYes
streamNo
backgroundNo
environmentNoremote
max_total_tokensNo
system_instructionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNogemini-3.6-flash
toolsNo
agent_idYes
descriptionNo
base_environmentNo
system_instructionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoantigravity-preview-05-2026
promptYes
scheduleYes
time_zoneNo
environmentNoremote
display_nameNo
max_consecutive_failuresNo
execution_timeout_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description 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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_environmentA
DestructiveIdempotent

Terminate and remove a sandbox environment's resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
environment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_interactionC
DestructiveIdempotent

Delete a stored interaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
interaction_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_agentA
DestructiveIdempotent

Delete a managed agent's registration (existing environments/interactions persist).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_triggerB
DestructiveIdempotent

Permanently delete a trigger.

ParametersJSON Schema
NameRequiredDescriptionDefault
trigger_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_filesA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dest_pathYes
environment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_environmentA
Read-onlyIdempotent

Fetch a sandbox environment's details (type, sources, network config).

ParametersJSON Schema
NameRequiredDescriptionDefault
environment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_statusB
Read-onlyIdempotent

Get status and current steps of an interaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
interaction_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_agentB
Read-onlyIdempotent

Fetch a managed agent's stored configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_triggerA
Read-onlyIdempotent

Fetch a single trigger by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
trigger_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_environmentsC
Read-onlyIdempotent

List sandbox environments in the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_interactionsA
Read-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".

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_agentsB
Read-onlyIdempotent

List all registered managed agents in the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_executionsB
Read-onlyIdempotent

View execution history for a trigger.

ParametersJSON Schema
NameRequiredDescriptionDefault
trigger_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_triggersB
Read-onlyIdempotent

List all cron triggers.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
trigger_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoantigravity-preview-05-2026
resultYes
call_idYes
function_nameYes
environment_idYes
previous_interaction_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_statusB
Idempotent

Pause or resume a trigger. status: 'active' or 'paused'.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes
trigger_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 27 tool updatesv0.1.0
    • First observedbuild_environment_config
    • First observedbuild_hooks_config
    • First observedbuild_mcp_server_tool_config
    • First observedcancel_interaction
    • First observedcontinue_interaction
    • First observedcreate_environment
    • First observedcreate_github_pr_task
    • First observedcreate_interaction
    • First observedcreate_managed_agent
    • First observedcreate_trigger
    • First observeddelete_environment
    • First observeddelete_interaction
    • First observeddelete_managed_agent
    • First observeddelete_trigger
    • First observeddownload_environment_files
    • First observedget_environment
    • First observedget_interaction_status
    • First observedget_managed_agent
    • First observedget_trigger
    • First observedlist_environments
    • First observedlist_interactions
    • First observedlist_managed_agents
    • First observedlist_trigger_executions
    • First observedlist_triggers
    • First observedrun_trigger
    • First observedsubmit_function_result
    • First observedupdate_trigger_status

TDQS

A3.7/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness5/5

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

ActivitySlowing
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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