Skip to main content
Glama

MCP Gemini CrunchTools

A secure MCP (Model Context Protocol) server for Google Gemini AI - text, image, video, research, and more.

Overview

This MCP server is designed to be:

  • Secure by default - STRIDE threat model (see SECURITY.md), Pydantic input validation, and the API key held as a SecretStr to prevent accidental logging

  • No third-party services - Runs locally via stdio, your API key never leaves your machine

  • Cross-platform - Works on Linux, macOS, and Windows

  • Automatically updated - GitHub Actions monitor for CVEs and update dependencies

  • Containerized - Available at quay.io/crunchtools/mcp-gemini built on Hummingbird Python base image

Related MCP server: Gemini Research MCP Server

Naming Convention

Component

Name

GitHub repo

crunchtools/mcp-gemini

Container

quay.io/crunchtools/mcp-gemini

Python package (PyPI)

mcp-gemini-crunchtools

CLI command

mcp-gemini-crunchtools

Module import

mcp_gemini_crunchtools

Why Hummingbird?

The container image is built on the Hummingbird Python base image from Project Hummingbird, which provides:

  • Minimal CVE exposure - Hummingbird images are built with a minimal package set, dramatically reducing the attack surface compared to general-purpose images

  • Regular updates - Security patches are applied promptly, keeping CVE counts low

  • Optimized for Python - Pre-configured Python environment with uv package manager for fast, reproducible builds

  • Production-ready - Designed for production workloads with proper signal handling and non-root user defaults

This means your MCP server runs in a hardened environment with fewer vulnerabilities than typical Python container images.

Features

Query Tools (5 tools)

  • gemini_query - Query Gemini with optional Google Search grounding

  • gemini_brainstorm - Generate creative ideas on a topic

  • gemini_analyze_code - Analyze code for security, performance, bugs

  • gemini_analyze_text - Analyze text for sentiment, tone, content

  • gemini_summarize - Summarize content in various formats

Image Generation (4 tools)

  • gemini_generate_image - Generate images from text prompts (native Gemini)

  • gemini_generate_image_with_input - Edit/modify existing images

  • gemini_image_prompt - Craft effective image generation prompts

  • gemini_imagen_generate - Generate images using Google Imagen 4 models

Image Editing (4 tools)

  • gemini_start_image_edit - Start a multi-turn image editing session

  • gemini_continue_image_edit - Continue editing in an active session

  • gemini_end_image_edit - End an image editing session

  • gemini_list_image_sessions - List all active editing sessions

Image Analysis (1 tool)

  • gemini_analyze_image - Analyze and describe local image files

Search Tools (1 tool)

  • gemini_search - Web search using Gemini with Google Search grounding

Document Tools (3 tools)

  • gemini_analyze_document - Analyze PDFs, DOCX, TXT, etc.

  • gemini_summarize_pdf - Summarize PDF documents

  • gemini_extract_tables - Extract tables from documents

URL Tools (3 tools)

  • gemini_analyze_url - Analyze one or more URLs

  • gemini_compare_urls - Compare two URLs

  • gemini_extract_from_url - Extract specific data from a URL

Video Tools (2 tools)

  • gemini_generate_video - Generate videos using Veo

  • gemini_check_video - Check video generation status

YouTube Tools (2 tools)

  • gemini_youtube - Analyze YouTube videos

  • gemini_youtube_summary - Summarize YouTube videos

Voice Tools (3 tools)

  • gemini_speak - Convert text to speech

  • gemini_dialogue - Generate multi-voice dialogue audio

  • gemini_list_voices - List available voices

Research Tools (3 tools)

  • gemini_deep_research - Perform multi-step web research

  • gemini_check_research - Check research operation status

  • gemini_research_followup - Ask follow-up questions

Cache Tools (4 tools)

  • gemini_create_cache - Create content cache for repeated queries

  • gemini_query_cache - Query cached content

  • gemini_list_caches - List all active caches

  • gemini_delete_cache - Delete a cache

Structured Output Tools (2 tools)

  • gemini_structured - Get structured JSON output

  • gemini_extract - Extract structured data from text

Token Tools (1 tool)

  • gemini_count_tokens - Count tokens in content

Code Execution Tools (1 tool)

  • gemini_run_code - Execute Python code via Gemini

Total: 39 tools

Installation

uvx mcp-gemini-crunchtools

With pip

pip install mcp-gemini-crunchtools

With Container

# Create a shared output directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads

podman run -v ~/.local/share/mcp-uploads-downloads:/output:z \
    -e GEMINI_API_KEY=your_key \
    -e GEMINI_OUTPUT_DIR=/output \
    quay.io/crunchtools/mcp-gemini

SELinux note: Use :z (lowercase, shared) instead of :Z (uppercase, private). MCP servers run as long-lived stdio processes. With :Z, files copied into the directory after container start won't have the container's private MCS label and will be invisible inside the container. The :z flag sets a shared container_file_t context that all containers and the host can read/write.

Tip: Use the same shared directory (~/.local/share/mcp-uploads-downloads/) across multiple MCP container servers (e.g., mcp-gemini and mcp-wordpress) so generated images are immediately available for WordPress upload without copying.

Configuration

Creating a Google Gemini API Key

  1. Navigate to Google AI Studio

  2. Create API Key

    • Click "Get API key" or "Create API key"

    • Select a Google Cloud project or create a new one

    • Click "Create API key in new project" (or select existing project)

  3. Copy Your API Key

    • IMPORTANT: Copy the API key immediately - store it securely!

    • The key starts with AI... (e.g., AIzaSy...)

Add to Claude Code

claude mcp add mcp-gemini-crunchtools \
    --env GEMINI_API_KEY=your_api_key_here \
    -- uvx mcp-gemini-crunchtools

Or for the container version:

# Create a shared output directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads

claude mcp add mcp-gemini-crunchtools \
    --env GEMINI_API_KEY=your_api_key_here \
    --env GEMINI_OUTPUT_DIR=/output \
    -- podman run -i --rm \
        -v ~/.local/share/mcp-uploads-downloads:/output:z \
        -e GEMINI_API_KEY \
        -e GEMINI_OUTPUT_DIR=/output \
        quay.io/crunchtools/mcp-gemini

Optional: Set Output Directory (non-container)

For generated images, audio, and videos when running without a container:

claude mcp add mcp-gemini-crunchtools \
    --env GEMINI_API_KEY=your_api_key_here \
    --env GEMINI_OUTPUT_DIR=$HOME/.local/share/mcp-uploads-downloads \
    -- uvx mcp-gemini-crunchtools

Usage Examples

User: What are the latest developments in quantum computing?
Assistant: [calls gemini_query with use_google_search=true]

Generate an Image

User: Generate a photorealistic image of a sunset over mountains
Assistant: [calls gemini_generate_image with prompt and style]

Analyze a PDF Document

User: Analyze this research paper at /path/to/paper.pdf
Assistant: [calls gemini_analyze_document with file_path]

Summarize a YouTube Video

User: Summarize this YouTube video: https://youtube.com/watch?v=...
Assistant: [calls gemini_youtube_summary with url]

Deep Research

User: Research the environmental impact of electric vehicles
Assistant: [calls gemini_deep_research then gemini_check_research]

Code Analysis

User: Analyze this Python code for security issues
Assistant: [calls gemini_analyze_code with focus="security"]

Security

This server was designed with security as a primary concern. See SECURITY.md for:

  • Threat model and attack vectors

  • Defense in depth architecture

  • API key handling best practices

  • Input validation rules

  • Audit logging

Key Security Features

  1. API Key Protection

    • Stored as SecretStr (never accidentally logged)

    • Environment variable only (never in files or args)

    • Sanitized from all error messages

  2. Input Validation

    • Pydantic models for all inputs

    • File path validation

    • URL validation

    • Strict format validation

  3. API Hardening

    • Hardcoded API base URL (prevents SSRF)

    • TLS certificate validation

    • Request timeouts

    • Response size limits

  4. Automated CVE Scanning

    • GitHub Actions scan dependencies weekly

    • Automatic PRs for security updates

    • Dependabot alerts enabled

Development

Setup

git clone https://github.com/crunchtools/mcp-gemini.git
cd mcp-gemini
uv sync

Run Tests

uv run pytest

Lint and Type Check

uv run ruff check src tests
uv run mypy src

Build Container

podman build -t mcp-gemini .

License

AGPL-3.0-or-later

Contributing

Contributions welcome! Please read SECURITY.md before submitting security-related changes.

Available Tools

39 tools
gemini_analyze_code_toolGemini Analyze Code ToolC
Read-only

Analyze code with Gemini.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to analyze.
focusNoAnalysis focus (general, security, performance, bugs).general
modelNoModel to use.pro
languageNoProgramming language (auto-detected if not specified).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

The annotation readOnlyHint=true already tells the agent this is a safe, non-mutating operation, so the description could have used its space for richer context. Instead it adds nothing: no mention of what the analysis produces, how the focus modes differ, latency, or any constraints. It contributes no behavioral information 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with no waste, which is structurally clean. However, the brevity here reflects under-specification rather than disciplined conciseness, so it does not rise above adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with an output schema and annotations, the description is far too thin. Even granting that the output schema covers return values and annotations cover safety, the agent still lacks any explanation of the focus modes or the difference from sibling analyze tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters (code, focus, model, language) with defaults and enum-like values. The description adds no extra meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Analyze code with Gemini" does name a verb (analyze) and a resource (code), so the basic purpose is inferable. But it is essentially a restatement of the tool name/title and gives no differentiation from siblings like gemini_run_code_tool or gemini_analyze_text_tool. An agent cannot tell what kind of analysis this performs or how it differs from the other analyze_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives, and no conditions or exclusions. With many sibling analyze/extract/summarize tools available, the description provides nothing to route the agent to this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_analyze_document_toolGemini Analyze Document ToolC

Analyze a document (PDF, DOCX, TXT, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
questionNoQuestion or instruction about the document.Analyze this document and provide a summary.
file_pathYesAbsolute path to the document.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no cost/latency implications of the flash-vs-other model, no limits on file size, no indication of whether the whole document is sent to a remote model, and no note on auth requirements. The format list is the only behavioral hint.

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?

One short sentence with no filler and the scope up front, which is structurally clean. However, its brevity comes from omission rather than efficiency, leaving a multi-format, multi-parameter tool under-described in the space where it matters.

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?

An output schema exists, so return values need not be explained, but the rest is thin: no annotations, no differentiation from several overlapping siblings, and no guidance on model selection or question phrasing. An agent cannot confidently pick this tool over gemini_summarize_pdf_tool or gemini_analyze_text_tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents file_path, question, and model; the baseline is 3. The description only adds the accepted format list, which loosely constrains file_path, and says nothing about valid model values or how the question influences output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb (Analyze) and a resource (document) and lists accepted formats, so the basic function is legible. But "analyze" is generic and does not say what analysis is produced, and it is indistinguishable from siblings like gemini_summarize_pdf_tool, gemini_analyze_text_tool, and gemini_extract_tables_tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisite, and no naming of alternatives, despite a crowded sibling set (summarize_pdf, extract_tables, analyze_text, analyze_image) that an agent must choose between. Pure absence of guidance, so a 2.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_analyze_image_toolGemini Analyze Image ToolC
Read-only

Analyze and describe a local image file.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use ('pro' or 'flash').flash
queryNoQuestion or instruction about the image.Describe this image in detail.
image_pathYesAbsolute path to the image file.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

readOnlyHint=true already declares the safety profile, so the bar is lower, but the description adds essentially nothing beyond the name and annotations: no note on model tradeoffs, latency, or how the query influences output. Output schema exists, so return format need not be restated, but no extra behavioral context is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste, but it is so terse that it verges on under-specification rather than true 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?

With an output schema and full parameter coverage, the description only needs to supply usage context, and it omits that entirely. For a simple 3-param tool this is minimally adequate but leaves the agent guessing when to prefer it over the other analysis tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so model, query, and image_path are fully documented in the schema itself. The description adds no syntax, format, or default-behavior detail beyond what the structured fields already carry, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Analyze and describe') and resource ('local image file'). The word 'local' usefully separates it from the URL-based siblings, but it does not name or contrast with any specific alternative such as gemini_analyze_url_tool or gemini_analyze_document_tool.

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 when-to-use guidance, no prerequisites, and no mention of alternatives despite a large sibling set containing several overlapping analysis tools. The agent must infer that this is the one for local files rather than URLs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_analyze_text_toolGemini Analyze Text ToolC
Read-only

Analyze text with Gemini.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe text to analyze.
modelNoModel to use.flash
analysis_typeNoType of analysis (general, sentiment, tone, summary).general

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true, so the safety profile is covered. However, the description adds nothing beyond that: it does not mention that a Gemini model call is made, model options ('flash' default), latency/cost implications, or how analysis_type changes behavior. For a description this thin, the behavioral burden is unmet.

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?

The single sentence is front-loaded and free of waste, but it is undersized for a three-parameter analysis tool with a dense sibling ecosystem; brevity here comes at the cost of substance rather than from disciplined editing.

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?

An output schema exists, so return values need not be explained, and parameters are fully covered by the schema. Still, the description gives no basis for choosing this tool over its many analysis-oriented siblings, leaving the routing decision incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents text, model, and analysis_type (including its enumerated values). The description adds no meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Analyze text with Gemini' essentially restates the tool name and title (gemini_analyze_text_tool / Gemini Analyze Text Tool), adding no specificity about what kind of analysis or what output is produced. It does not distinguish this tool from closely overlapping siblings such as gemini_summarize_tool, gemini_extract_tool, gemini_analyze_document_tool, or gemini_structured_tool.

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 when-to-use guidance, no exclusions, and no named alternative is given despite a large sibling set of analysis/summarization tools. An agent cannot tell from the description whether to reach for this tool or one of the many adjacent ones.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_analyze_url_toolGemini Analyze Url ToolC
Read-only

Analyze one or more URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesList of URLs to analyze (1-20).
modelNoModel to use.flash
questionNoQuestion or instruction about the URL content.Analyze the content of these URLs.
use_google_searchNoUse Google Search grounding.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

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

readOnlyHint=true already establishes this is a safe read, so the safety profile is covered. Beyond that the description adds nothing: no note on the 1-20 URL batching, no indication of what the analysis returns, no cost/latency or rate-limit context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words, but its brevity reflects under-specification rather than efficient communication. Nothing misleading, just very thin.

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?

An output schema exists so return values need not be explained, and the schema covers all four parameters. However, for a tool sitting in a crowded family of URL/text analysis siblings, the description supplies no disambiguating or operational context, leaving it incomplete for selection purposes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so urls, model, question, and use_google_search are all documented in the schema itself. The description adds no meaning beyond it, which makes the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description restates the tool name ('Analyze Url Tool' → 'Analyze one or more URLs') without saying what 'analyze' actually produces. It gives no differentiation from near-identical siblings such as gemini_compare_urls_tool or gemini_extract_from_url_tool, leaving the agent unable to tell which URL tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of the obvious alternatives (compare_urls, extract_from_url). The agent must infer the use case entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_brainstorm_toolGemini Brainstorm ToolC
Read-only

Brainstorm ideas on a topic using Gemini.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
topicYesThe topic to brainstorm about.
contextNoAdditional context or constraints.
num_ideasNoNumber of ideas to generate.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

readOnlyHint=true already conveys this is a safe read operation, so the bar is lower, yet the description adds nothing beyond that – no note on what style/volume of output to expect (num_ideas notwithstanding), no rate-limit or model-selection caveats. It neither enriches nor contradicts 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the core action and wastes little space. It loses a point for the redundant 'using Gemini' tail, which tells the agent nothing given every sibling is a Gemini tool.

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?

Safety is covered by annotations, parameters by the schema, and return values by the output schema, so the description need not restate those. What is missing is guidance on when to reach for this tool versus the many other generation/analysis siblings, leaving it minimally viable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents model, topic, context, and num_ideas. The description adds no format, defaults, or interaction hints beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('brainstorm') and resource ('ideas on a topic'), which is clearly distinct from image, video, and analysis siblings. However, it offers no differentiation from generation-oriented siblings like gemini_structured_tool or gemini_query_tool, and 'using Gemini' is redundant filler.

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?

Provides no when-to-use context, no prerequisites, and names no alternative. An agent cannot tell from the description why it should pick brainstorm over structured or query generation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_check_research_toolGemini Check Research ToolC
Read-only

Check the status of a deep research operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
research_idYesThe research ID from gemini_deep_research.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

readOnlyHint=true already tells the agent this is a safe read, and an output schema exists to carry return values. Beyond that, the description adds nothing: no polling guidance, no rate-limit or caching notes, no mention of what status states exist or whether completion unlocks gemini_research_followup_tool.

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?

One clean, front-loaded sentence with zero filler. It is efficient, though brevity tips into under-specification rather than disciplined 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?

With one fully documented parameter and an output schema handling the return payload, the basics are covered. What is missing is the operational context of a status-check tool: when to poll, what the statuses mean, and what to do on completion — gaps a sibling-routing sentence would have closed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is fully documented ('The research ID from gemini_deep_research.'). The description adds no additional parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (check) and resource (status of a deep research operation), which is enough to distinguish it from the sibling that starts research (gemini_deep_research_tool). However, it never names that sibling or gemini_research_followup_tool, leaving differentiation to inference.

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 when-to-use guidance, no mention of the alternative tools, and no statement of prerequisites such as needing to have started research first. The only hint is implicit: 'deep research operation' suggests a previously started job, but the agent must infer that polling after gemini_deep_research_tool is the intended flow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_check_video_toolGemini Check Video ToolB
Read-only

Check the status of a video generation operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_nameYesThe operation name from gemini_generate_video.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds nothing beyond that and the tool name – no mention of polling cadence, that the operation may still be running, or what happens on an unknown/expired operation name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is efficient, though borderline under-specified for a tool that likely needs polling context.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. Still, the description says nothing about operation lifecycle states or what an agent should do with a still-running result, which is the main thing missing for this kind of status-check tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter, and schema coverage is 100% with the schema itself explaining it comes 'from gemini_generate_video'. The description adds no additional semantics, so the baseline 3 for full schema coverage applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check') and resource ('status of a video generation operation'), which cleanly separates it from the research/check and generation siblings. It stops short of naming gemini_generate_video_tool as its producer (that link lives only in the schema), so it is clear but not fully self-differentiating.

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 pairing with an async video generation flow is implied by 'video generation operation', so an agent can infer this is the polling step after gemini_generate_video_tool. However, the description itself offers no explicit when-to-use, when-not, or alternative guidance, leaving it at implied usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_compare_urls_toolGemini Compare Urls ToolC
Read-only

Compare two URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
url1YesFirst URL.
url2YesSecond URL.
modelNoModel to use.flash
aspectNoWhat to compare (content, design, sentiment, features).content

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

readOnlyHint=true already tells the agent this is a safe read, so the bar is lower, but the description adds nothing beyond that — no indication of whether pages are fetched live, whether this incurs cost, or how the two URLs are compared. It does not contradict 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single tight sentence with zero padding, which is front-loaded by definition. The problem is under-specification rather than bloat, so it neither wastes words nor earns credit for useful density.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. Yet for a comparison tool with an 'aspect' switch (content, design, sentiment, features), the description says nothing about how aspects shape the comparison, leaving a meaningful behavioral gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema documents url1, url2, model, and aspect (including the comparison modes). The description adds no parameter meaning beyond that, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Compare') and resource ('URLs'), so it escapes tautology. However, it offers no differentiation from the several sibling URL tools (gemini_analyze_url_tool, gemini_extract_from_url_tool, gemini_youtube_tool), leaving the agent to guess when comparison is the right operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this over the other URL tools, nor any exclusions or prerequisites. The agent can only infer usage from the verb, and the crowded URL-tool sibling set makes that inference risky.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_continue_image_edit_toolGemini Continue Image Edit ToolC

Continue editing in an active image session.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesEditing instructions (e.g., "make the sky bluer").
session_idYesThe session ID from gemini_start_image_edit.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose whether edits are cumulative, whether the previous image is overwritten, session lifetime, or any rate/error behavior — significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste. It is arguably under-specified rather than padded, so it earns credit for tightness but not a top score given the tool's complexity.

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?

An output schema exists and parameters are fully documented, so return values and inputs are covered. What is missing is session lifecycle context — how this relates to start/end/list session tools — leaving the agent to infer the workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema explains both 'prompt' (with an example) and 'session_id' (its origin from gemini_start_image_edit). The description adds nothing beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('continue editing') and resource ('active image session'), which cleanly separates it from gemini_start_image_edit_tool and gemini_end_image_edit_tool. However it never names those siblings or clarifies the session lifecycles it belongs to.

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 phrase 'active image session' hints at a prerequisite, but there is no explicit when-to-use guidance, no mention of the alternatives (start/end/list sessions), and no statement of what happens if the session is expired or unknown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_count_tokens_toolGemini Count Tokens ToolB
Read-only

Count the number of tokens in content.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to count tokens for.flash
contentYesThe text content to count tokens for.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read operation. The description adds nothing beyond that – no info on rate limits, model selection behavior, or output format. With annotations covering the safety profile, this is marginal.

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?

One short sentence, front-loaded and efficient. No wasted words, though also no structure beyond the single clause.

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?

Output schema exists so return values needn't be explained. But for a tool with a model parameter and 100% schema coverage, the description should at least mention model impact or usage context. It's minimally adequate but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are documented in the schema itself. The description doesn't add any semantic detail about model defaults or content format beyond what's in the schema. Baseline 3 when schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: counting tokens in content. It's clear what the tool does, though it doesn't differentiate from siblings (all Gemini tools, none doing token counting) – but the purpose itself is 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 versus alternatives, which model to pick, or what happens with different models. An agent has to infer usage from the name and parameters alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_create_cache_toolGemini Create Cache ToolB

Create a content cache for repeated queries.

Upload content once and query it multiple times without re-sending.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
contentNoText content to cache (alternative to file_path).
file_pathNoPath to a file to cache.
ttl_minutesNoTime-to-live in minutes (default 60).
display_nameNoHuman-readable name for the cache.mcp-cache
system_instructionNoSystem instruction for queries against this cache.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It conveys that content is uploaded once and reused, but says nothing about cache lifetime/expiry, whether caches persist until deleted, storage or permission implications, or what happens when the TTL lapses.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and immediately followed by the rationale. No filler, though the second sentence is somewhat redundant with the first's 'repeated queries' phrasing.

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?

An output schema exists so return values need no explanation, and the schema fully documents parameters. Missing is the relationship to the sibling cache tools and cache lifetime behavior, which an agent needs to use this correctly within the cache workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters (model, content, file_path, ttl_minutes, display_name, system_instruction) are already documented in the schema. The description adds no parameter syntax or constraint detail, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Create a content cache') and explains the effect on repeated queries, so the agent understands what the tool produces. It does not, however, differentiate itself from sibling cache tools such as gemini_query_cache_tool, gemini_list_caches_tool, or gemini_delete_cache_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?

'for repeated queries' implies the scenario in which this tool is useful, which is real usage context. But there is no explicit when-not guidance and no mention of the query/list/delete cache siblings, so the agent must infer the lifecycle on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_deep_research_toolGemini Deep Research ToolB

Start a deep research task using a specialized Gemini model.

Performs multi-step web research to answer complex questions. Completes in a single call; the result is returned immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe research question or topic.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the execution model ('completes in a single call; result returned immediately'), which matters because a polling sibling exists — but it omits cost, latency expectations for deep research, and any permission or rate-limit 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?

Three short sentences, front-loaded with the core action and no redundant restatement of the name. 'Using a specialized Gemini model' is mildly expendable but not wasteful.

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?

An output schema exists so return values need no explanation, and the input is fully documented. However, for a tool sitting in a cluster of research-related siblings, the description does not help the agent route between start/check/followup, leaving a real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter at 100% schema coverage, so the schema already defines 'query' as 'The research question or topic.' The description adds no syntax, length, or formatting guidance beyond that baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Start a deep research task') and adds scope ('multi-step web research to answer complex questions'), so the agent knows this initiates research rather than checking on or extending it. It stops short of naming the sibling tools (gemini_check_research_tool, gemini_research_followup_tool) that a caller would need to distinguish it from.

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 phrase 'to answer complex questions' implies when the tool is appropriate, but there is no explicit when-not guidance and no mention of the check/followup siblings. Usage context is inferable but not directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_delete_cache_toolGemini Delete Cache ToolC

Delete a content cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
cache_nameYesThe cache name to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Delete' implies a destructive, likely irreversible mutation, but the description never states permanence, whether deletion of a nonexistent cache errors, or any permission requirements. For a destructive cache operation with zero annotation coverage, this is a significant disclosure gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single economical sentence with the verb front-loaded and no wasted words. It is terse to the point of under-specification, but it is structurally clean.

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 input schema is fully documented and an output schema exists, so return values need no explanation. However, for a destructive operation with no annotations at all, the description should at minimum note irreversibility or error behavior; as written it is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter (cache_name) with 100% schema description coverage, so the schema already documents it fully. The description adds no format or naming-convention detail beyond the schema, which is the expected baseline when schema coverage is complete.

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 a specific verb (delete) and resource (content cache), which is unambiguous on its own. It does not, however, distinguish this tool from sibling cache operations (gemini_create_cache_tool, gemini_query_cache_tool, gemini_list_caches_tool), leaving sibling differentiation to the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the other cache tools, no prerequisites (e.g., whether the cache must exist or be unused), and no mention of alternatives. The agent must infer everything from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_dialogue_toolGemini Dialogue ToolC

Generate multi-voice dialogue audio.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesDialogue text with speaker labels.
voice1NoFirst voice name.Kore
voice2NoSecond voice name.Puck

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only restates the capability. It omits that exactly two voices are involved, that the text requires speaker-label formatting, whether valid voice names are constrained, and what audio format is returned. Only slightly more than a bare restatement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is arguably undersized for a tool whose core input constraint (speaker-labeled dialogue text) matters, but there is no wasted language.

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 output schema exists, so return values need not be described, and the parameters are fully documented in the schema. Still missing are the operational essentials an agent would need: valid voice names/values, confirmation that only two voices are supported, and routing guidance against the sibling speak/list-voices tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents text, voice1, and voice2 with their defaults. The description adds no additional parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Generate) and resource (multi-voice dialogue audio), and the word 'multi-voice' implicitly separates it from the single-voice gemini_speak_tool and gemini_list_voices_tool. However, it never names or contrasts with those siblings explicitly, so differentiation is left to inference.

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 says nothing about when to choose this over gemini_speak_tool (single-voice TTS) or how to discover valid voice names via gemini_list_voices_tool. No prerequisites, no exclusions, no context is offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_end_image_edit_toolGemini End Image Edit ToolB

End an image editing session and free resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesThe session ID to end.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says resources are freed, but does not disclose whether session state/history is destroyed, whether the call is idempotent, what happens on an unknown session_id, or whether errors occur – significant gaps for a teardown operation.

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?

One short, front-loaded sentence with no filler; the verb and side effect lead. It is efficient, though extremely terse for a resource-teardown tool.

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?

With an output schema present, return values need not be explained, and the tool is simple (one required param). What is missing is post-call state behavior, but for this complexity level the description is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single session_id parameter is already documented in the schema. The description adds nothing about the parameter, so the baseline 3 for high coverage applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("End") and resource ("image editing session"), plus the side effect of freeing resources. It clearly contrasts with the start/continue edit siblings by name, but doesn't explicitly reference them.

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?

Usage is implied – call this to close out a session started by gemini_start_image_edit_tool – but there is no explicit when-to-use, when-not-to-use, or alternative named. The agent must infer that this complements start/continue.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_extract_from_url_toolGemini Extract From Url ToolC
Read-only

Extract specific data from a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to extract data from.
modelNoModel to use.flash
data_typeNoType of data (text, links, images, structured).text
custom_fieldsNoComma-separated list of custom fields to extract.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true, so the safety profile is covered, but the description adds nothing behavioral beyond that. It says nothing about the model options, fetch limits, auth requirements, or what an extraction actually returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded and free of filler, but it is terse to the point of under-specification rather than efficient. Nothing is wasted, yet nothing earns its place beyond restating the name.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. However, with four parameters and a crowded field of URL/extract siblings, the description is too thin to let an agent invoke this tool confidently over its alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (url, model, data_type, custom_fields) are already documented in the schema. The description contributes no additional parameter meaning, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb (extract) and resource (data from a URL), which is a real action, but "specific data" is vague and it does not distinguish itself from close siblings like gemini_analyze_url_tool or gemini_extract_tool. An agent cannot tell from the description alone which URL tool to pick.

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 when-to-use guidance, no prerequisites, and no mention of alternatives despite several overlapping siblings (analyze_url, extract, compare_urls, summarize_pdf). The agent must infer selection from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_extract_tables_toolGemini Extract Tables ToolC

Extract tables from a document.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
file_pathYesAbsolute path to the document.
output_formatNoOutput format (markdown, csv, json).markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no supported document types, no note on whether the document is read-only or uploaded, no error behavior. A single sentence is far too thin for an unannotated tool.

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?

The single sentence is front-loaded and free of filler, but its brevity reflects under-specification rather than efficient communication. It is neither bloated nor adequately informative.

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?

An output schema exists, so return values need not be explained, and the 100% schema coverage documents all parameters. What remains missing is any behavioral or usage context, which matters more given the absence of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents file_path, model, and output_format. The description adds nothing beyond the schema, which is the expected baseline of 3 when the schema does the heavy lifting.

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 a specific verb and resource ('Extract tables from a document'), so an agent knows exactly what the tool produces. However, it offers no differentiation from nearby siblings like gemini_extract_tool or gemini_extract_from_url_tool, leaving the agent to infer which extractor applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as gemini_analyze_document_tool or gemini_extract_tool. No prerequisites, no input-type constraints, no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_extract_toolGemini Extract ToolC
Read-only

Extract structured data from text.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to extract data from.
modelNoModel to use.flash
extract_typeNoType (entities, dates, numbers, contacts, custom).entities
custom_fieldsNoComma-separated list of custom fields to extract.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

The readOnlyHint annotation already establishes this is a safe read operation, so the safety profile is covered. Beyond that the description discloses nothing: no mention of model selection impact, cost/latency, or what 'structured data' actually comprises. For a tool with a configurable model and extraction type, more context was expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with zero filler. It is well-formed and wastes nothing, though its brevity leaves it thin for a 4-parameter tool.

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?

An output schema exists so return values need not be explained, but key semantics remain uncovered: what 'custom' extract_type means, when custom_fields applies, and how this differs from the sibling extraction tools. For a moderately parameterized tool the description is too sparse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents text, model, extract_type, and custom_fields. The description adds no syntax or usage meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('Extract') and resource ('structured data from text'), so an agent knows the general operation. However, it offers no differentiation from close siblings such as gemini_structured_tool, gemini_extract_tables_tool, or gemini_extract_from_url_tool, leaving the agent to guess which extraction variant to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of when not to use it, and no reference to any alternative tool. The agent gets no signal about how this differs from the many other extraction/structured siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_generate_image_toolGemini Generate Image ToolB

Generate an image from a text prompt using Gemini's native image model.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoOptional style modifier (photorealistic, cartoon, watercolor, etc).
promptYesDescription of the image to generate.
image_sizeNoOutput size (1K, 2K, 4K).2K
aspect_ratioNoAspect ratio (1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, etc).1:1
use_google_searchNoGround with Google Search results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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 behavioral burden, yet it discloses nothing about latency, cost, rate limits, or whether generation is reversible. The phrase 'Gemini's native image model' hints at a model choice but gives no practical 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the verb and resource come first and nothing redundant is included.

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?

An output schema exists and schema coverage is complete, so return values and parameters are covered. The remaining gap is sibling disambiguation among many image tools, which the description does not address.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (prompt, style, image_size, aspect_ratio, use_google_search) are already documented in the schema. The description adds no extra syntax or format meaning beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (generate), resource (image), input modality (text prompt) and names the underlying model family (Gemini native), which distinguishes it from the Imagen sibling. However, it does not explicitly contrast with gemini_generate_image_with_input_tool or gemini_imagen_generate_tool, leaving the agent to infer the boundary.

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 when-to-use guidance, no exclusions, and no named alternatives despite several closely related image-generation siblings. The agent must guess whether to prefer this over gemini_imagen_generate_tool or gemini_generate_image_with_input_tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_generate_image_with_input_toolGemini Generate Image With Input ToolA

Generate/edit an image using a local image file as input.

Upload a local image and give Gemini instructions for how to modify it. Use cases: add watermarks, change styles, composite images, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesInstructions for what to do with the input image.
file_pathYesAbsolute path to a local image file.
_aspect_ratioNoDesired aspect ratio for the output (currently unused).1:1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the input mechanism (upload a local image, give modification instructions) and that output is a generated/edited image, but says nothing about supported formats, size limits, permissions, or whether the source file is modified. Output schema exists, so return values need not be described.

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?

Three short sentences, front-loaded with the core purpose, then the input mechanic, then use cases. No filler. Slightly loose in that the use-case line repeats the edit intent, but overall efficient.

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?

With a 3-param schema, full description coverage, and an output schema covering return values, the definition is close to complete for calling the tool correctly. The remaining gap is the lack of any guidance against the crowded field of sibling image-edit tools, which an agent would need to pick this one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents prompt, file_path, and the (unused) _aspect_ratio. The description adds only the loose notion of 'instructions' and 'local image file,' which the schema fields already state more precisely. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: generate/edit an image using a local image file as input. The 'local image file as input' qualifier meaningfully distinguishes it from text-only generators like gemini_generate_image_tool or gemini_imagen_generate_tool. However, it never names or contrasts with the session-based edit siblings (start/continue/end_image_edit), so differentiation is left to inference.

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 'Use cases: add watermarks, change styles, composite images' line implies when the tool is useful, which is better than nothing. But it gives no condition for choosing this over gemini_generate_image_tool or the gemini_start_image_edit_tool session flow, so the routing decision is unguided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_generate_video_toolGemini Generate Video ToolB

Generate a video using Veo. Returns an operation ID to poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesDescription of the video to generate.
_aspect_ratioNoVideo aspect ratio (currently unused).16:9
negative_promptNoWhat to avoid in the video.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the burden. It usefully discloses the asynchronous contract (returns an operation ID rather than a finished video), but omits generation latency, whether the operation is billable, or any limits on prompt length or output duration. The async disclosure is real added value, but substantial behavioral gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two terse sentences, front-loaded with the action and followed immediately by the return contract. No filler, no repetition of the title.

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?

An output schema exists, so return values need not be explained, and the description appropriately just flags the operation ID. However, for an async generation tool the description should point at the companion polling tool (gemini_check_video_tool) to complete the workflow; without it the agent must infer the next step.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so prompt, negative_prompt, and the defaulted _aspect_ratio are already documented in the schema. The description adds no format, length, or stylistic guidance for the prompt beyond what the schema says. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Generate a video using Veo') and distinguishes itself from the many image-generation siblings by naming the modality. It also notes the async return shape ('operation ID to poll'), which is more than a tautology. It stops short of naming the sibling tool an agent should call to poll.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance: nothing tells the agent when to pick this over gemini_generate_image_tool or gemini_imagen_generate_tool, nor the prerequisites for a valid prompt. The only implied usage cue is that the result must be polled, but the tool to poll with is not identified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_imagen_generate_toolGemini Imagen Generate ToolA

Generate images using Google Imagen 4 models.

Models (sorted by price):

  • imagen-4.0-fast-generate-001 ($0.02/image, fastest)

  • imagen-4.0-generate-001 ($0.04/image, standard)

  • imagen-4.0-ultra-generate-001 ($0.06/image, highest quality)

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoImagen model to use.imagen-4.0-generate-001
promptYesDescription of the image to generate.
aspect_ratioNoAspect ratio (1:1, 3:4, 4:3, 9:16, 16:9).1:1
number_of_imagesNoNumber of images to generate (1-4).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses per-image cost for each model, which is genuinely valuable context an agent can use for cost control. It does not describe latency, rate limits, whether generated images are persisted or returned inline, or any safety/content-policy behavior, leaving notable gaps for a paid generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One lead sentence followed by a compact, front-loaded model list; every token earns its place and the most decision-relevant information (price/quality tiers) is presented scannably.

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?

An output schema exists so return values need not be explained, and the parameter set is small and fully schema-documented. The description covers purpose and model tradeoffs adequately; it would be complete with a brief note on how this differs from gemini_generate_image_tool and whether outputs are returned or saved.

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 100%, so the baseline is 3, but the description genuinely adds value beyond the schema by enumerating the valid model IDs with their price, speed, and quality tradeoffs, whereas the schema property only says 'Imagen model to use.' Other parameters (prompt, aspect_ratio, number_of_images) are already fully documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Generate images using Google Imagen 4 models') with concrete model identifiers. However, it does not distinguish itself from the close sibling gemini_generate_image_tool or gemini_generate_image_with_input_tool, so an agent cannot tell from the description alone which of the three generation tools to pick.

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 pricing/quality/speed annotations against each model imply a selection heuristic (fast vs standard vs ultra), which is useful implied guidance for parameter choice. But there is no explicit when-to-use or when-not-to-use guidance relative to the sibling image tools, and no prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_image_prompt_toolGemini Image Prompt ToolC
Read-only

Help craft an effective image generation prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoDesired mood or atmosphere.
modelNoModel to use for prompt crafting.flash
styleNoDesired art style (photorealistic, cartoon, watercolor, etc).
descriptionYesWhat you want the image to show.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

The annotation readOnlyHint=true already tells the agent this is a non-destructive operation, and the description adds nothing beyond that. It does not clarify whether the tool merely returns text for the agent to reuse in a generation call, which model the 'model' parameter selects, or how the crafted prompt is delivered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the core action is front-loaded. It is efficient, though arguably undersized for a tool with four parameters and a workflow role.

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?

An output schema exists, so return values need not be explained. The remaining gap is workflow context: the description never positions this relative to the many image-generation and image-edit siblings, nor indicates that its output feeds into them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (description, mood, style, model) are already documented in the schema, including defaults. The description adds no format hints or examples beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('craft') on a specific artifact ('image generation prompt'), which is clearly distinguishable from the image-generating siblings like gemini_generate_image_tool and gemini_imagen_generate_tool. However, it never explicitly names or contrasts itself against those siblings, so differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no alternatives named. An agent cannot tell from the description whether this should be called before gemini_generate_image_tool, instead of it, or as a standalone helper. The relationship to the workflow siblings is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_list_caches_toolGemini List Caches ToolB
Read-only

List all active content caches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already establishes this is a non-mutating operation, so the description's burden is lighter. It adds the useful scoping detail that only 'active' caches are returned, but says nothing about pagination, return volume, or whether caches expire — gaps an agent enumerating caches might care about.

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?

One short sentence with no filler, and the operation is front-loaded. It is minimal rather than padded, though the extreme brevity leaves room that could have been spent on usage routing.

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?

With an output schema present, return-value explanation is not required, and there are no parameters to document, so the description covers most of what is needed. The missing piece is context on how listing relates to the other cache lifecycle tools.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-parameter tool applies. Nothing in the description misrepresents the (empty) input contract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list content caches) and qualifies the scope with 'active', so an agent knows this is a read/list operation rather than a query or mutation. It does not explicitly differentiate itself from the sibling cache tools (create/query/delete), but the name and verb make the distinction inferable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus gemini_query_cache_tool or gemini_create_cache_tool, nor any note about needing to list before querying. The agent must infer usage entirely from the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_list_image_sessions_toolGemini List Image Sessions ToolB

List all active image editing sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It says 'active' sessions, which is useful, but says nothing about session lifetimes, what happens to ended sessions, result format, scoping (user/workspace), or rate limits. For a list tool with zero annotations this is thin.

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, front-loaded sentence with no waste. Appropriate length for a zero-param list tool, though it could condense into a slightly richer sentence without 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?

Output schema exists so return value explanation is not needed, and there are no parameters to document. However, with no annotations and many sibling session tools, the description should clarify scope and relationship to start/continue/end session tools. Adequate but with a clear gap.

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?

Zero parameters, so baseline is 4. The description correctly implies no inputs are needed and the empty schema is consistent; no additional semantics required.

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?

Specific verb 'List' plus resource 'active image editing sessions', which is clear. But it does not differentiate from siblings like gemini_list_caches_tool or explain what a session is versus continue/end/edit tools. Still relatively unambiguous for a zero-param list tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when to use this versus gemini_start_image_edit_tool or gemini_continue_image_edit_tool. Sibling routes exist but the description offers no routing guidance. Implied usage at best.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_list_voices_toolGemini List Voices ToolA
Read-only

List available voices for text-to-speech.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe, non-mutating read. The description adds only the TTS context, which is mildly useful; it discloses nothing about result shape or stability, though the output schema carries that burden.

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 front-loaded sentence with no filler. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only listing tool with an output schema enumerating voices, the description needs only to state what is listed, which it does. The one gap is not indicating that the returned voices are the valid inputs for the speech-synthesis siblings.

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?

The tool takes zero parameters, so the baseline of 4 applies. No parameter meaning needs to be conveyed and nothing is missing from the schema.

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 a specific verb and resource ('List available voices') and adds the domain ('for text-to-speech'), so an agent immediately understands it enumerates TTS voice options. It does not explicitly contrast itself with siblings like gemini_speak_tool, but the purpose is 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 when-to-use, prerequisites, or alternatives are stated. An agent could infer this is a discovery call to precede gemini_speak_tool or gemini_dialogue_tool, but that inference is never made explicit anywhere in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_query_cache_toolGemini Query Cache ToolC
Read-only

Query content in a cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesQuestion to ask about the cached content.
cache_nameYesThe cache name from gemini_create_cache.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

readOnlyHint=true already tells the agent this is a safe, non-mutating read. The description adds nothing further — no note on latency, cache lifetime, cost savings versus a plain query, or failure behavior when the cache name is invalid. For a read tool whose safety is already annotated, this is a missed opportunity to add real context.

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?

It is a single front-loaded sentence with no padding, which is structurally clean. But at five words it is under-specified rather than truly concise — there is room for essential context without bloat.

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?

An output schema exists, so return values need not be described, and the schema covers both params. What is missing is the operational context: that this depends on a cache created by gemini_create_cache_tool, how it relates to gemini_query_tool, and when the cached path is preferable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the schema (including the pointer to gemini_create_cache). The description adds no format, syntax, or constraint detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Query') and a resource ('content in a cache'), which is more specific than a bare name restatement. However, it does not distinguish itself from the adjacent sibling gemini_query_tool or explain what 'querying a cache' means relative to a normal query, leaving the agent to infer the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites (e.g. that a cache must first exist), and no mention of the sibling alternative gemini_query_tool. The only lifecycle hint lives in the schema property text, not the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_query_toolGemini Query ToolC
Read-only

Query Gemini with a prompt. Supports Google Search grounding.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use ('pro' or 'flash').flash
promptYesThe prompt to send to Gemini.
use_google_searchNoGround response with Google Search results.
system_instructionNoOptional system instruction to guide the response.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, and the only behavioral statement ('Supports Google Search grounding') merely restates the use_google_search parameter. Nothing about latency, cost, model differences, or refresh/caching behavior is disclosed beyond the safety hint already provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the primary action front-loaded and zero waste. It is efficient, though arguably too terse to carry the routing burden in a large sibling family.

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?

An output schema exists, so return values need not be explained, and the schema fully covers inputs. What is missing is differentiation from the many overlapping gemini query/analyze/search siblings, which is the main completeness gap for an agent selecting this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents model, prompt, use_google_search, and system_instruction, including defaults and the 'pro'/'flash' values. The description adds no format or usage detail beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Query Gemini with a prompt'), so the agent knows this is a general-purpose LLM query. However, it does not distinguish itself from overlapping siblings such as gemini_search_tool, gemini_analyze_text_tool, or gemini_structured_tool, leaving the agent unable to tell which query tool fits a given need.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no named alternatives. 'Supports Google Search grounding' describes a capability rather than a selection condition, so the agent must infer routing from the sibling list alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_research_followup_toolGemini Research Followup ToolB
Read-only

Ask a follow-up question about completed research.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesFollow-up question.
research_idYesThe research ID from a previous research operation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint=true annotation already tells the agent this is a non-mutating operation, so the bar is lower. The description adds the 'completed research' prerequisite, but discloses nothing about whether the follow-up retains prior context, whether it triggers new retrieval/cost, or how many follow-ups are supported.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy. It is efficient, though arguably terse enough that it sacrifices some of the guidance other dimensions need.

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?

An output schema exists, so return values need not be explained. Still, for a tool that depends on a prior research_id, the description omits how that ID is obtained and what 'completed' state is required, leaving a meaningful gap for a two-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented ('Follow-up question' and 'The research ID from a previous research operation'). The description adds no syntax, format, or linkage detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Ask') and resource ('a follow-up question about completed research'), which clearly distinguishes it from siblings like gemini_deep_research_tool (start research) and gemini_check_research_tool (poll status). It doesn't name those siblings explicitly, but the operation is unambiguous.

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?

'About completed research' implies a prerequisite (the research must already be finished), which is useful context. However, it never states the when-to-use boundary against gemini_deep_research_tool or gemini_check_research_tool, nor whether follow-ups can be chained or repeated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_run_code_toolGemini Run Code ToolB

Execute code using Gemini's built-in code execution.

Gemini writes and runs Python code to answer questions, perform calculations, or process data.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoOptional data to process.
modelNoModel to use.flash
promptYesDescription of what code to write and run.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose the non-obvious fact that Gemini generates and executes the code itself rather than the caller supplying it, which matters for prompt design. It says nothing about sandboxing, execution isolation, network/filesystem access, or side effects — material traits for a code-execution tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and followed by the clarifying mechanic. No padding or restatement of the tool name, though the second sentence is close to restating the first with examples.

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?

An output schema exists, so return values need not be described. However, with zero annotation coverage on a tool that executes arbitrary generated code, the definition should address execution safety, permissions, or environment constraints; that gap leaves the agent under-informed for a tool of this risk profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents prompt, model, and data. The description's framing of the prompt ('what code to write and run') is consistent with and mildly reinforcing of the schema, but adds no new syntax, format, or constraint detail. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (execute) and resource (Python code written and run by Gemini), and clarifies the unusual mechanic that the model authors the code from a prompt. It does not, however, differentiate itself from the closest sibling, gemini_analyze_code_tool, which an agent could easily confuse with a run/execute 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?

Usage is only implied through the examples 'answer questions, perform calculations, or process data' — reasonable context but no explicit when-to-use or when-not-to-use. With a large sibling set including gemini_query_tool, gemini_analyze_code_tool, and gemini_structured_tool, a routing hint is conspicuously absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_search_toolGemini Search ToolB
Read-only

Search the web using Gemini with Google Search grounding.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
queryYesThe search query.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safe-read profile is covered by structured data. The description adds the useful fact that results are grounded via Google Search, but says nothing about latency, cost, citation behavior, or freshness of results beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, and the core action is stated first. It is arguably too terse for a search tool, but nothing in it is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the safety profile is covered by annotations. What is missing is routing context in a sibling set crowded with search-adjacent tools, leaving the agent to guess when this is the right choice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters (query, model), so the schema already documents them fully. The description adds no syntax, format, or model-selection guidance (e.g. when 'flash' vs a stronger model matters), leaving it at the baseline for a fully documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search the web') and adds the mechanism ('Gemini with Google Search grounding'), which an agent can distinguish from URL/file-analysis siblings. However, it does not differentiate itself from adjacent search-like siblings such as gemini_deep_research_tool or gemini_query_tool, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of alternatives. An agent cannot tell from this text whether a factual lookup should go here or to deep_research, analyze_url, or query_tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_speak_toolGemini Speak ToolC

Convert text to speech.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to convert to speech.
voiceNoVoice name (Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede).Kore

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the basic action: not the output audio format, length limits, latency, or whether results are returned inline or as a file. The presence of an output schema softens this slightly, but the description adds no 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?

A single front-loaded sentence with zero waste. It is arguably under-specified rather than verbose, but structurally sound and easy to scan.

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, the output schema exists, and the input schema is fully documented, so the minimum needed to invoke it is present. Still, the absence of any usage routing or behavioral detail leaves it only marginally adequate for an agent choosing among many sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both the required 'text' and the 'voice' parameter (with its default and full voice list) are already documented in the schema. The description adds no syntax, format, or length guidance beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Convert text to speech'), which is unambiguous on its own. However, it offers no differentiation from siblings like gemini_list_voices_tool or gemini_dialogue_tool, and the name 'speak_tool' is not echoed anywhere in the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the voice-related siblings (notably gemini_list_voices_tool, which would logically precede calls here). No prerequisites, no mention of when a voice should be specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_start_image_edit_toolGemini Start Image Edit ToolA

Start a multi-turn image editing session.

Optionally provide an existing image file as the starting point. Without file_path, Gemini generates a new image from the prompt. Use gemini_continue_image_edit_tool to make further edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesInitial prompt (describe image or editing instructions).
file_pathNoOptional absolute path to a local image to start from.
use_google_searchNoGround with Google Search results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does disclose the stateful, multi-turn session nature and the two operating modes, which is real behavioral context, but says nothing about session lifetime, what happens to a prior session, concurrency, or auth/cost characteristics.

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?

Four short sentences, front-loaded with the purpose, then the file_path conditional, then the routing hint. No filler and each sentence carries distinct information.

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?

An output schema exists, so return values need not be explained, and the description covers the start/continue lifecycle well enough to invoke the tool. It stops short of covering session identity or teardown (there are end_image_edit and list_image_sessions siblings), leaving minor gaps for a stateful tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented and this sets the baseline at 3. The description adds the consequence of omitting file_path (generation instead of editing), which is useful, but adds no guidance on prompt or use_google_search beyond 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?

States a specific verb and resource ('Start a multi-turn image editing session') and immediately disambiguates from the sibling it is not by naming gemini_continue_image_edit_tool. The conditional behavior with/without file_path further pins down what the tool actually does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use gemini_continue_image_edit_tool for further edits, and omit file_path to generate rather than edit. It does not address overlap with gemini_generate_image_with_input_tool, which also accepts a starting image, so the boundary with that sibling is left ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_structured_toolGemini Structured ToolC
Read-only

Get structured JSON output from Gemini.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
promptYesThe prompt to generate structured output for.
schemaNoOptional JSON schema to constrain the output.
use_google_searchNoGround response with Google Search.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true, so the safety profile is already covered. The description adds nothing beyond that: no latency/cost context, no indication that the schema parameter materially changes output shape, no note about how model selection affects results. It essentially restates the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded and free of padding. It is efficient, though its brevity reflects under-specification rather than disciplined editing.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. But for a tool with 4 parameters, a model selector, an optional schema constraint, and many overlapping siblings, the description omits everything an agent needs for correct selection. It is not adequate to the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (model, prompt, schema, use_google_search) are already documented in the schema. The description adds no parameter-level meaning, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb ("Get") and a resource ("structured JSON output from Gemini"), so the core purpose is discernible. However, it offers no differentiation from the many sibling generation tools (gemini_query_tool, gemini_extract_tool, gemini_summarize_tool), which likely also return text/JSON from Gemini. The distinction that this tool constrains output via a schema is implied but never made explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as gemini_query_tool or gemini_extract_tool, nor any exclusions or preconditions. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_summarize_pdf_toolGemini Summarize Pdf ToolC

Summarize a PDF document.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
styleNoSummary style (concise, detailed, executive).concise
file_pathYesAbsolute path to the PDF.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it says nothing about permissions, model behavior, processing limits, or side effects. It only restates the operation, adding no context beyond the schema defaults (model/style).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with zero waste. It is efficient, though arguably under-specified for a tool with several sibling alternatives.

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?

With 100% schema coverage and an output schema, parameters and return values are handled elsewhere. The remaining gap is the absence of any sibling differentiation or usage context, leaving the definition minimally viable for an agent choosing among ~35 Gemini tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents file_path, model, and style semantics. The description adds no parameter meaning beyond the schema, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Summarize) and resource (PDF document), so the core function is unambiguous. However, it does nothing to distinguish itself from close siblings like gemini_summarize_tool or gemini_analyze_document_tool, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus gemini_summarize_tool, gemini_analyze_document_tool, or gemini_extract_tables_tool. The agent is left to infer the PDF-specific scope entirely on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_summarize_toolGemini Summarize ToolC
Read-only

Summarize content with Gemini.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use.flash
formatNoOutput format (paragraph, bullets, outline).paragraph
lengthNoSummary length (brief, moderate, detailed).moderate
contentYesThe content to summarize.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true, so the safety profile is covered. The description adds nothing beyond that — no mention of model selection behavior, latency, or that output is non-deterministic. It does not contradict the annotations, but it contributes no 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence is concise and front-loaded, but the brevity here reflects under-specification rather than tight editing — there is essentially no content to structure.

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?

An output schema exists, so return values need not be explained, and all four parameters are documented in the schema. What is missing is differentiation from siblings and any usage context, which is meaningful for a tool sharing a namespace with several other summarization tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with defaults and enumerated values for format and length documented in the schema. Since the schema carries the full burden, the baseline of 3 applies; the description adds no parameter meaning of its own.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Summarize content'), so the basic purpose is clear. However, it offers no differentiation from close siblings like gemini_summarize_pdf_tool or gemini_youtube_summary_tool, leaving the agent to guess whether this tool handles arbitrary text vs. other content types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative-tool guidance. Given the crowded sibling set with multiple summarization-adjacent tools, the absence of any routing hint is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_youtube_summary_toolGemini Youtube Summary ToolC
Read-only

Summarize a YouTube video.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL.
modelNoModel to use.flash
styleNoSummary style (concise, detailed, bullet_points).concise

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, so safety is covered. But the description adds nothing else: it doesn't mention that the URL must be a YouTube link, any rate limits, output format, or how the model/style parameters affect behavior. With annotations covering the safety profile, the description should still provide more behavioral context but fails to do so.

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 (one sentence) and front-loaded with the core action. It could be slightly more informative without losing conciseness, but it's efficient.

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 has an output schema and annotations, the description doesn't need to explain return values. However, it lacks any context about limitations or usage relative to the many sibling tools, and doesn't mention that only YouTube URLs are supported. For a tool in a crowded namespace, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters (url, model, style) are already documented in the schema. The description adds no additional meaning beyond what the schema provides, which is acceptable given full coverage, but it still scores a baseline 3.

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 a specific verb (summarize) and resource (YouTube video), which is clear. However, it doesn't differentiate itself from the sibling gemini_youtube_tool or gemini_summarize_tool, leaving ambiguity about which tool to pick for YouTube summarization versus general summarization.

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 given about when to use this tool versus the numerous sibling tools. The description doesn't state prerequisites, limitations, or alternatives, leaving the agent to guess based on name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_youtube_toolGemini Youtube ToolC
Read-only

Analyze a YouTube video.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL.
modelNoModel to use.flash
questionNoQuestion or instruction about the video.Analyze this video and provide key insights.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

The readOnlyHint=true annotation covers the safety profile, so the bar is lower, but the description adds nothing: no mention of whether the video is fetched/transcribed, model tradeoffs (flash vs. pro), latency, or limits. It merely restates the name.

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?

It is a single short sentence with no waste, but it is under-specified rather than concise, and it is not front-loaded with any useful routing or behavioral 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?

With an output schema present, return values need not be explained, but the description still omits any differentiation from the many sibling analysis tools and any behavioral specifics an agent needs to select and call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters including the default question and model. The description adds no additional meaning, which is the baseline expectation when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb (Analyze) and resource (YouTube video), which is clear enough in isolation. However, it fails to distinguish from close siblings like gemini_youtube_summary_tool and gemini_analyze_url_tool, so an agent cannot tell when this tool is the right pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus the sibling gemini_youtube_summary_tool or gemini_analyze_url_tool, nor any exclusions or prerequisites. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 39 tool updatesv0.3.0
    • First observedgemini_analyze_code_tool
    • First observedgemini_analyze_document_tool
    • First observedgemini_analyze_image_tool
    • First observedgemini_analyze_text_tool
    • First observedgemini_analyze_url_tool
    • First observedgemini_brainstorm_tool
    • First observedgemini_check_research_tool
    • First observedgemini_check_video_tool
    • First observedgemini_compare_urls_tool
    • First observedgemini_continue_image_edit_tool
    • First observedgemini_count_tokens_tool
    • First observedgemini_create_cache_tool
    • First observedgemini_deep_research_tool
    • First observedgemini_delete_cache_tool
    • First observedgemini_dialogue_tool
    • First observedgemini_end_image_edit_tool
    • First observedgemini_extract_from_url_tool
    • First observedgemini_extract_tables_tool
    • First observedgemini_extract_tool
    • First observedgemini_generate_image_tool
    • First observedgemini_generate_image_with_input_tool
    • First observedgemini_generate_video_tool
    • First observedgemini_image_prompt_tool
    • First observedgemini_imagen_generate_tool
    • First observedgemini_list_caches_tool
    • First observedgemini_list_image_sessions_tool
    • First observedgemini_list_voices_tool
    • First observedgemini_query_cache_tool
    • First observedgemini_query_tool
    • First observedgemini_research_followup_tool
    • First observedgemini_run_code_tool
    • First observedgemini_search_tool
    • First observedgemini_speak_tool
    • First observedgemini_start_image_edit_tool
    • First observedgemini_structured_tool
    • First observedgemini_summarize_pdf_tool
    • First observedgemini_summarize_tool
    • First observedgemini_youtube_summary_tool
    • First observedgemini_youtube_tool

TDQS

C2.8/5.0

Scored across 39 tools

Disambiguation2/5

Many tools overlap: multiple image generation/editing tools (gemini_generate_image_tool, gemini_imagen_generate_tool, gemini_generate_image_with_input_tool, gemini_start_image_edit_tool), multiple document analysis tools (analyze_document, summarize_pdf, extract_tables), multiple URL tools (analyze_url, compare_urls, extract_from_url), and general query/analyze/summarize/brainstorm tools. Descriptions help but boundaries are fuzzy, risking misselection.

Naming Consistency4/5

All tools use snake_case with a consistent 'gemini_' prefix and '_tool' suffix. However, some names lack an action verb (gemini_youtube_tool, gemini_dialogue_tool, gemini_structured_tool) and word order varies (gemini_imagen_generate_tool vs gemini_generate_image_tool), preventing a perfect score.

Tool Count2/5

39 tools is well above the recommended 3-15 range and exceeds the 25-tool threshold for 'too many.' While the server covers many modalities, the count suggests redundant or overly granular tooling that could be consolidated.

Completeness4/5

The toolset covers a wide range of Gemini capabilities: image/video/audio generation, document/URL/YouTube analysis, research, caching, structured output, token counting, and code execution. Minor gaps exist (e.g., no speech-to-text, no model listing, no embedding generation), but core workflows are well supported.

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers