Skip to main content
Glama
Skeptomenos

google-workspace-mcp-advanced

by Skeptomenos

Google Workspace MCP Advanced

Production-ready MCP server for Google Workspace.

google-workspace-mcp-advanced gives MCP clients broad Google Workspace coverage with safe-by-default write operations, Markdown-to-Google-Docs support, and Drive sync workflows.

Why This Project

  • 11 service domains: Gmail, Drive, Calendar, Docs, Sheets, Chat, Forms, Slides, Tasks, Search, Apps Script

  • 100+ tools for read and write operations

  • Dry-run defaults for mutating operations

  • Strong Markdown rendering for Google Docs (kitchen-sink validated)

  • Persistent OAuth sessions and resilient auth storage

Related MCP server: google-workspace-mcp-server

Quick Start

1. Install uv

# macOS (Homebrew)
brew install uv

# Windows (winget)
winget install --id=astral-sh.uv -e

# Windows (PowerShell installer)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Linux/macOS (official installer)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Verify
uv --version
# Stable channel (latest release)
uvx google-workspace-mcp-advanced --transport stdio

# Pinned deterministic version (recommended for teams)
uvx google-workspace-mcp-advanced==1.0.10 --transport stdio

3. Add MCP client config

{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": ["google-workspace-mcp-advanced==1.0.10", "--transport", "stdio"],
      "env": {
        "USER_GOOGLE_EMAIL": "your.email@company.com"
      }
    }
  }
}

4. Use client-specific setup guides

5. Authenticate on first run

  1. Start the server from your MCP client.

  2. Run any Google tool (for example, list calendars or list Drive files).

  3. In stdio mode (default), complete the device flow:

    • open the verification URL,

    • enter the user code,

    • retry your tool call.

    • if device flow is unsupported for your OAuth client type, the server falls back to callback flow automatically.

  4. In streamable-http, complete callback auth by opening the OAuth URL shown by the server.

    • for MCP-hosted/manual completion workflows, use complete_google_auth with the browser callback URL.

  5. Credentials are saved in ~/.config/google-workspace-mcp-advanced/credentials/.

  6. Legacy directory ~/.config/gws-mcp-advanced/ is still supported for migration.

Single-MCP Multi-Client Mode

Use one MCP entry with multiple OAuth clients (for example private + enterprise tenants) via:

  • auth_clients.json under WORKSPACE_MCP_CONFIG_DIR

  • deterministic routing by script_clients, account_clients, and domain_clients

  • setup tools: setup_google_auth_clients, import_google_auth_client

  • completion tool: complete_google_auth

Guide:

Local Development Mode

Use repository-local execution when building or testing unreleased changes.

{
  "mcpServers": {
    "google-workspace-dev": {
      "command": "uv",
      "args": [
        "run",
        "--project",
        "/path/to/google-workspace-mcp-advanced",
        "google-workspace-mcp-advanced",
        "--transport",
        "stdio"
      ],
      "env": {
        "USER_GOOGLE_EMAIL": "your.email@company.com"
      }
    }
  }
}

Service Coverage

Service

Example Capabilities

Gmail

search, read, draft, send, labels, filters

Drive

search, read, upload, permissions, ownership transfer

Calendar

list/create/modify/delete events

Docs

create/update docs, markdown insertion, table and image handling

Sheets

read/write ranges, formatting, conditional formatting

Chat

list spaces, read/send messages

Forms

create forms, read responses, update publish settings

Slides

create presentations, batch updates

Tasks

task lists and task lifecycle management

Search

programmable search endpoint support

Apps Script

project metadata/content, versions, deployments, processes, metrics, and safe-by-default mutators

Safety Model

  • Mutating tools default to dry_run=True.

  • You must pass dry_run=False to execute real changes.

  • This reduces accidental writes during assistant experimentation.

Common Runtime Commands

# Run locally from repo
uv run google-workspace-mcp-advanced --transport stdio

# HTTP transport
uv run google-workspace-mcp-advanced --transport streamable-http

# Single-user mode
uv run google-workspace-mcp-advanced --single-user

# Load specific service groups only
uv run google-workspace-mcp-advanced --tools gmail drive calendar

Required Environment Variables

Variable

Required

Description

USER_GOOGLE_EMAIL

Yes

Target Google account email

GOOGLE_OAUTH_CLIENT_ID

Yes for legacy single-client mode

OAuth client ID

GOOGLE_OAUTH_CLIENT_SECRET

Yes for legacy single-client mode

OAuth client secret

WORKSPACE_MCP_CONFIG_DIR

No

Config/credential directory override

WORKSPACE_MCP_AUTH_FLOW

No

Auth interaction mode: auto (default), device, or callback

Migration from Legacy Name

If you previously ran the project as gws-mcp-advanced, follow:

Documentation

Contributor docs live in AGENTS.md and agent-docs/.

Available Tools

126 tools
add_conditional_formattingA

Adds a conditional formatting rule to a range.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet. Required. range_name (str): A1-style range (optionally with sheet name). Required. condition_type (str): Sheets condition type (e.g., NUMBER_GREATER, TEXT_CONTAINS, DATE_BEFORE, CUSTOM_FORMULA). condition_values (Optional[Union[str, List[Union[str, int, float]]]]): Values for the condition; accepts a list or a JSON string representing a list. Depends on condition_type. background_color (Optional[str]): Hex background color to apply when condition matches. text_color (Optional[str]): Hex text color to apply when condition matches. rule_index (Optional[int]): Optional position to insert the rule (0-based) within the sheet's rules. gradient_points (Optional[Union[str, List[dict]]]): List (or JSON list) of gradient points for a color scale. If provided, a gradient rule is created and boolean parameters are ignored. dry_run (bool): When True (default), return planned rule details without mutating the sheet.

Returns: str: Confirmation of the added rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
range_nameYes
condition_typeYes
condition_valuesNo
background_colorNo
text_colorNo
rule_indexNo
gradient_pointsNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses dry_run behavior and gradient_points override, but lacks details on auth requirements, error handling, or mutation scope. Adequate but not thorough.

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

Conciseness4/5

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

Description is well-structured with Args block. Each parameter is explained concisely. No unnecessary repetition, though could be slightly more compact.

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

Completeness3/5

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

Given 10 parameters and no annotations, the description covers most aspects but lacks context on error conditions, rate limits, or when to use dry_run vs actual mutation. Output is minimally described ('str: Confirmation').

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

Parameters4/5

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

With 0% schema coverage, the description provides extensive parameter semantics: explains condition_type examples, condition_values format, gradient_points structure, and parameter dependencies. Adds significant value beyond bare schema.

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

Purpose5/5

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

The description clearly states the action 'Adds a conditional formatting rule to a range' with a specific verb and resource. The tool name and description distinguish it from siblings like delete_conditional_formatting and update_conditional_formatting.

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 explicit guidance on when to use this tool versus alternatives (e.g., update_conditional_formatting). The description implies usage via parameter details but lacks when-not-to-use or prerequisites.

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

batch_modify_gmail_message_labelsA

Adds or removes labels from multiple Gmail messages in a single batch request.

Args: user_google_email (str): The user's Google email address. Required. message_ids (List[str]): A list of message IDs to modify. add_label_ids (Optional[List[str]]): List of label IDs to add to the messages. remove_label_ids (Optional[List[str]]): List of label IDs to remove from the messages. dry_run (bool): If True, preview batch label changes without mutating messages.

Returns: str: Confirmation message of the label changes applied to the messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
message_idsYes
add_label_idsNoLabel IDs to add to messages.
remove_label_idsNoLabel IDs to remove from messages.
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses that the tool modifies messages (dry_run prevents mutation) and returns a confirmation string. It does not mention authorization needs, rate limits, or thread implications, but the core behavior is adequately described.

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

Conciseness5/5

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

The description is structured as a Python docstring with a one-line summary followed by Args and Returns sections. It is concise, front-loads the purpose, and contains no unnecessary words.

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

Completeness4/5

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

Given no output schema and 5 parameters, the description covers inputs well and notes a confirmation string return. It lacks details on error handling, partial failures, or quotas, but for a batch mutation tool, it is reasonably complete.

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

Parameters5/5

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

The description explains all five parameters beyond the schema: user_google_email ('The user's Google email address'), message_ids ('list of message IDs'), and dry_run ('preview batch label changes without mutating messages'). Schema coverage is only 40%, but the description compensates fully.

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

Purpose5/5

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

The description clearly states: 'Adds or removes labels from multiple Gmail messages in a single batch request.' It specifies the action (adds/removes), resource (labels on Gmail messages), and batch scope, distinguishing it from sibling tools like manage_gmail_label (label CRUD) and modify_gmail_message_labels (likely single message).

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

Usage Guidelines3/5

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

The description mentions a dry_run parameter to preview changes without mutation, providing a safety guideline. However, it does not explicitly state when to use this batch tool over alternatives like modify_gmail_message_labels for single messages, nor does it provide exclusions or prerequisites.

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

batch_share_drive_fileA

Shares a Google Drive file or folder with multiple users or groups in a single operation.

Each recipient can have a different role and optional expiration time.

Note: Each recipient is processed sequentially. For very large recipient lists, consider splitting into multiple calls.

Args: user_google_email (str): The user's Google email address. Required. file_id (str): The ID of the file or folder to share. Required. recipients (List[ShareRecipient]): List of recipient objects. send_notification (bool): Whether to send notification emails. Defaults to True. email_message (Optional[str]): Custom message for notification emails. dry_run (bool): If True, returns a preview and does not create sharing permissions. Defaults to True.

Returns: str: Summary of created permissions with success/failure for each recipient.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes
recipientsYes
send_notificationNo
email_messageNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It discloses sequential processing, dry_run functionality, and that the return is a success/failure summary. However, it does not mention error handling for partial failures, permission requirements, or idempotency.

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

Conciseness5/5

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

The description is concise and well-structured: a one-sentence summary followed by a bulleted list of parameters and a return value statement. Every sentence adds value and the key purpose is front-loaded.

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

Completeness4/5

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

Given the tool's complexity (batch operation, nested objects) and absence of annotations, the description covers the essential: return value, dry_run behavior, sequential processing. It lacks details on error handling, permissions, and rate limits, but these are not critical for basic usage. An output schema is implied (returns a string), which helps.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates by listing and explaining each parameter (user_google_email, file_id, recipients, send_notification, email_message, dry_run). The nested $defs also provide descriptions for ShareRecipient fields. This is thorough, though some parameter behavior (e.g., default values) could be better integrated.

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

Purpose5/5

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

The description clearly states the tool shares a Google Drive file or folder with multiple users or groups in a single operation. It uses a specific verb-resource pair and distinguishes itself from sibling tools like share_drive_file (single share) and update_drive_permission (modifying existing permissions).

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

Usage Guidelines3/5

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

The description mentions sequential processing and suggests splitting large recipient lists, but it does not explicitly compare with alternatives like share_drive_file for single recipients. The context implies batch use but lacks explicit when-to-use or when-not-to-use guidance.

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

batch_update_docA

Executes multiple document operations in a single atomic batch update.

Args: user_google_email: User's Google email address document_id: ID of the document to update operations: List of operation dictionaries. Each operation should contain: - type: Operation type ('insert_text', 'delete_text', 'replace_text', 'format_text', 'insert_table', 'insert_page_break', 'insert_markdown') - Additional parameters specific to each operation type dry_run: When True (default), return planned batch summary without executing it

Example operations: [ {"type": "insert_text", "index": 1, "text": "Hello World"}, {"type": "format_text", "start_index": 1, "end_index": 12, "bold": true}, {"type": "insert_table", "index": 20, "rows": 2, "columns": 3}, {"type": "insert_markdown", "markdown_text": "# Heading\n\nBold text", "index": 1} ]

Returns: str: Confirmation message with batch operation results

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
operationsYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description bears full burden. It discloses atomicity, dry_run capability, lists supported operation types, and shows example operations. It does not detail error handling or permissions but is fairly transparent.

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

Conciseness4/5

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

The description is well-structured: a concise purpose sentence, Args list, example, and return type. It is thorough but not overly verbose; however, it could be slightly more concise.

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

Completeness4/5

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

Given the presence of an output schema (confirmation message), the description covers purpose, parameters, examples, and return. It lacks details on error handling, limits, or prerequisites, but is generally complete for a batch update tool.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully explains each parameter: user_google_email, document_id, operations structure with types, and dry_run behavior. Examples illustrate usage effectively, far exceeding minimal compensation.

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

Purpose5/5

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

The description clearly states it executes multiple document operations in a single atomic batch update, using a specific verb and resource. This differentiates it from sibling tools like modify_doc_text or insert_doc_elements that handle individual operations.

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

Usage Guidelines4/5

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

It implies use when multiple operations are needed atomically, and provides example operations. However, it does not explicitly state when not to use it (e.g., for a single operation) or mention alternatives.

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

batch_update_presentationC

Apply batch updates to a Google Slides presentation.

Args: user_google_email (str): The user's Google email address. Required. presentation_id (str): The ID of the presentation to update. requests (List[Dict[str, Any]]): List of update requests to apply.

Returns: str: Details about the batch update operation results.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes
requestsYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether updates are destructive, append-only, or require specific permissions. The tool modifies a presentation but lacks details on side effects.

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

Conciseness4/5

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

The description is well-structured in a docstring format with Args and Returns sections. It is concise but covers the essential parameters and return type without extraneous text.

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

Completeness3/5

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

Given the tool has 4 parameters and an output schema (implied), the description covers the main functionality but misses the 'dry_run' parameter and lacks behavioral details. It is adequate for basic understanding but not fully 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?

The description adds meaning for three of four parameters (user_google_email, presentation_id, requests) with explicit descriptions. However, the 'dry_run' parameter with a default of true is entirely omitted from the description, and schema coverage is 0%, so the description partially compensates but is incomplete.

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 clearly states 'Apply batch updates to a Google Slides presentation,' which is a specific verb+resource combination. However, it does not differentiate from similar tools like 'batch_update_doc' for Google Docs, but given the sibling list includes many different tools, the purpose is still clear.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., individual updates or other batch operations). No prerequisites or context provided.

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

check_drive_file_public_accessA

Searches for a file by name and checks if it has public link sharing enabled.

Args: user_google_email (str): The user's Google email address. Required. file_name (str): The name of the file to check.

Returns: str: Information about the file's sharing status and whether it can be used in Google Docs.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

The description states it is a read-only check, which is transparent. However, it lacks details on behavior for edge cases (e.g., file not found, multiple matches) and prerequisites like authentication. With no annotations, the description carries the full burden but only partially meets it.

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

Conciseness5/5

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

The description is extremely concise: one sentence for the purpose and a brief arg/returns section. No unnecessary information, and it is front-loaded.

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

Completeness3/5

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

Given the tool's simplicity (2 parameters, no nested objects), the description adequately covers purpose and parameters. However, it lacks usage context relative to siblings and does not fully explain the return value structure, though an output schema exists.

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

Parameters5/5

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

The description explicitly explains both parameters: user_google_email and file_name, stating their types and roles. Since the input schema has 0% description coverage, the description fully compensates by providing clear semantics.

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

Purpose5/5

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

The description clearly states the tool's action: it searches for a file by name and checks if public link sharing is enabled. It uses specific verbs and identifies the resource (file), and this is distinct from sibling tools like get_drive_file_permissions or get_drive_shareable_link.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. Sibling tools exist for broader permission checks or link retrieval, but the description does not differentiate usage contexts or mention exclusions.

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

clear_completed_tasksA

Clear all completed tasks from a task list. The tasks will be marked as hidden.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list to clear completed tasks from. dry_run (bool): When True (default), return planned mutation without executing.

Returns: str: Confirmation message.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

Discloses that tasks are 'marked as hidden' rather than deleted, but lacks details on authentication needs, rate limits, or reversibility. With no annotations, the description carries full burden but only partially fulfills it.

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?

Main description is two sentences followed by structured Args/Returns. Front-loaded with purpose, but the docstring format adds a few extra lines without being verbose.

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

Completeness3/5

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

Covers purpose, parameters, and basic behavior (hidden). With output schema present, return values are already documented. Lacks context on permissions, side effects, or restoration of hidden tasks, making it slightly incomplete.

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

Parameters4/5

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

Schema description coverage is 0%, but the description explicitly lists each parameter with its purpose, default for dry_run, and required status, adding significant meaning beyond the raw 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?

Clearly states 'Clear all completed tasks from a task list' with specific verb and resource. Distinguishes from siblings like delete_task or update_task by focusing on completed tasks as a group.

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?

Describes the action but does not explicitly state when to use vs alternatives (e.g., delete_task for individual tasks). The dry_run parameter implies testing, but no direct 'use this when' guidance.

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

complete_google_authA

Complete Google OAuth after start_google_auth.

Preferred input is callback_url (the full redirected URL copied from the browser). Fallback input supports (authorization_code, state) when full callback URL is unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYes
user_google_emailYes
callback_urlNo
authorization_codeNo
stateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It mentions input methods but does not disclose side effects (e.g., token creation/overwrite), error conditions, or idempotency. Vague about what happens on repeated calls.

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?

Extremely concise (two sentences) with front-loaded purpose and no wasted words. Efficient for an AI agent to parse.

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?

Covers the OAuth completion flow and input methods. Mentions prerequisite start_google_auth. But omits details on output (despite output schema existing) and does not explain required parameters. Somewhat incomplete for a complex auth flow.

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?

Low schema coverage (0%) but description adds meaning for three parameters (callback_url preference, fallback others). However, required parameters service_name and user_google_email are not explained, leaving gaps.

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?

Description clearly states the tool completes Google OAuth after start_google_auth, using a specific verb and resource. It distinguishes from sibling start_google_auth and explains preferred vs fallback input.

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?

Describes preferred input (callback_url) and fallback (authorization_code + state) with clear conditions. Implies usage after start_google_auth, but lacks explicit when-not-to-use or comparison to other auth tools.

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

create_deploymentA

Create an Apps Script deployment.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. description: Deployment description. version_number: Version number for deployment (must be >= 1). dry_run: Preview deployment creation without mutation. Defaults to True.

Returns: str: Confirmation of preview or deployment creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
descriptionYes
version_numberYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, so description details behavior: dry_run default creates preview, returns confirmation string, version_number must be >=1. Discloses the dry run vs actual mutation distinction.

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

Conciseness4/5

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

Two sentences plus args list; action is front-loaded. Some redundancy with 'Returns:' line, 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?

Covers inputs and output well for a create tool. Missing prerequisites (e.g., existing script project) and auth requirements, but adequate given 5 params and output schema.

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

Parameters5/5

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

With 0% schema description coverage, description thoroughly explains each parameter: user_google_email required, script_id, description, version_number constraint (>=1), dry_run default. Adds significant meaning beyond 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?

Description clearly states 'Create an Apps Script deployment' with specific verb and resource, distinguishing it from sibling tools like update_deployment and delete_deployment.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like update_deployment or list_deployments. Missing prerequisites or context for creation.

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

create_docA

Creates a new Google Doc and optionally inserts initial content.

When parse_markdown=True (default), the content is parsed as Markdown and converted to native Google Docs formatting (headings, bold, italic, lists, links, code blocks, blockquotes). Set parse_markdown=False to insert content as plain text without any formatting.

Args: user_google_email: User's Google email address. title: The title of the new document. content: Optional initial content. Interpreted as Markdown by default. parse_markdown: If True (default), parse content as Markdown and apply formatting. If False, insert content as plain text. checklist_mode: Checklist rendering mode for markdown task lists: unicode (default) or native. mention_mode: Mention rendering mode for markdown mentions: text (default) or person_chip. dry_run: When True (default), preview create/update actions without executing them.

Returns: str: Confirmation message with document ID and link.

Examples: # Create doc with Markdown content (default behavior) create_doc(title="My Doc", content="# Heading\n\nBold text")

# Create doc with native checklist bullets
create_doc(title="Checklist Doc", content="- [ ] One\n- [x] Two", checklist_mode="native")

# Create doc with plain text (no Markdown parsing)
create_doc(title="Plain Doc", content="# This is literal text", parse_markdown=False)
ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
titleYes
contentNo
parse_markdownNo
checklist_modeNounicode
mention_modeNotext
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It thoroughly describes behavior for parse_markdown, checklist_mode, mention_mode, and dry_run, and includes examples. However, it omits information about required permissions, rate limits, or edge cases like duplicate titles.

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

Conciseness5/5

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

The description is well-structured with Args, Returns, and Examples sections, front-loading the purpose. Every sentence adds value, neither verbose nor terse, making it easy to parse for an AI agent.

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

Completeness5/5

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

Given the tool's complexity (7 parameters, 2 required, output schema exists without return value details), the description is complete. It covers all parameters, return format, and provides practical examples, ensuring the agent can use the tool correctly.

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

Parameters5/5

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

Schema description coverage is 0%, meaning no parameter descriptions in the schema. The description compensates fully by explaining each of the 7 parameters, including defaults, accepted values (e.g., checklist_mode options), and effects with examples. This adds essential meaning beyond the bare schema.

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

Purpose5/5

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

The description clearly states the action ('creates a new Google Doc') and the resource ('Google Doc'), with specific detail about optional initial content. It distinguishes from siblings by focusing on Google Docs creation with markdown parsing, though not explicit about alternatives.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like create_drive_file or update_google_doc. The description explains parameters and behavior but does not provide selection criteria or exclusion cases.

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

create_document_commentC

Create a new comment on a Google Document.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
comment_contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must bear the full burden of behavioral disclosure. It only states the action (create) without mentioning side effects, required permissions, error conditions, or return values. This is insufficient for an agent to predict tool behavior.

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

Conciseness4/5

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

The description is a single, concise sentence with no extraneous words. It front-loads the main action. However, conciseness sacrifices necessary detail; a slightly longer description could improve completeness without losing efficiency.

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 three required parameters and no annotations or output schema details (despite 'Has output schema: true'), the description fails to explain return values, error handling, or parameter relationships. The agent lacks key information to use the tool correctly.

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

Parameters1/5

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

The input schema lists three parameters with zero description coverage. The tool description does not clarify their meanings: for example, what user_google_email represents (e.g., comment author or target user), expected format for comment_content, or constraints on document_id. The agent receives no semantic guidance beyond parameter names.

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

Purpose5/5

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

The description 'Create a new comment on a Google Document' uses a specific verb and resource, clearly distinguishing the tool's action from sibling tools like read_document_comments or reply_to_document_comment. The combination of tool name and description leaves no ambiguity about its purpose.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as create_presentation_comment or create_spreadsheet_comment. It offers no prerequisites, context for use, or exclusions, leaving the agent without decision support.

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

create_drive_fileA

Creates a new file in Google Drive, supporting creation within shared drives. Accepts either direct content or a fileUrl to fetch the content from.

Args: user_google_email (str): The user's Google email address. Required. file_name (str): The name for the new file. content (Optional[str]): If provided, the content to write to the file. folder_id (str): The ID of the parent folder. Defaults to 'root'. For shared drives, this must be a folder ID within the shared drive. mime_type (str): The MIME type of the file. Defaults to 'text/plain'. fileUrl (Optional[str]): If provided, fetches the file content from this URL. Supports file://, http://, and https:// protocols. dry_run (bool): If True, returns a preview and does not create the file. Defaults to True.

Returns: str: Confirmation message of the successful file creation with file link.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_nameYes
contentNo
folder_idNoroot
mime_typeNotext/plain
fileUrlNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the dry_run parameter for preview, file content options, and shared drive support. However, it does not mention what happens if a file with the same name exists or permissions required, which would be beneficial.

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

Conciseness4/5

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

The description is well-structured with a summary line, an Args section, and a Returns line. It is clear and informative, though slightly lengthy due to the number of parameters. No redundant sentences.

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

Completeness4/5

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

Given the 7 parameters and no annotations, the description covers purpose, parameters, and return value. It lacks error scenarios or conflict handling, but for a creation tool, it provides a solid foundation.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description fully compensates by explaining each parameter's purpose, defaults, and constraints (e.g., fileUrl protocols, folder_id for shared drives). This adds significant value beyond the bare schema.

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

Purpose5/5

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

The description clearly states the action 'Creates a new file in Google Drive' and specifies the capability of supporting shared drives, which differentiates it from sibling tools like create_doc or create_sheet. The verb and resource are 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?

The description does not provide guidance on when to use this tool versus alternatives like create_doc or create_spreadsheet. It lacks 'when to use' or 'when not to use' information, nor does it mention context switching.

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

create_eventA

Creates a new event.

Args: user_google_email (str): The user's Google email address. Required. summary (str): Event title. start_time (str): Start time (RFC3339, e.g., "2023-10-27T10:00:00-07:00" or "2023-10-27" for all-day). end_time (str): End time (RFC3339, e.g., "2023-10-27T11:00:00-07:00" or "2023-10-28" for all-day). calendar_id (str): Calendar ID (default: 'primary'). description (Optional[str]): Event description. location (Optional[str]): Event location. attendees (Optional[List[str]]): Attendee email addresses. timezone (Optional[str]): Timezone (e.g., "America/New_York"). attachments (Optional[List[str]]): List of Google Drive file URLs or IDs to attach to the event. add_google_meet (bool): Whether to add a Google Meet video conference to the event. Defaults to False. reminders (Optional[Union[str, List[Dict[str, Any]]]]): JSON string or list of reminder objects. Each should have 'method' ("popup" or "email") and 'minutes' (0-40320). Max 5 reminders. Example: '[{"method": "popup", "minutes": 15}]' or [{"method": "popup", "minutes": 15}] use_default_reminders (bool): Whether to use calendar's default reminders. If False, uses custom reminders. Defaults to True. transparency (Optional[str]): Event transparency for busy/free status. "opaque" shows as Busy (default), "transparent" shows as Available/Free. Defaults to None (uses Google Calendar default). visibility (Optional[str]): Event visibility. "default" uses calendar default, "public" is visible to all, "private" is visible only to attendees, "confidential" is same as private (legacy). Defaults to None (uses Google Calendar default). dry_run (bool): If True, returns a preview and does not create the event. Defaults to True.

Returns: str: Confirmation message of the successful event creation with event link.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
summaryYes
start_timeYes
end_timeYes
calendar_idNoprimary
descriptionNo
locationNo
attendeesNo
timezoneNo
attachmentsNo
add_google_meetNo
remindersNo
use_default_remindersNo
transparencyNo
visibilityNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses critical behaviors: dry_run for preview, default values, time formats, reminder constraints, and return type. However, it does not mention authorization requirements or rate limits.

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

Conciseness4/5

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

The description is long due to detailed parameter docs, but it is well-structured with 'Args' and 'Returns' sections. Every sentence adds value, and the main action is front-loaded. It could be slightly more concise, but is appropriately sized for a complex tool.

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

Completeness5/5

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

Given the high parameter count (16), 0% schema coverage, and presence of output schema, the description is exceptionally complete. It covers all parameters, behaviors like dry_run, and return value, leaving little ambiguity for an agent to invoke correctly.

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

Parameters5/5

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

The schema description coverage is 0%, so the description fully compensates. It provides detailed explanations for all 16 parameters, including formats, examples, defaults, and allowed values (e.g., for reminders and visibility), which is far beyond what the schema alone offers.

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

Purpose5/5

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

The description clearly states 'Creates a new event.' The verb 'creates' and resource 'event' are specific, and the tool is easily distinguished from siblings like delete_event, modify_event, and get_events.

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

Usage Guidelines4/5

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

The description implies usage by detailing all parameters and a dry_run option, but it does not explicitly contrast with modifying or deleting events. However, the sibling tool names provide context, making the purpose clear.

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

create_formC

Create a new form using the title given in the provided form message in the request.

Args: user_google_email (str): The user's Google email address. Required. title (str): The title of the form. description (Optional[str]): The description of the form. document_title (Optional[str]): The document title (shown in browser tab).

Returns: str: Confirmation message with form ID and edit URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
titleYes
descriptionNo
document_titleNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/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 burden. It describes the return value (confirmation with ID and URL), but does not disclose side effects, authentication requirements, rate limits, or what happens if the form already exists. The behavioral transparency is average.

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 description is a standard docstring format with Args and Returns sections. The first sentence is fairly concise but includes the confusing phrase 'provided form message'. The overall length is reasonable, but it could be more streamlined.

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 5 parameters, no annotations, and a complex environment with many sibling tools, the description is incomplete. It does not clarify the dry_run parameter, prerequisites (e.g., Google Forms API access), or the meaning of 'provided form message'. The output schema exists but the description could still benefit from more context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains user_google_email, title, description, and document_title with brief comments. However, it completely omits the dry_run parameter, which is present in the schema but undocumented in the description, creating a significant gap.

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 clearly states it creates a new form using the provided title. The verb 'create' and resource 'form' are explicit, and the sibling tools include other create tools, but the description specifies 'form', distinguishing it. The phrase 'provided form message' is slightly ambiguous but does not obscure the core purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like create_doc or create_sheet. There is no mention of prerequisites, context, or exclusions. The description only states what it does, leaving the agent without selection criteria.

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

create_gmail_filterA

Creates a Gmail filter using the users.settings.filters API.

Args: user_google_email (str): The user's Google email address. Required. criteria (Dict[str, Any]): Criteria for matching messages. action (Dict[str, Any]): Actions to apply to matched messages. dry_run (bool): If True, returns a preview and does not create the filter. Defaults to True.

Returns: str: Confirmation message with the created filter ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
criteriaYesFilter criteria object as defined in the Gmail API.
actionYesFilter action object as defined in the Gmail API.
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 burden. It discloses dry_run behavior (preview vs. creation) and return of a confirmation message. However, it does not mention side effects, authorization needs, or error conditions.

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

Conciseness4/5

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

The description is concise and well-structured with a clear docstring-style format listing arguments and return. Every sentence adds value, though the format is slightly verbose for the context.

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

Completeness4/5

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

Given that an output schema exists (though not shown), the description adequately covers the tool's purpose, key parameters, and dry_run nuance. It lacks some context like error handling or rate limits, but is reasonably complete for a filter creation 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 coverage is 50% (criteria and action have brief descriptions). The description adds value by clarifying user_google_email as required, dry_run default and preview behavior, and the types. It compensates partially for the coverage gap.

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

Purpose5/5

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

The description clearly states 'Creates a Gmail filter using the users.settings.filters API,' providing a specific verb and resource. It distinguishes itself from sibling tools like delete_gmail_filter and list_gmail_filters.

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

Usage Guidelines3/5

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

The description offers no explicit guidance on when to use this tool versus alternatives or when not to use it. The dry_run parameter hints at a testing workflow, but lacks explicit usage scenarios.

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

create_presentationA

Create a new Google Slides presentation.

Args: user_google_email (str): The user's Google email address. Required. title (str): The title for the new presentation. Defaults to "Untitled Presentation".

Returns: str: Details about the created presentation including ID and URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
titleNoUntitled Presentation
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 burden. It mentions creation but does not disclose potential side effects (e.g., file creation in Drive), the role of the dry_run parameter, or any required permissions.

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

Conciseness5/5

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

The description is short (4 sentences) and well-structured with Args and Returns sections, containing no unnecessary information.

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

Completeness3/5

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

The tool is simple with 3 parameters, but the description omits explanation of the dry_run parameter and does not provide enough behavioral context for a creation tool without 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 0%, so the description must compensate. It clarifies the purpose and default of user_google_email and title, but fails to mention the dry_run parameter, which is a significant gap.

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

Purpose5/5

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

The description clearly states 'Create a new Google Slides presentation,' which is a specific verb and resource. It distinguishes from sibling tools like create_doc and create_sheet.

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

Usage Guidelines3/5

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

The description provides basic Args and Returns but does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or context for use.

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

create_presentation_commentC

Create a new comment on a Google Presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes
comment_contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the burden of disclosure but only states it 'creates a new comment'. It does not mention required permissions, side effects (e.g., modification of the presentation), or error conditions.

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, efficient sentence conveys the core purpose with no extraneous information. Every word earns its place.

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

Completeness1/5

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

Despite having an output schema, the description omits any details about return values, error handling, or additional context. For a tool with three required parameters, it is severely incomplete.

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

Parameters1/5

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

The input schema has 0% description coverage, and the description provides no explanation of parameter meanings, formats (e.g., comment_content format), or constraints beyond the schema field names.

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

Purpose5/5

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

The description clearly states the verb 'Create' and resource 'comment on a Google Presentation', distinguishing it from sibling tools like create_document_comment and create_spreadsheet_comment.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, nor any context on prerequisites or exclusions. The description simply states what it does without usage direction.

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

create_script_projectA

Create a new Apps Script project.

Args: user_google_email: The user's Google email address. Required. title: Script project title. parent_id: Optional parent Drive file ID. dry_run: Preview creation without mutation. Defaults to True.

Returns: str: Confirmation of preview or creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
titleYes
parent_idNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that dry_run defaults to True, providing a preview without mutation, and that the return is a confirmation string. However, it lacks details on side effects, permissions, or error cases.

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

Conciseness5/5

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

The description is concise, well-structured with Args/Returns sections, and contains no superfluous information. Every sentence adds value.

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

Completeness4/5

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

Given the tool's complexity and presence of an output schema, the description covers parameter semantics and return type adequately. It lacks contextual guidance on integration with other script tools or error handling, but is sufficient for basic use.

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

Parameters5/5

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

Schema description coverage is 0%, but the description adds meaningful explanations for all four parameters, including default values and required status, compensating fully for the schema gaps.

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

Purpose5/5

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

The description clearly states 'Create a new Apps Script project,' which is a specific verb+resource. It distinguishes from sibling tools like get_script_project, delete_script_project, etc.

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

Usage Guidelines3/5

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

The description does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives. Usage is implied by the tool's purpose.

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

create_sheetA

Creates a new sheet within an existing spreadsheet.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet. Required. sheet_name (str): The name of the new sheet. Required. dry_run (bool): When True (default), return planned sheet creation without mutating the spreadsheet.

Returns: str: Confirmation message of the successful sheet creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
sheet_nameYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses dry_run behavior (default True, returns planned creation without mutation) and return type (confirmation string). Missing details on error conditions (e.g., duplicate sheet name), authentication requirements beyond user_google_email, and potential side effects like renaming existing sheets.

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 structured with a purpose statement, Args list, and Returns note. It is reasonably concise, though the Args section repeats 'Required.' for each parameter, which could be condensed without loss.

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?

Covers basic usage: creating a sheet with given name in a spreadsheet. Describes dry_run behavior and return type. Missing details on error handling (e.g., if sheet name exists), maximum sheets per spreadsheet, or any other constraints. Output schema exists but is not provided; description compensates with text return type.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must explain parameters. It does so in the Args section: each parameter has a brief description, type, and requirement status (e.g., 'Required.'). This adds meaning beyond the bare schema types.

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

Purpose5/5

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

The description clearly states 'Creates a new sheet within an existing spreadsheet,' specifying the verb and resource. It distinguishes from siblings like create_spreadsheet, which creates a new spreadsheet, not a sheet within one.

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

Usage Guidelines3/5

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

The description implies usage by requiring a spreadsheet_id, suggesting the tool is for existing spreadsheets. However, it does not explicitly state when to use or avoid this tool compared to alternatives, such as create_spreadsheet for new spreadsheets or modify_sheet_values for editing cells.

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

create_spreadsheetB

Creates a new Google Spreadsheet.

Args: user_google_email (str): The user's Google email address. Required. title (str): The title of the new spreadsheet. Required. sheet_names (Optional[List[str]]): List of sheet names to create. If not provided, creates one sheet with default name.

Returns: str: Information about the newly created spreadsheet including ID, URL, and locale.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
titleYes
sheet_namesNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It describes the creation process but omits the behavior of the dry_run parameter (default true), which affects whether the spreadsheet is actually created. This is a critical behavioral 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?

The description is well-structured with Args and Returns sections, making it easy to scan. It is concise with no unnecessary sentences, though it could be slightly more compact.

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

Completeness3/5

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

Given the presence of an output schema (not shown) and 4 parameters, the description covers creation purpose, required params, optional sheet_names, and return value. However, the omission of dry_run and lack of error or permission info leave 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 0%, so the description must compensate. It explains user_google_email, title, and sheet_names, adding meaning beyond the schema. However, it fails to mention the dry_run parameter, which is present in the schema with a default of true, reducing completeness.

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

Purpose5/5

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

The description starts with 'Creates a new Google Spreadsheet,' which is a clear verb+resource pair. It effectively distinguishes from siblings like create_doc, create_sheet, and create_drive_file.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., create_sheet, create_drive_file). There is no mention of prerequisites, such as having Google Drive access or the need for user authentication.

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

create_spreadsheet_commentC

Create a new comment on a Google Spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
comment_contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It only states creation without disclosing constraints, error handling, or side effects (e.g., requires write permissions, comment location). Minimal behavioral insight.

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?

Single sentence is concise but lacks necessary detail. Not a model of efficiency as it sacrifices completeness for brevity.

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

Completeness2/5

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

Given no annotations, low parameter info, but presence of output schema could compensate. Description fails to cover return values or error cases, leaving the tool's full behavior unclear.

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

Parameters1/5

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

Schema description coverage is 0%. Description adds no parameter details beyond names. For three required parameters (user_google_email, spreadsheet_id, comment_content), there is no explanation of format, constraints, or role.

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

Purpose5/5

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

The description clearly states the tool creates a new comment on a Google Spreadsheet. It uses specific verb and resource, and distinguishes from sibling tools like read_spreadsheet_comments and reply_to_spreadsheet_comment.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. With many sibling tools for comments (read, reply, resolve), the description lacks context for selection.

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

create_table_with_dataA

Creates a table and populates it with data in one reliable operation.

CRITICAL: YOU MUST CALL inspect_doc_structure FIRST TO GET THE INDEX!

MANDATORY WORKFLOW - DO THESE STEPS IN ORDER:

Step 1: ALWAYS call inspect_doc_structure first Step 2: Use the 'total_length' value from inspect_doc_structure as your index Step 3: Format data as 2D list: [["col1", "col2"], ["row1col1", "row1col2"]] Step 4: Call this function with the correct index and data

EXAMPLE DATA FORMAT: table_data = [ ["Header1", "Header2", "Header3"], # Row 0 - headers ["Data1", "Data2", "Data3"], # Row 1 - first data row ["Data4", "Data5", "Data6"] # Row 2 - second data row ]

CRITICAL INDEX REQUIREMENTS:

  • NEVER use index values like 1, 2, 10 without calling inspect_doc_structure first

  • ALWAYS get index from inspect_doc_structure 'total_length' field

  • Index must be a valid insertion point in the document

DATA FORMAT REQUIREMENTS:

  • Must be 2D list of strings only

  • Each inner list = one table row

  • All rows MUST have same number of columns

  • Use empty strings "" for empty cells, never None

  • Use debug_table_structure after creation to verify results

Args: user_google_email: User's Google email address document_id: ID of the document to update table_data: 2D list of strings - EXACT format: [["col1", "col2"], ["row1col1", "row1col2"]] index: Document position (MANDATORY: get from inspect_doc_structure 'total_length') bold_headers: Whether to make first row bold (default: true) dry_run: When True (default), return planned mutation without executing it

Returns: str: Confirmation with table details and link

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
table_dataYes
indexYes
bold_headersNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It details mandatory workflow, data format requirements, dry_run default behavior, and return value. Could mention potential failure modes or side effects, but otherwise thorough.

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

Conciseness4/5

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

Description is long but well-structured with steps, examples, and emphasis. Every sentence adds value; could be slightly more concise but readability is high.

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

Completeness5/5

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

Given 0% schema coverage, complex parameters (2D list, index dependency), and no annotations, the description is exceptionally complete. It includes mandatory pre-step, data validation rules, and verification step. With output schema present, return description is sufficient.

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

Parameters5/5

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

Schema coverage is 0%, but description explains each parameter thoroughly: table_data format with example, index source from inspect_doc_structure, bold_headers and dry_run defaults. Only user_google_email and document_id are not elaborated, but they are self-explanatory.

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

Purpose5/5

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

The description clearly states it creates a table and populates it with data, distinguishing it from siblings like create_sheet or insert_doc_elements by combining creation and population in one operation.

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?

Provides explicit step-by-step workflow, mandates calling inspect_doc_structure first, and warns against using arbitrary indices. Lacks explicit mention of when not to use this tool versus alternatives like insert_doc_elements.

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

create_taskB

Create a new task in a task list.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list to create the task in. title (str): The title of the task. notes (Optional[str]): Notes/description for the task. due (Optional[str]): Due date in RFC 3339 format (e.g., "2024-12-31T23:59:59Z"). parent (Optional[str]): Parent task ID (for subtasks). previous (Optional[str]): Previous sibling task ID (for positioning).

Returns: str: Confirmation message with the new task ID and details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
titleYes
notesNo
dueNo
parentNo
previousNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 lists parameters and return value but does not disclose side effects, error behavior, or authentication requirements. This is insufficient 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.

Conciseness5/5

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

The description is front-loaded with a clear summary and then lists parameters in a structured format. Every sentence adds value, and the length is appropriate for the number of parameters.

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

Completeness4/5

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

Given the complexity (8 params, no annotations), the description covers the essential information: purpose, all parameters with types/defaults, and return value. It lacks examples or error handling, but the presence of an output schema (return string) helps. Overall fairly complete.

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

Parameters4/5

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

Schema description coverage is 0%, but the description adds meaning for each parameter: user_google_email is explained as required, due date format is given, and optional parameters are noted. However, it lacks explanation of how to obtain task_list_id or relationships between parent/previous.

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 the tool creates a task in a task list, which is a specific verb+resource. The sibling tools include update, delete, and get tasks, so the purpose is clear, though it doesn't explicitly distinguish from siblings.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives (e.g., update_task, move_task). There are no prerequisites, when-to-use, or when-not-to-use instructions.

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

create_task_listC

Create a new task list.

Args: user_google_email (str): The user's Google email address. Required. title (str): The title of the new task list.

Returns: str: Confirmation message with the new task list ID and details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
titleYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 must fully disclose behavioral traits. It only states 'Create a new task list' without mentioning side effects, authentication requirements beyond the email parameter, or whether the operation is safe to repeat. It lacks critical behavioral context 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.

Conciseness3/5

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

The description is structured with Args and Returns sections but is slightly verbose. It could be more concise, e.g., combining the parameter explanations into a single sentence. However, it is not excessively long.

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 3 parameters, no annotations, and an output schema (not shown), the description should provide more context. It mentions the return type but misses the dry_run parameter, lacks usage guidance, and does not explain the overall behavior beyond creation. This is insufficient for a tool of this complexity.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should explain all parameters. It covers user_google_email and title with basic descriptions but completely omits the dry_run parameter (which has a default of true). This is a significant gap, as the agent needs to know the role of dry_run.

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

Purpose5/5

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

The description clearly states 'Create a new task list.' with a specific verb and resource. It distinguishes from sibling tools like create_task, delete_task_list, update_task_list, etc., which have different purposes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as when to create a new list versus updating an existing one. No context about prerequisites or situations where it should not be used.

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

create_versionA

Create a new version for an Apps Script project.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. description: Optional version description. dry_run: Preview version creation without mutation. Defaults to True.

Returns: str: Confirmation of preview or version creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
descriptionNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the creation behavior, optional description, and the dry_run preview mode. However, it omits required permissions, side effects beyond mutation, and error scenarios.

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

Conciseness4/5

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

The description is a docstring with Args and Returns sections, clear and well-structured. It is slightly verbose (6 lines) but efficient. Every sentence adds value.

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

Completeness4/5

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

For a tool with 4 parameters and an output schema, the description covers key behavioral aspects (creation, preview, return type). It lacks discussion of prerequisites, error handling, or permissions, but overall provides sufficient context for correct usage.

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

Parameters5/5

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

Despite 0% schema description coverage, the description fully explains each parameter: user_google_email (required Google email), script_id (project ID), description (optional), and dry_run (default True, preview without mutation). This adds critical meaning beyond the schema's type definitions.

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

Purpose5/5

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

The description clearly states 'Create a new version for an Apps Script project.' It uses a specific verb and resource, distinguishing it from sibling tools like list_versions, get_version, and delete_deployment.

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

Usage Guidelines3/5

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

The description explains the tool's function but provides no guidance on when to use it versus alternative version-related tools. It mentions a dry_run parameter for preview but lacks explicit usage context or exclusions.

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

debug_table_structureA

ESSENTIAL DEBUGGING TOOL - Use this whenever tables don't work as expected.

USE THIS IMMEDIATELY WHEN:

  • Table population put data in wrong cells

  • You get "table not found" errors

  • Data appears concatenated in first cell

  • Need to understand existing table structure

  • Planning to use populate_existing_table

WHAT THIS SHOWS YOU:

  • Exact table dimensions (rows × columns)

  • Each cell's position coordinates (row,col)

  • Current content in each cell

  • Insertion indices for each cell

  • Table boundaries and ranges

HOW TO READ THE OUTPUT:

  • "dimensions": "2x3" = 2 rows, 3 columns

  • "position": "(0,0)" = first row, first column

  • "current_content": What's actually in each cell right now

  • "insertion_index": Where new text would be inserted in that cell

WORKFLOW INTEGRATION:

  1. After creating table → Use this to verify structure

  2. Before populating → Use this to plan your data format

  3. After population fails → Use this to see what went wrong

  4. When debugging → Compare your data array to actual table structure

Args: user_google_email: User's Google email address document_id: ID of the document to inspect table_index: Which table to debug (0 = first table, 1 = second table, etc.)

Returns: str: Detailed JSON structure showing table layout, cell positions, and current content

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
table_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It thoroughly explains what the tool shows (dimensions, coordinates, content, insertion indices) and how to read the output. It implies a read-only operation but does not explicitly confirm side effects or auth requirements.

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

Conciseness4/5

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

The description is well-structured with bold headings, bullet points, and sections. It is front-loaded with urgency and provides valuable detail without redundancy. Slightly verbose but every section earns its place.

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

Completeness4/5

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

For a tool with 3 parameters, no annotations, and an output schema, the description covers purpose, usage, output interpretation, and workflow integration. It lacks error handling details but is otherwise comprehensive.

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?

Parameters are described in the 'Args' section with clear definitions (e.g., 'Which table to debug (0 = first table, etc.)'). Since schema description coverage is 0%, the description compensates by adding meaning beyond type and requirement info.

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

Purpose5/5

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

The description clearly states it is an 'ESSENTIAL DEBUGGING TOOL' for tables, listing specific failure scenarios and what it reveals (dimensions, cell positions, content). It distinguishes itself from sibling tools like 'populate_existing_table' by focusing on debugging and inspection.

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

Usage Guidelines4/5

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

The description provides explicit when-to-use scenarios (e.g., 'table population put data in wrong cells', 'table not found errors') and workflow integration steps. It does not explicitly state when not to use, but the guidance is clear and context-rich.

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

delete_conditional_formattingA

Deletes an existing conditional formatting rule by index on a sheet.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet. Required. rule_index (int): Index of the rule to delete (0-based). sheet_name (Optional[str]): Name of the sheet that contains the rule. Defaults to the first sheet if not provided. dry_run (bool): When True (default), return planned deletion without mutating the sheet.

Returns: str: Confirmation of the deletion and the current rule state.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
rule_indexYes
sheet_nameNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 burden. It discloses the dry_run behavior and return value but does not explicitly emphasize the destructive nature when dry_run is false.

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

Conciseness4/5

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

The description is well-structured with Args and Returns sections, front-loading the purpose. It is appropriately sized but could be slightly more concise.

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

Completeness4/5

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

Given the presence of an output schema and the tool's straightforward nature, the description adequately covers input parameters and return behavior, though more context about the rule state returned could be added.

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

Parameters5/5

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

Schema coverage is 0%, but the description provides detailed explanations for all 5 parameters, including defaults and behavior (e.g., sheet_name defaults to first sheet, dry_run returns planned deletion). This fully compensates for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states it deletes a conditional formatting rule by index on a sheet, with specific verb and resource. This distinguishes it from siblings like 'add_conditional_formatting' and 'update_conditional_formatting'.

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

Usage Guidelines3/5

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

The description implies usage through parameter details but does not explicitly state when to use this tool vs alternatives or provide any when-not-to-use guidance.

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

delete_deploymentA

Delete an Apps Script deployment.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. deployment_id: The deployment ID to delete. dry_run: Preview deletion without mutation. Defaults to True.

Returns: str: Confirmation of preview or deletion.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
deployment_idYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states that the tool deletes a deployment and that dry_run previews without mutation (defaults to True). However, it does not disclose side effects, irreversibility when dry_run is False, or required permissions. The description is adequate but lacks depth.

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

Conciseness5/5

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

The description is concise: one sentence for purpose, then a bullet-like list of arguments. No extraneous information. Front-loaded with the action.

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

Completeness4/5

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

Given that the tool is simple (deletion with a dry run option) and an output schema exists (returning a string), the description covers the essential information. However, it could mention that deletion is irreversible when dry_run is False or that specific permissions are required.

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

Parameters4/5

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

Schema coverage is 0% (no parameter descriptions in the schema), but the description compensates by listing each parameter with a brief explanation: user_google_email (Required, user's email), script_id (project ID), deployment_id (ID to delete), dry_run (preview without mutation, defaults True). This adds meaningful context beyond type and required fields.

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

Purpose5/5

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

The description clearly states 'Delete an Apps Script deployment,' which is a specific verb and resource. It distinguishes itself from siblings like `create_deployment` and `update_deployment` by specifying the delete action.

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 explicit guidance on when to use this tool versus alternatives. While the dry_run parameter hints at preview behavior, there is no mention of prerequisites, when to use delete vs create/update, or when not to use this tool.

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

delete_eventB

Deletes an existing event.

Args: user_google_email (str): The user's Google email address. Required. event_id (str): The ID of the event to delete. calendar_id (str): Calendar ID (default: 'primary'). dry_run (bool): If True, returns a preview and does not delete the event. Defaults to True.

Returns: str: Confirmation message of the successful event deletion.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
event_idYes
calendar_idNoprimary
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior1/5

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

The description lacks transparency: it states 'Deletes an existing event' but the dry_run parameter defaults to True, meaning the default behavior is a preview, not deletion. This contradicts the primary claim and misleads about the tool's action.

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 structured as a clear docstring with Args and Returns sections, front-loading the purpose. It is moderately concise, though the parameter descriptions could be slightly tighter.

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

Completeness3/5

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

The description covers all parameters and return type, but lacks context on error conditions (e.g., event not found), permissions required, and the implications of dry_run=False. The tool's complexity is moderate, so this is acceptable but incomplete.

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 description adds meaning to all four parameters beyond the schema (which has 0% description coverage). It explains the purpose of each parameter, including the dry_run preview behavior, and notes defaults.

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

Purpose5/5

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

The description clearly states it deletes an existing event, using a specific verb and resource. It implicitly distinguishes from sibling tools like create_event and modify_event, which are for adding or altering events.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., modify_event for non-destructive changes). There is no mention of prerequisites like event ownership or required authorization.

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

delete_gmail_filterA

Deletes a Gmail filter by ID.

Args: user_google_email (str): The user's Google email address. Required. filter_id (str): The ID of the filter to delete. dry_run (bool): If True, returns a preview and does not delete the filter. Defaults to True.

Returns: str: Confirmation message for the deletion.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
filter_idYesID of the filter to delete.
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

The description explains the deletion action and the dry_run preview, but lacks disclosure of permissions required, irreversibility, or other side effects. Annotations are absent, so description carries full 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?

The description is concise—two line summary plus clear Args and Returns sections. Every sentence provides necessary information without fluff.

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 3-parameter tool with low schema coverage and no annotations, the description covers all params and return type. With output schema present, it is adequately complete, though behavioral details are missing.

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

Parameters4/5

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

With only 33% schema coverage, the description adds meaning for all parameters: explains user_google_email, filter_id, and especially dry_run's preview behavior. This compensates for schema gaps.

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

Purpose5/5

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

The description clearly states 'Deletes a Gmail filter by ID', which is a specific verb and resource. It distinguishes from sibling tools like create_gmail_filter and list_gmail_filters.

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

Usage Guidelines4/5

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

The description implies when to use (when needing to delete a filter) and mentions dry_run for preview, but does not explicitly discuss alternatives or when not to use.

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

delete_script_projectA

Delete (trash) a standalone Apps Script project by Drive file ID.

Limitation: only standalone script files are supported. Container-bound scripts are not addressable via this Drive-backed deletion path.

Args: user_google_email: The user's Google email address. Required. script_id: Apps Script Drive file ID. dry_run: Preview deletion without mutation. Defaults to True.

Returns: str: Confirmation of preview or deletion.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description discloses that dry_run defaults to True (preview without mutation), and specifies the return type (confirmation string). This provides key behavioral insight beyond the schema.

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

Conciseness5/5

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

The description is well-structured with a clear action line, a limitation note, and an args/returns section. Every sentence adds value without redundancy.

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?

The description covers purpose, limitations, parameters, and return values. For a deletion tool with an output schema, it is nearly complete; minor missing detail is irreversibility, but dry_run minimizes risk.

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

Parameters5/5

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

Schema coverage is 0%, but the description defines each parameter: user_google_email (required), script_id (required), and dry_run (defaults to True, preview). This fully compensates for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the action ('Delete (trash)') and the specific resource ('standalone Apps Script project by Drive file ID'), distinguishing it from sibling tools like create_script_project or delete_deployment.

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

Usage Guidelines4/5

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

The description explicitly notes a limitation ('only standalone script files are supported. Container-bound scripts are not addressable'), guiding when not to use. It also explains the dry_run parameter, but does not name specific alternatives.

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

delete_taskA

Delete a task from a task list.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list containing the task. task_id (str): The ID of the task to delete. dry_run (bool): When True (default), return planned mutation without executing.

Returns: str: Confirmation message.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
task_idYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It discloses mutation and dry_run behavior but lacks details on irreversibility, permissions, or error handling. Adequate but not rich.

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?

Description is concise with Args and Returns sections, no superfluous information. Every sentence adds value.

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 simple delete tool, it covers basic purpose, parameters, and return type. Missing error handling and irreversibility warning, but output schema is provided. Adequate for complexity.

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

Parameters4/5

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

Schema description coverage is 0%, but the description compensates by explaining each parameter's type and role, including the dry_run default and effect. Adds meaning beyond schema.

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

Purpose5/5

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

The description clearly states the tool deletes a task from a task list, distinguishing it from siblings like create_task, update_task, and move_task. The verb 'delete' and resource 'task' are specific.

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 vs alternatives, prerequisites, or when not to use. The description only explains parameters, not context for tool selection.

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

delete_task_listA

Delete a task list. Note: This will also delete all tasks in the list.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list to delete. dry_run (bool): When True (default), return planned mutation without executing.

Returns: str: Confirmation message.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the key destructive behavior (deleting all tasks in the list) and the dry_run behavior. However, it does not mention authentication requirements or reversibility.

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

Conciseness4/5

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

The description is concise with a clear structure: main effect, bulleted args, and return. The return description ('str: Confirmation message') is vague but brief. Overall efficient, though word count is acceptable.

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

Completeness4/5

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

Given the tool's complexity (destructive, 3 params, no annotations), the description covers the essential effect and dry_run behavior. The output schema exists, so detailed return explanation is unnecessary. It is reasonably 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?

Schema description coverage is 0%, so the description must compensate. It explains the dry_run parameter's role but provides minimal detail for user_google_email and task_list_id beyond what the schema already indicates. The added value is average.

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

Purpose5/5

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

The description clearly states 'Delete a task list' and notes the cascading deletion of all tasks in the list. This specific verb+resource distinguishes it from sibling tools like delete_task and clear_completed_tasks.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like delete_task or clear_completed_tasks. The dry_run parameter is mentioned but not elaborated on for usage context.

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

download_doc_tabsB

Download a Google Doc using "Hybrid Split-Sync". Creates a folder containing:

  1. _Full_Export.md: The entire doc as Markdown (High Fidelity).

  2. [TabName].md: Raw text content of each individual tab.

Args: user_google_email: The user's Google email address. Required. local_dir: Local directory to save files into. file_id: The Google Drive file ID or its search alias (e.g. "A"). dry_run: If True (default), return planned tab-download operation without local writes.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
local_dirYes
file_idYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

The description explains the dry_run parameter behavior and output files, but fails to disclose important behavioral traits like authentication requirements, potential modifications (none), or error handling. Without annotations, the description should provide more context.

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

Conciseness4/5

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

The description is concise and front-loaded with the core functionality. The bullet-pointed output structure is clear, though the Args section could be integrated more efficiently. No redundant information.

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

Completeness3/5

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

The description covers purpose, output files, and parameter meanings with examples. However, it lacks usage context (when to use vs siblings), prerequisites (auth), and error scenarios. The presence of an output schema partially compensates for return value details.

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 Args section explains each parameter's purpose, provides an example for file_id (search alias 'A'), and indicates defaults for dry_run. This adds significant meaning beyond the input schema, which only defines types and required fields.

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

Purpose5/5

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

The description clearly states the tool downloads a Google Doc using 'Hybrid Split-Sync' and specifies the exact output structure (folder with _Full_Export.md and [TabName].md files). This distinguishes it from sibling tools like download_google_doc and export_doc_to_pdf.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., download_google_doc, export_doc_to_pdf). The description does not mention prerequisites, such as required Google authentication or file accessibility.

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

download_google_docA

Download content from a linked Google Doc and SAVE it to a local file. SAFETY: Defaults to dry_run=True. Usage must explicitly set dry_run=False to apply changes.

Args: user_google_email: The user's Google email address. Required. local_path: Path to the local file. format: Output format ('markdown', 'html', 'pdf', 'docx'). include_comments: If True, append comments to the end. rewrite_links: If True, rewrite internal doc links to local file links. dry_run: If True (default), return a diff of changes (for text/markdown) or preview. Set False to save.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
local_pathYes
formatNomarkdown
include_commentsNo
rewrite_linksNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses the dry_run behavior, providing a diff/preview format, and explains all parameters. It does not mention auth or rate limits, but the safety aspect is well-covered.

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

Conciseness4/5

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

The description is concise (about 150 words) and front-loaded with the purpose. It uses a clear 'Args:' label to list parameters. While slightly verbose in the safety warning, it remains efficient and well-structured.

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?

The description covers purpose, parameters, and safety behavior comprehensively. It lacks details on return value structure (beyond dry_run) and potential errors, but the presence of an output schema might compensate. Given no annotations, it is fairly complete for a download tool.

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

Parameters5/5

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

With 0% schema description coverage, the description adds crucial semantics for all 6 parameters, including the required user_google_email, format options, behavior of include_comments, rewrite_links, and the critical dry_run parameter. This far exceeds the schema's default values.

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

Purpose5/5

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

The description clearly states the tool's action: 'Download content from a linked Google Doc and SAVE it to a local file.' This distinguishes it from siblings like get_doc_content (which retrieves content without saving) or export_doc_to_pdf (which exports to PDF but not necessarily to a local path).

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

Usage Guidelines4/5

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

The description highlights the safety default (dry_run=True) and the requirement to explicitly set dry_run=False to apply changes. This provides clear usage guidance. However, it does not explicitly compare to siblings like export_doc_to_pdf or download_doc_tabs, but the purpose itself implies saving to a local file is the key differentiator.

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

draft_gmail_messageA

Creates a draft email in the user's Gmail account. Supports both new drafts and reply drafts.

Args: user_google_email (str): The user's Google email address. Required. subject (str): Email subject. body (str): Email body (plain text). body_format (Literal['plain', 'html']): Email body format. Defaults to 'plain'. to (Optional[str]): Optional recipient email address. Can be left empty for drafts. cc (Optional[str]): Optional CC email address. bcc (Optional[str]): Optional BCC email address. thread_id (Optional[str]): Optional Gmail thread ID to reply within. When provided, creates a reply draft. in_reply_to (Optional[str]): Optional Message-ID of the message being replied to. Used for proper threading. references (Optional[str]): Optional chain of Message-IDs for proper threading. Should include all previous Message-IDs.

Returns: str: Confirmation message with the created draft's ID.

Examples: # Create a new draft draft_gmail_message(subject="Hello", body="Hi there!", to="user@example.com")

# Create a plaintext draft with CC and BCC
draft_gmail_message(
    subject="Project Update",
    body="Here's the latest update...",
    to="user@example.com",
    cc="manager@example.com",
    bcc="archive@example.com"
)

# Create a HTML draft with CC and BCC
draft_gmail_message(
    subject="Project Update",
    body="<strong>Hi there!</strong>",
    body_format="html",
    to="user@example.com",
    cc="manager@example.com",
    bcc="archive@example.com"
)

# Create a reply draft in plaintext
draft_gmail_message(
    subject="Re: Meeting tomorrow",
    body="Thanks for the update!",
    to="user@example.com",
    thread_id="thread_123",
    in_reply_to="<message123@gmail.com>",
    references="<original@gmail.com> <message123@gmail.com>"
)

# Create a reply draft in HTML
draft_gmail_message(
    subject="Re: Meeting tomorrow",
    body="<strong>Thanks for the update!</strong>",
    body_format="html,
    to="user@example.com",
    thread_id="thread_123",
    in_reply_to="<message123@gmail.com>",
    references="<original@gmail.com> <message123@gmail.com>"
)
ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
subjectYesEmail subject.
bodyYesEmail body (plain text).
body_formatNoEmail body format. Use 'plain' for plaintext or 'html' for HTML content.plain
toNoOptional recipient email address.
ccNoOptional CC email address.
bccNoOptional BCC email address.
thread_idNoOptional Gmail thread ID to reply within.
in_reply_toNoOptional Message-ID of the message being replied to.
referencesNoOptional chain of Message-IDs for proper threading.
dry_runNoIf True, returns a preview and does not create the draft. Defaults to True.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

The description omits the 'dry_run' parameter, which defaults to true and controls whether an actual draft is created or just a preview. This is a critical behavioral detail not disclosed. No annotations are provided, so the description carries full burden but fails to be transparent.

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

Conciseness4/5

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

The description is well-structured with a summary, parameter list, returns, and examples. The examples are comprehensive but somewhat verbose. The omission of the 'dry_run' parameter from the parameter list is a structural flaw.

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

Completeness3/5

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

Given 11 parameters, 3 required, and no annotations, the description covers most parameters with good detail. However, the missing 'dry_run' parameter and lack of information about side effects or rate limits leave gaps. The output schema is mentioned but not detailed.

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 description adds value beyond the schema by explaining threading parameters (thread_id, in_reply_to, references) and providing examples. However, it omits the 'dry_run' parameter entirely, which is a significant gap. Schema coverage is 91% but the missing parameter lowers the score.

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

Purpose5/5

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

The description clearly states it creates a draft email in the user's Gmail account, supporting both new and reply drafts. It distinguishes from sibling tools like 'send_gmail_message' and 'modify_gmail_message_labels' by its focus on drafting.

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

Usage Guidelines4/5

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

The description provides detailed parameters and examples covering various usage scenarios (new draft, reply draft, with CC/BCC, HTML body). However, it lacks explicit guidance on when to use this tool versus alternatives like 'send_gmail_message' or when not to use it.

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

export_doc_to_pdfA

Exports a Google Doc to PDF format and saves it to Google Drive.

Args: user_google_email: User's Google email address document_id: ID of the Google Doc to export pdf_filename: Name for the PDF file (optional - if not provided, uses original name + "_PDF") folder_id: Drive folder ID to save PDF in (optional - if not provided, saves in root)

Returns: str: Confirmation message with PDF file details and links

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
pdf_filenameNo
folder_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided; description carries full burden. It explains export and save action, optional parameters, and return type, but lacks details on file overwrite behavior or authentication requirements.

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?

Concise, well-structured with Args/Returns format. No unnecessary sentences.

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

Completeness4/5

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

Covers purpose, parameters, and return value. Lacks edge cases or error handling, but output schema exists to supplement return info.

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

Parameters4/5

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

Schema coverage is 0%, but description adds clear meanings for all 4 parameters, including defaults for optional ones (e.g., pdf_filename defaults to original name + '_PDF').

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?

Description clearly states 'Exports a Google Doc to PDF format and saves it to Google Drive,' with a specific verb and resource. It distinguishes from siblings like download_google_doc and create_drive_file.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., download_google_doc). Only explains optional parameters, not context for selection.

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

find_and_replace_docA

Finds and replaces text throughout a Google Doc.

Args: user_google_email: User's Google email address document_id: ID of the document to update find_text: Text to search for replace_text: Text to replace with match_case: Whether to match case exactly dry_run: When True (default), return planned mutation without executing it

Returns: str: Confirmation message with replacement count

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
find_textYes
replace_textYes
match_caseNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It explains the dry_run behavior and return value, but does not disclose potential side effects like formatting changes or auth requirements beyond the email parameter.

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

Conciseness4/5

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

The description is a single sentence followed by a structured Args/Returns section. It is clear and efficient, though the Args section could be slightly more concise.

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 6 parameters, no nested objects, and an output schema, the description covers the core behavior (find and replace) and the dry_run feature. It lacks details on prerequisites or regex support, but is sufficient for basic use.

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 covers 0% of parameter descriptions, but the Args section provides brief explanations for all 6 parameters (e.g., 'Text to search for'). This adds meaning beyond the schema structure.

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

Purpose5/5

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

The description clearly states the action 'finds and replaces text' and the resource 'Google Doc'. It distinguishes itself from sibling tools like 'modify_doc_text' through the explicit find-and-replace mechanism.

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

Usage Guidelines4/5

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

The description includes a dry_run parameter that defaults to True, indicating the tool can be used safely for previewing changes. However, it does not explicitly contrast with alternatives like 'modify_doc_text' or provide when-not-to-use guidance.

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

format_sheet_rangeA

Applies formatting to a range: background/text color and number/date formats.

Colors accept hex strings (#RRGGBB). Number formats follow Sheets types (e.g., NUMBER, NUMBER_WITH_GROUPING, CURRENCY, DATE, TIME, DATE_TIME, PERCENT, TEXT, SCIENTIFIC). If no sheet name is provided, the first sheet is used.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet. Required. range_name (str): A1-style range (optionally with sheet name). Required. background_color (Optional[str]): Hex background color (e.g., "#FFEECC"). text_color (Optional[str]): Hex text color (e.g., "#000000"). number_format_type (Optional[str]): Sheets number format type (e.g., "DATE"). number_format_pattern (Optional[str]): Optional custom pattern for the number format. dry_run (bool): When True (default), return planned formatting without mutating the sheet.

Returns: str: Confirmation of the applied formatting.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
range_nameYes
background_colorNo
text_colorNo
number_format_typeNo
number_format_patternNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Since no annotations exist, the description carries the full burden. It discloses that the tool can mutate the sheet (with dry_run defaulting to true), explains color and number format types, and notes default sheet usage. However, it does not specify whether formatting is additive or overwriting, nor does it mention required permissions or rate limits.

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

Conciseness4/5

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

The description is well-structured with a brief summary paragraph followed by a clear Args list. It is appropriately sized for the 8-parameter tool and front-loads the purpose. Minor redundancy (e.g., repeating 'Required' in param descriptions could be trimmed) 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?

Given the tool's complexity (8 params, no annotations), the description covers all parameters, return type, and dry_run behavior. The presence of an output schema reduces the need to detail return values. Missing: error scenarios or effect on existing formatting, but still fairly complete for its class.

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

Parameters5/5

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

With 0% schema description coverage, the description compensates fully by explaining every parameter in the Args section, including types, defaults, and optionality. For example, it clarifies that background_color accepts hex strings and number_format_type uses Sheets-defined types. This exceeds the baseline expectation.

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?

Description clearly states the action ('Applies formatting to a range') and the resources (background/text color, number/date formats). It is specific enough to distinguish this tool from value-modifying siblings like modify_sheet_values, though no explicit differentiation is given.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternative formatting tools (e.g., add_conditional_formatting) or when not to use it. The description implies usage for formatting ranges but lacks explicit context or exclusion criteria.

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

get_doc_contentA

Retrieves content of a Google Doc or a Drive file (like .docx) identified by document_id.

  • Native Google Docs: Fetches content via Docs API.

  • Office files (.docx, etc.) stored in Drive: Downloads via Drive API and extracts text.

Returns: str: The document content with metadata header.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, description provides behavioral details: for native Docs uses Docs API, for Office files downloads via Drive API and extracts text. Also mentions return includes metadata header. Lacks info on permissions or error handling, but adequate for a read 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?

Description is concise, uses a short paragraph and bullet points to explain file type handling and return format. Every sentence adds value; no wasted words.

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

Completeness4/5

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

Given two file types, schema with 2 required params, and presence of output schema, description covers behavior for different file types and return format. Missing error handling or prerequisites, but sufficient for typical use.

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 has 2 params (user_google_email, document_id) with 0% description coverage. Description explains document_id identifies the file, but user_google_email is not described, leaving it ambiguous. Adds partial meaning but not complete.

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?

Description clearly states the tool retrieves content of Google Docs or Drive files (like .docx) using document_id. It distinguishes from siblings like get_drive_file_content and download_google_doc by specifying handling of both native Docs and Office files.

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?

Description implies usage for reading doc content from Docs or Drive, but does not explicitly state when to use vs alternatives like get_drive_file_content or download_google_doc. No guidance on exclusions or when not to use.

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

get_drive_file_contentA

Retrieves the content of a specific Google Drive file by ID, supporting files in shared drives.

• Native Google Docs, Sheets, Slides → exported as text / CSV. • Office files (.docx, .xlsx, .pptx) → unzipped & parsed with std-lib to extract readable text. • Any other file → downloaded; tries UTF-8 decode, else notes binary.

Args: user_google_email: The user's Google email address. file_id: Drive file ID.

Returns: str: The file content as plain text with metadata header.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses export behavior for native Google apps, parsing for Office files, and fallback for other files. It also notes the return format includes a metadata header. This provides good transparency beyond just a generic 'get content' statement.

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

Conciseness4/5

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

The description is well-structured with a main sentence followed by bullet points for file handling. It is front-loaded with the core purpose. While a bit detailed, it efficiently covers multiple scenarios without unnecessary verbosity.

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

Completeness4/5

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

Given the output schema exists (though not visible), the description covers return format as plain text with metadata header. It explains handling for various file types, which is comprehensive for a file content retrieval tool. It could mention authentication or size limits, but the core completeness is strong.

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?

The input schema has no descriptions (0% coverage), so the description adds meaning by labeling user_google_email as the user's Google email and file_id as the Drive file ID. These are minimal but sufficient given the self-explanatory parameter names.

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

Purpose5/5

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

The description clearly states it retrieves content of a specific Google Drive file by ID, supporting shared drives. The verb 'Retrieves' and resource 'content' are specific, and it distinguishes from siblings like get_drive_file_download_url or get_doc_content by focusing on content extraction.

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

Usage Guidelines4/5

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

The description provides detailed context on when to use the tool by explaining how different file types are handled (Google Docs, Office files, etc.). It implies use for text extraction but does not explicitly contrast with alternatives like get_doc_content or download_doc_tabs, so it's clear but not exhaustive.

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

get_drive_file_download_urlA

Gets a download URL for a Google Drive file. The file is prepared and made available via HTTP URL.

For Google native files (Docs, Sheets, Slides), exports to a useful format: • Google Docs → PDF (default) or DOCX if export_format='docx' • Google Sheets → XLSX (default) or CSV if export_format='csv' • Google Slides → PDF (default) or PPTX if export_format='pptx'

For other files, downloads the original file format.

Args: user_google_email: The user's Google email address. Required. file_id: The Google Drive file ID to get a download URL for. export_format: Optional export format for Google native files. Options: 'pdf', 'docx', 'xlsx', 'csv', 'pptx'. If not specified, uses sensible defaults (PDF for Docs/Slides, XLSX for Sheets).

Returns: str: Download URL and file metadata. The file is available at the URL for 1 hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes
export_formatNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the file is prepared and available via HTTP URL for 1 hour, and explains export behavior for native files. It does not mention any destructive effects or auth requirements beyond the email parameter, which is acceptable for a read-like operation.

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

Conciseness5/5

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

The description is well-structured with a clear first sentence, followed by bullet points for export options. It is concise yet covers all necessary details without fluff. Every sentence adds value.

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

Completeness4/5

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

Given the tool's moderate complexity and the presence of an output schema (as per context signals), the description adequately explains the return value (str with download URL and metadata) and the 1-hour availability. It could mention what 'file metadata' includes, but it is acceptable.

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

Parameters5/5

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

Despite 0% schema coverage, the description adds full parameter semantics: required fields user_google_email and file_id are explained, and export_format is described with explicit options and default behaviors (PDF for Docs/Slides, XLSX for Sheets). This compensates completely for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states 'Gets a download URL for a Google Drive file' with specific verb and resource. It distinguishes from siblings like get_drive_file_content by explaining it returns a URL, not the content. The details on export formats for different file types further clarify purpose.

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

Usage Guidelines4/5

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

The description explains when to use this tool (to get a download URL) and notes that the URL is valid for 1 hour. However, it does not explicitly compare to alternatives like get_drive_file_content or mention when not to use this tool. Still, the context is clear enough for an agent.

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

get_drive_file_permissionsA

Gets detailed metadata about a Google Drive file including sharing permissions.

Args: user_google_email (str): The user's Google email address. Required. file_id (str): The ID of the file to check permissions for.

Returns: str: Detailed file metadata including sharing status and URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that it returns metadata including sharing status and URLs, but does not mention authentication needs, error cases, or any side effects. Adequate but not rich.

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?

Description is concise: one sentence plus structured Args/Returns. Front-loaded with purpose. No wasted words, though the Args/Returns block could be slightly more integrated.

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

Completeness4/5

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

Given 2 simple params and existence of output schema, description covers purpose and parameter meanings. It does not elaborate on output schema but that's acceptable. Overall complete for a straightforward 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 coverage is 0%, so description adds meaning. It explains user_google_email as the user's email and file_id as the file ID. However, it does not clarify why the email is needed (e.g., to check permissions for that user), leaving some ambiguity.

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

Purpose5/5

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

The description clearly states the tool gets detailed metadata including sharing permissions, with a specific verb and resource. It distinguishes from siblings like get_drive_file_content (content) and check_drive_file_public_access (check public access).

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. Among siblings, there are more specific tools like check_drive_file_public_access, but the description does not provide context for selection.

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

get_eventsA

Retrieves events from a specified Google Calendar. Can retrieve a single event by ID or multiple events within a time range. You can also search for events by keyword by supplying the optional "query" param.

Args: user_google_email (str): The user's Google email address. Required. calendar_id (str): The ID of the calendar to query. Use 'primary' for the user's primary calendar. Defaults to 'primary'. Calendar IDs can be obtained using list_calendars. event_id (Optional[str]): The ID of a specific event to retrieve. If provided, retrieves only this event and ignores time filtering parameters. time_min (Optional[str]): The start of the time range (inclusive) in RFC3339 format (e.g., '2024-05-12T10:00:00Z' or '2024-05-12'). If omitted, defaults to the current time. Ignored if event_id is provided. time_max (Optional[str]): The end of the time range (exclusive) in RFC3339 format. If omitted, events starting from time_min onwards are considered (up to max_results). Ignored if event_id is provided. max_results (int): The maximum number of events to return. Defaults to 25. Ignored if event_id is provided. query (Optional[str]): A keyword to search for within event fields (summary, description, location). Ignored if event_id is provided. detailed (bool): Whether to return detailed event information including description, location, attendees, and attendee details (response status, organizer, optional flags). Defaults to False. include_attachments (bool): Whether to include attachment information in detailed event output. When True, shows attachment details (fileId, fileUrl, mimeType, title) for events that have attachments. Only applies when detailed=True. Set this to True when you need to view or access files that have been attached to calendar events, such as meeting documents, presentations, or other shared files. Defaults to False.

Returns: str: A formatted list of events (summary, start and end times, link) within the specified range, or detailed information for a single event if event_id is provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
calendar_idNoprimary
event_idNo
time_minNo
time_maxNo
max_resultsNo
queryNo
detailedNo
include_attachmentsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Without annotations, the description comprehensively explains behavior: parameter interactions (ignoring time filters and other params when event_id provided), defaults, dependency of include_attachments on detailed, and output formatting. It could mention error handling or edge cases like no events found, but overall it is transparent.

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

Conciseness4/5

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

The description is well-structured with a clear one-line summary followed by parameter descriptions and return value. While it is relatively long, every sentence adds value. It could be slightly more concise, but the organization makes it easy to scan.

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

Completeness5/5

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

Given the complexity of 9 parameters (1 required) and no annotations, the description is thorough. It explains all parameters, their interactions, defaults, and output format. It references list_calendars for calendar IDs, which helps with prerequisite knowledge. No major gaps are present.

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

Parameters5/5

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

The schema has 0% description coverage, so the description carries the full burden. It adds significant meaning: explains formats (RFC3339 for time_min/max), defaults (time_min defaults to current time when omitted), interactions (event_id overrides time filters), and the dependency chain for include_attachments. This far exceeds what the raw schema provides.

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

Purpose5/5

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

The description explicitly states it retrieves events from a specified Google Calendar, distinguishes between single event retrieval by ID and multiple events within a time range, and mentions keyword search. The verb 'retrieves' is clear, and the tool is distinct from siblings like create_event, modify_event, and delete_event.

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

Usage Guidelines4/5

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

The description provides guidance on when to use event_id vs time range, explains defaults for time_min (current time), and references list_calendars for obtaining calendar IDs. However, it lacks explicit when-not-to-use scenarios or comparisons with alternative retrieval tools, which would further aid decision-making.

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

get_formB

Get a form.

Args: user_google_email (str): The user's Google email address. Required. form_id (str): The ID of the form to retrieve.

Returns: str: Form details including title, description, questions, and URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description must bear the full burden of behavioral disclosure. It fails to mention permissions, side effects, error handling, or whether the operation is read-only. The agent gets no safety or behavioral clues.

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

Conciseness5/5

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

The description is extremely concise, with the purpose front-loaded in the first line. Every sentence adds value, and the structure (Args/Returns) is clear. There is no unnecessary verbosity.

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

Completeness3/5

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

Given the tool's low complexity and the presence of an output schema, the description covers the essential purpose and parameters. However, it lacks usage context and behavioral details, making it merely adequate for a simple 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?

With 0% schema description coverage, the description adds basic meaning to both parameters: 'user_google_email' is identified as a Google email and 'form_id' as the form ID. However, it lacks additional context like format, source, or constraints, making it minimally adequate.

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 clearly states 'Get a form', specifying the verb and resource. However, it does not explicitly differentiate it from sibling tools like 'get_form_response' or 'create_form', which could lead to confusion for the AI agent.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description lacks any context about prerequisites, scenarios, or exclusions, leaving the agent without decision support.

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

get_form_responseB

Get one response from the form.

Args: user_google_email (str): The user's Google email address. Required. form_id (str): The ID of the form. response_id (str): The ID of the response to retrieve.

Returns: str: Response details including answers and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
form_idYes
response_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden but fails to mention that the operation is read-only, has no side effects, or what happens if the response_id is invalid. It only describes parameters and return type.

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

Conciseness4/5

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

The description is concise, includes an Args section and Returns, and is front-loaded with the main purpose. Every sentence is necessary, but the Args section could be more integrated.

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

Completeness3/5

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

For a simple retrieval tool with 3 parameters and an output schema, the description is mostly adequate but lacks important context like data source dependency and read-only nature. It is minimally complete.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It provides basic parameter labels but does not explain how to obtain form_id or response_id, nor their format or constraints.

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

Purpose5/5

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

The description clearly states the tool retrieves one response from a form, which distinguishes it from sibling tools like 'get_form' (form metadata) and 'list_form_responses' (list of responses).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as needing to first list responses to obtain a response_id, or when not to use it.

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

get_gmail_attachment_contentA

Downloads the content of a specific email attachment.

Args: message_id (str): The ID of the Gmail message containing the attachment. attachment_id (str): The ID of the attachment to download. user_google_email (str): The user's Google email address. Required.

Returns: str: Attachment metadata and base64-encoded content that can be decoded and saved.

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idYes
attachment_idYes
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must bear the full burden. It discloses that content is downloaded and returned as base64-encoded metadata, but it does not mention side effects, authorization needs, or error conditions. The description is adequate but not comprehensive.

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

Conciseness5/5

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

The description is succinct and front-loaded with the core purpose. Each sentence provides necessary information without redundancy, earning its place.

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?

Despite no annotations, the description covers the tool's operation, parameters, and return format. It lacks prerequisites and error handling, but given that an output schema exists, the description is fairly complete for a straightforward download tool.

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

Parameters4/5

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

With 0% schema description coverage, the description adds meaning by naming and briefly explaining each parameter (message_id, attachment_id, user_google_email). It clarifies that user_google_email is required, which adds value beyond the schema's mandatory field list.

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

Purpose5/5

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

The description clearly states 'Downloads the content of a specific email attachment,' using a specific verb and resource. It distinguishes from sibling tools like get_gmail_message_content, which deal with message content rather than attachments.

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

Usage Guidelines3/5

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

The description implies usage through parameter requirements (message_id and attachment_id) but does not explicitly state when to use this tool vs alternatives or provide any exclusions. No guidance on prerequisites or context is given.

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

get_gmail_message_contentA

Retrieves the full content (subject, sender, recipients, plain text body) of a specific Gmail message.

Args: message_id (str): The unique ID of the Gmail message to retrieve. user_google_email (str): The user's Google email address. Required.

Returns: str: The message details including subject, sender, recipients (To, Cc), and body content.

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idYes
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description must disclose behavior. It mentions the returned fields but omits authentication requirements, error handling, rate limits, or side effects. Partial transparency.

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 concise paragraphs with front-loaded purpose. Every sentence adds value; no redundancy.

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 simple retrieval tool, description covers purpose, parameters, and return. Lacks error scenarios and auth context, but overall sufficient given the tool's straightforward nature.

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 Args section describes each parameter: message_id as 'The unique ID' and user_google_email as 'The user's Google email. Required.' This adds meaning beyond the schema's type-only specification. Schema description coverage is 0%, so description compensates well.

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

Purpose5/5

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

The description clearly states 'Retrieves the full content (subject, sender, recipients, plain text body) of a specific Gmail message,' specifying the resource and action. It distinguishes from siblings like batch retrieval and thread retrieval by focusing on a single message's content.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like get_gmail_messages_content_batch or get_gmail_thread_content. Usage is implied but lacks context for selection.

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

get_gmail_messages_content_batchA

Retrieves the content of multiple Gmail messages in a single batch request. Supports up to 25 messages per batch to prevent SSL connection exhaustion.

Args: message_ids (List[str]): List of Gmail message IDs to retrieve (max 25 per batch). user_google_email (str): The user's Google email address. Required. format (Literal["full", "metadata"]): Message format. "full" includes body, "metadata" only headers.

Returns: str: A formatted list of message contents including subject, sender, recipients (To, Cc), and body (if full format).

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idsYes
user_google_emailYes
formatNofull

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description adds value by disclosing the batch size limit and format behavior, though it could mention required permissions or error handling.

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

Conciseness5/5

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

The description is concise, front-loaded with the purpose, and uses clear sections (Args, Returns) without redundant 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?

It covers the input parameters and output format, but lacks error handling details or partial failure behavior, which would make it more complete.

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

Parameters4/5

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

The description explains each parameter's purpose and values (e.g., format options), compensating for the 0% schema coverage by adding meaning.

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

Purpose5/5

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

The description clearly states the tool retrieves content of multiple Gmail messages in a single batch request, distinguishing it from single-message siblings like get_gmail_message_content.

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

Usage Guidelines4/5

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

It mentions the batch limit of 25 messages to prevent SSL exhaustion, implying when to use this tool, but does not explicitly exclude single-message use or list alternatives.

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

get_gmail_thread_contentA

Retrieves the complete content of a Gmail conversation thread, including all messages.

Args: thread_id (str): The unique ID of the Gmail thread to retrieve. user_google_email (str): The user's Google email address. Required.

Returns: str: The complete thread content with all messages formatted for reading.

ParametersJSON Schema
NameRequiredDescriptionDefault
thread_idYes
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. The description mentions the required user_google_email implying auth needs, but does not disclose other traits like rate limits or behavior for empty threads.

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?

Concise and well-structured: a clear purpose sentence followed by parameter descriptions and return type, no redundant 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?

Covers the basic details needed for usage: what, what inputs, what output. Could mention edge cases, but adequate for a simple retrieval tool.

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

Parameters4/5

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

Schema coverage is 0%, but the description adds meaningful explanations for both parameters, compensating for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool retrieves the complete content of a Gmail conversation thread, which differentiates it from sibling tools like get_gmail_message_content (single message) and get_gmail_threads_content_batch (batch).

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives; context is implied by the name and description but not stated.

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

get_gmail_threads_content_batchA

Retrieves the content of multiple Gmail threads in a single batch request. Supports up to 25 threads per batch to prevent SSL connection exhaustion.

Args: thread_ids (List[str]): A list of Gmail thread IDs to retrieve. The function will automatically batch requests in chunks of 25. user_google_email (str): The user's Google email address. Required.

Returns: str: A formatted list of thread contents with separators.

ParametersJSON Schema
NameRequiredDescriptionDefault
thread_idsYes
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses the batching behavior and SSL exhaustion prevention, which is helpful. But it omits details on error handling, rate limits, or required authentication scopes.

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

Conciseness5/5

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

The description is concise, comprising a clear purpose statement, a behavioral note, and structured Args/Returns sections. Every sentence provides value without redundancy.

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 simple batch retrieval tool with two parameters, the description covers purpose, batching limit, and parameter semantics. It lacks details on the return format or error scenarios, but is sufficiently complete given the tool's simplicity.

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?

Given 0% schema description coverage, the description compensates by explaining both parameters: thread_ids (with batching info) and user_google_email (required). This adds significant meaning beyond the bare schema.

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

Purpose5/5

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

The description clearly states the action ('Retrieves the content') and the resource ('multiple Gmail threads'), and highlights the batch aspect. This differentiates it from sibling tools like get_gmail_thread_content (single thread) and get_gmail_messages_content_batch (messages, not threads).

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

Usage Guidelines4/5

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

The description mentions batching up to 25 threads and automatic chunking, which implicitly guides usage for multiple threads. However, it does not explicitly name alternative tools for single threads or messages, so it lacks clear exclusion criteria.

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

get_messagesC

Retrieves messages from a Google Chat space.

Returns: str: Formatted messages from the specified space.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
space_idYes
page_sizeNo
order_byNocreateTime desc

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description does not disclose behavioral traits like auth requirements, rate limits, pagination, or side effects. It only states the tool retrieves messages, leaving the agent unaware of operational details.

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

Conciseness4/5

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

The description is very short and to the point, containing only one sentence and the return type. It wastes no words, but conciseness should not come at the expense of completeness.

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 4 parameters, no annotations, and an output schema, the description is insufficient. It fails to explain pagination, ordering, or the meaning of the parameters. The return type is mentioned but not detailed enough for an agent to parse the output.

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

Parameters1/5

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

The description does not mention any parameters. With 0% schema coverage, the parameters have no descriptions in the schema either. The agent gets no help understanding what 'user_google_email' or 'space_id' mean or how to use them.

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 clearly states the tool retrieves messages from a Google Chat space, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like search_messages, which could also retrieve messages but across spaces. Lacks explicit distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when-not to use it. The description only states what the tool does, not when to apply it.

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

get_pageA

Get details about a specific page (slide) in a presentation.

Args: user_google_email (str): The user's Google email address. Required. presentation_id (str): The ID of the presentation. page_object_id (str): The object ID of the page/slide to retrieve.

Returns: str: Details about the specific page including elements and layout.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes
page_object_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states the return format (string with details including elements and layout) but does not disclose other behavioral traits like read-only nature, error behavior, or performance implications.

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 structured with an Args section, making it easy to parse. It is concise with no redundant information, though the Args format adds slight verbosity.

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

Completeness4/5

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

Given the tool's simplicity (3 required params, no enums, no nested objects) and the presence of an output schema in the context, the description adequately covers the tool's purpose, parameters, and return value. Missing are error conditions or edge cases, but it is complete for basic use.

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 input schema has 0% description coverage, but the tool's description explicitly lists and describes each of the three parameters (user_google_email, presentation_id, page_object_id) with their types, adding meaning beyond the schema's unlabeled properties.

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

Purpose5/5

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

The description clearly states 'Get details about a specific page (slide) in a presentation' with a specific verb and resource. It distinguishes from siblings like 'get_presentation' (entire presentation) and 'get_page_thumbnail' (thumbnail image).

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives or prerequisites. The purpose is implicit, but no exclusions or conditions are mentioned.

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

get_page_thumbnailA

Generate a thumbnail URL for a specific page (slide) in a presentation.

Args: user_google_email (str): The user's Google email address. Required. presentation_id (str): The ID of the presentation. page_object_id (str): The object ID of the page/slide. thumbnail_size (str): Size of thumbnail ("LARGE", "MEDIUM", "SMALL"). Defaults to "MEDIUM".

Returns: str: URL to the generated thumbnail image.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes
page_object_idYes
thumbnail_sizeNoMEDIUM

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden. It states the return type but does not disclose whether the operation is read-only, idempotent, or requires specific authentication. Minimal behavioral context beyond input/output.

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

Conciseness5/5

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

The description is extremely concise—one sentence for purpose, then a clear parameter list and return type. No unnecessary words, front-loaded with the primary action.

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

Completeness4/5

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

Given the tool's low complexity (4 params, simple types) and presence of an output schema, the description covers the essential behavior and parameters. However, it lacks details on potential errors or prerequisites.

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 input schema has 0% description coverage, but the description adds inline parameter explanations (e.g., 'user_google_email (str): The user's Google email address. Required.') and specifies default for thumbnail_size. This adds meaningful context 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?

The description clearly states 'generate a thumbnail URL for a specific page (slide) in a presentation', specifying verb and resource. No sibling tool performs a similar function, so it is well-distinguished.

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

Usage Guidelines3/5

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

The description implies usage through its purpose but does not provide explicit guidance on when to use this tool versus alternatives like get_page. No exclusion or alternative tools are mentioned.

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

get_presentationA

Get details about a Google Slides presentation.

Args: user_google_email (str): The user's Google email address. Required. presentation_id (str): The ID of the presentation to retrieve.

Returns: str: Details about the presentation including title, slides count, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It states 'Get details' which implies read-only, but does not mention auth requirements, rate limits, or any side effects. The description is adequate but lacks depth beyond the basic 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?

The description is structured with a main sentence, followed by 'Args:' and 'Returns:' sections. It is front-loaded and clear, though slightly verbose in the 'Args' section. Every sentence adds value.

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

Completeness4/5

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

Given the presence of an output schema (context signals show 'Has output schema: true'), the description does not need to detail the return structure, but it still provides a summary of return contents. Parameters are fully covered, and the tool is simple, so the description is adequately complete.

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

Parameters4/5

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

The schema has 0% description coverage, but the description includes an 'Args' section with brief but clear descriptions for both parameters (e.g., 'The user's Google email address. Required.'). This adds meaning beyond the schema's type-only definitions.

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

Purpose5/5

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

The description clearly states 'Get details about a Google Slides presentation,' which is a specific verb+resource combination. It distinguishes from sibling tools like 'create_presentation' and 'batch_update_presentation' by being a read operation.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives or when not to use it. While it implies reading, there is no guidance on exclusions or alternative tools for similar purposes.

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

get_script_contentB

Get Apps Script project content, optionally pinned to a version.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. version_number: Optional script version number.

Returns: str: Script files and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
version_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden but only states it reads content. It does not disclose authentication needs, error behavior, or rate limits. The mention of 'optionally pinned to a version' is minimal.

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

Conciseness4/5

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

The description is concise (one sentence plus structured Args/Returns) and front-loaded. It avoids verbosity but could be more compact without the redundant 'Args' section.

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

Completeness3/5

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

For a simple 3-parameter read tool with an output schema, the description covers the basic operation and return type. However, it lacks behavioral transparency and usage guidance, leaving gaps for an AI agent.

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 0%, so description compensates by clarifying that user_google_email is required, script_id is required, and version_number is optional. However, it does not provide format or constraint details 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?

The description clearly states it retrieves Apps Script project content with optional version pinning. It distinguishes from siblings like get_script_project (metadata) and get_version (single version details) by focusing on 'content'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., get_script_project, list_versions, run_script_function). It does not specify prerequisites or context.

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

get_script_metricsB

Get Apps Script metrics for a script.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. metrics_granularity: Metrics granularity (DAILY or WEEKLY). metrics_filter_json: Optional JSON object for metrics filter.

Returns: str: Metrics summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
metrics_granularityNoDAILY
metrics_filter_jsonNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It only states 'Get' and returns a 'Metrics summary,' but does not confirm read-only nature, auth requirements, or side effects. The minimal description fails to provide sufficient behavioral clarity.

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 relatively short and includes an Args section with parameter explanations and a Returns line. It is front-loaded with the core action. However, the Args section repeats parameter names unnecessarily, so it could be slightly more concise.

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?

Despite having an output schema, the description only says 'Metrics summary,' leaving the agent without knowledge of the return format or content. With 4 parameters and no schema coverage, the description should provide more detail about what metrics are returned to be complete.

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

Parameters4/5

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

Schema description coverage is 0%, so the description adds essential meaning to each parameter: it explains user_google_email, script_id, metrics_granularity (with allowed values), and metrics_filter_json (optional JSON). This significantly enhances understanding beyond the schema's type-only definitions.

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

Purpose4/5

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

The description clearly states 'Get Apps Script metrics for a script,' which distinguishes it from sibling tools like get_script_content or list_script_processes. However, it does not specify what type of metrics (e.g., execution time, errors) or scope, leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There are no explicit contexts, prerequisites, or comparisons with sibling tools, leaving the agent to 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.

get_script_projectB

Get metadata for an Apps Script project.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID.

Returns: str: Formatted Apps Script project metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states that the tool 'gets metadata', implying a read operation. However, it does not mention authentication requirements, rate limits, or any other behavioral traits beyond the basic read.

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

Conciseness5/5

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

The description is extremely concise at four sentences, with clear sections for Args and Returns. Every sentence adds value without any fluff.

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

Completeness4/5

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

Given the tool's simplicity (two parameters, no nested objects) and that an output schema exists (so return values are documented), the description covers the basics: purpose, parameters, and return type. It is missing usage guidelines, but otherwise 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?

The input schema has 0% description coverage, so the description must compensate. It describes both parameters: 'user_google_email: The user's Google email address. Required.' and 'script_id: The Apps Script project ID.' This adds meaning beyond the schema's type and required fields, but it lacks details like format or how to obtain the script ID.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get metadata for an Apps Script project.' The verb 'get' and resource 'metadata' are specific. There are sibling tools like get_script_content, get_script_metrics, and list_script_projects, which this description helps distinguish by specifying 'metadata'.

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 usage guidance is provided. The description does not indicate when to use this tool over alternatives like get_script_content or list_script_projects. It simply states what it does without context for selection.

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

get_search_engine_infoA

Retrieves metadata about a Programmable Search Engine.

Args: user_google_email (str): The user's Google email address. Required.

Returns: str: Information about the search engine including its configuration and available refinements.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It implies a read operation ('Retrieves') and describes the return type as a string with configuration information, but does not explicitly declare read-only status, auth requirements, or potential side effects.

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

Conciseness5/5

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

The description is brief with no extraneous words. It front-loads the purpose and efficiently documents the parameter and return value.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, read operation), the description provides adequate context: what it retrieves and what it returns. The presence of an output schema (context signal) reduces the need for detailed return description, though error conditions or authentication prerequisites are not mentioned.

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 input schema has 0% description coverage; the description compensates by adding that the parameter 'user_google_email' is required and specifies it is the user's Google email address. For a single parameter, this adds meaningful context beyond 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 clearly states it retrieves metadata about a Programmable Search Engine, using a specific verb and resource. While it doesn't explicitly differentiate from siblings, the tool name and purpose are distinct enough among the large sibling list.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or when to avoid it. The description merely states what it does without contextual usage hints.

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

get_spreadsheet_infoA

Gets information about a specific spreadsheet including its sheets.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet to get info for. Required.

Returns: str: Formatted spreadsheet information including title, locale, and sheets list.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It correctly indicates a read operation and mentions return fields (title, locale, sheets list). However, it does not disclose if authentication is required (though likely) or any rate limits. For a simple getter, it is adequate but not explicit about safety or side effects.

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

Conciseness4/5

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

The description is concise and front-loaded with the main purpose. The Args and Returns sections are standard and well-structured. There is no redundant 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?

Given the tool's low complexity and the presence of an output schema, the description covers the essential information: what it does, required parameters, and return format. It includes the sheets list in the output, which is appropriate for a spreadsheet info tool.

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

Parameters4/5

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

Schema description coverage is 0%, but the description adds meaning by explaining each parameter: 'user_google_email (str): The user's Google email address. Required.' and similarly for spreadsheet_id. This is valuable beyond the bare schema types.

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

Purpose5/5

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

The description clearly states it gets information about a specific spreadsheet including its sheets, with the verb 'Gets' and resource 'spreadsheet information'. This distinguishes it from sibling tools like list_spreadsheets (which lists spreadsheets) and read_sheet_values (which reads cell data).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, auth needs, or scenarios where other getters (like list_spreadsheets) might be more appropriate. The context of sibling tools is ignored.

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

get_taskA

Get details of a specific task.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list containing the task. task_id (str): The ID of the task to retrieve.

Returns: str: Task details including title, notes, status, due date, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
task_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose important behavioral traits such as side effects, authentication needs, rate limits, or error handling (e.g., what happens if the task does not exist).

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

Conciseness4/5

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

The description is front-loaded with the purpose and includes a structured Args/Returns section. It is concise without unnecessary words, though it could be slightly more compact.

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

Completeness4/5

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

Given the tool's simplicity (3 required parameters, no nested objects) and the presence of an output schema (though a simple string), the description adequately covers the tool's functionality. However, it lacks information on error scenarios.

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 input schema has 0% description coverage, but the description provides clear explanations for each parameter (e.g., 'user_google_email (str): The user's Google email address. Required.'), adding significant meaning 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?

The description clearly states the action ('Get') and resource ('details of a specific task'), distinguishing it from sibling tools like list_tasks, update_task, and delete_task.

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

Usage Guidelines3/5

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

The description implies usage context (requires task IDs) but does not explicitly state when to use this tool versus alternatives like list_tasks or update_task.

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

get_task_listB

Get details of a specific task list.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list to retrieve.

Returns: str: Task list details including title, ID, and last updated time.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description does not mention any behavioral traits such as authentication needs, rate limits, or error conditions. Only states that the tool returns details.

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?

Concise docstring format with clear Args and Returns. No wasted words, though slightly verbose with 'Args:' and 'Returns:' sections.

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?

Simple get tool with output schema present. Description mentions return value type but lacks details on error handling, missing IDs, or auth requirements. Adequate but not comprehensive.

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?

Description adds context beyond schema by stating the parameters' purpose and that they are required. Schema had 0% coverage, so description compensates well.

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?

Description clearly states verb 'Get' and resource 'task list'. Differentiates from sibling tools like 'create_task_list' and 'update_task_list'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'list_task_lists'. Does not specify prerequisites or when not to use.

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

get_versionB

Get metadata for a specific Apps Script version.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. version_number: Script version number.

Returns: str: Version metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
version_numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic read operation; no mention of authentication requirements, rate limits, or potential errors.

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 short and front-loaded with purpose, though the 'Args' and 'Returns' section is somewhat redundant with the schema; overall efficient.

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

Completeness3/5

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

For a simple retrieval tool with an output schema, the description provides adequate context by stating it returns 'Version metadata' as a string, but does not elaborate on what the metadata contains or how to interpret it.

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

Parameters3/5

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

Despite 0% schema coverage, the description adds basic meaning to each parameter (e.g., 'user_google_email: The user's Google email address. Required.'), but lacks details on format or source.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'metadata for a specific Apps Script version', distinguishing it from sibling tools like list_versions and create_version.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as list_versions or create_version; lacks any contextual advice.

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

import_google_auth_clientC

Import a Google OAuth client JSON into auth_clients.json and apply script/account/domain mappings.

This is an admin/setup tool for enterprise/private multi-client routing.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_keyYes
oauth_client_json_pathYes
mapped_script_idsNo
mapped_accountsNo
mapped_domainsNo
set_defaultNo
flow_preferenceNoauto

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it imports JSON and applies mappings, but does not disclose side effects (e.g., overwriting existing data), failure modes (e.g., invalid JSON or missing file), or authorization requirements. The output schema exists but is not mentioned; the description adds minimal behavioral context beyond the action.

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

Conciseness4/5

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

The description is concise, consisting of two sentences with no redundant words. The first sentence front-loads the primary action and target, and the second sentence provides context. However, the first sentence could be broken for readability. Overall, it is appropriately sized for the tool's complexity.

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 7 parameters, no annotations, and no parameter descriptions in the schema, the description is insufficient. It does not explain the return structure (though output schema exists), prerequisites, error conditions, or how mappings interact. For an admin/setup tool, more detail is needed to ensure correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the input schema provides no parameter descriptions. The description mentions 'script/account/domain mappings' but only as a generic concept, failing to detail the specific parameters 'mapped_script_ids', 'mapped_accounts', 'mapped_domains', or their types. Parameters like 'set_default' and 'flow_preference' are completely omitted. The description adds limited meaning beyond the parameter names themselves.

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 clearly states the verb 'Import' and the resource 'Google OAuth client JSON into auth_clients.json', along with the additional mappings. It also positions the tool as an admin/setup tool for enterprise/private multi-client routing, which gives context. However, it does not differentiate from the sibling tool 'setup_google_auth_clients', which likely has overlapping functionality.

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 mentions it is an 'admin/setup tool for enterprise/private multi-client routing', implying it's for initial configuration. However, it does not explicitly state when to use it versus alternatives like 'setup_google_auth_clients' or 'start_google_auth'. There are no when-not-to-use guidelines or mention of prerequisites (e.g., availability of OAuth client JSON).

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

insert_doc_elementsA

Inserts structural elements like tables, lists, or page breaks into a Google Doc.

Args: user_google_email: User's Google email address document_id: ID of the document to update element_type: Type of element to insert ("table", "list", "page_break") index: Position to insert element (0-based) rows: Number of rows for table (required for table) columns: Number of columns for table (required for table) list_type: Type of list ("UNORDERED", "ORDERED") (required for list) text: Initial text content for list items dry_run: When True (default), return planned mutation without executing it

Returns: str: Confirmation message with insertion details

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
element_typeYes
indexYes
rowsNo
columnsNo
list_typeNo
textNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It explains the dry_run behavior (returns planned mutation without executing) and the return type (str with confirmation message). However, it does not disclose permissions, reversibility, or error scenarios, which are important 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?

The description is well-structured with clear Args and Returns sections. While it is somewhat verbose, most sentences serve a purpose. A slight reduction in length could improve conciseness, but the current organization is effective.

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

Completeness4/5

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

Given the tool's complexity (9 parameters, 4 required), the description covers all parameters, return type, and the dry_run behavior. It provides sufficient context for an agent to use the tool correctly, though additional constraints (e.g., valid index values) are not detailed.

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

Parameters4/5

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

Schema coverage is 0%, but the description compensates with detailed parameter explanations in the Args section. It clarifies required vs optional parameters and conditions (e.g., 'rows required for table'). This adds meaning beyond the schema's type and default information.

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

Purpose5/5

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

The description clearly states the tool's purpose: inserting structural elements (tables, lists, page breaks) into a Google Doc. It uses a specific verb and resource, and differentiates from sibling tools like insert_doc_image and insert_markdown by focusing on structural elements.

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

Usage Guidelines3/5

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

The description includes the dry_run parameter with default True, indicating a planning mode, but does not explicitly state when to use this tool versus alternatives like batch_update_doc or modify_doc_text. The context is provided but exclusions are absent.

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

insert_doc_imageA

Inserts an image into a Google Doc from Drive or a URL.

Args: user_google_email: User's Google email address document_id: ID of the document to update image_source: Drive file ID or public image URL index: Position to insert image (0-based) width: Image width in points (optional) height: Image height in points (optional) dry_run: When True (default), return planned mutation without executing it

Returns: str: Confirmation message with insertion details

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
image_sourceYes
indexYes
widthNo
heightNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions the dry_run parameter and returns a confirmation message, indicating mutation behavior. However, it lacks disclosure of required permissions, image size limits, or handling of invalid sources.

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 structured with a concise summary line and an Args list, efficiently conveying key information. It maintains clarity without unnecessary verbosity, earning its sentences.

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

Completeness3/5

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

Given no annotations and no output schema, the description covers core functionality and parameters but misses details like required permissions, image type/size constraints, and dry_run behavior (e.g., what 'planned mutation' includes). It is adequate but not fully comprehensive.

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

Parameters4/5

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

With 0% schema description coverage, the description's Args section compensates well, explaining each parameter's purpose (e.g., user_google_email, image_source, index). It adds meaning beyond the schema's type definitions, though it could clarify image_source format further.

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

Purpose5/5

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

The description explicitly states it inserts an image into a Google Doc from Drive or a URL, providing a specific verb, resource, and source distinction. This differentiates from siblings like insert_doc_elements, which may handle other elements.

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

Usage Guidelines3/5

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

The description implies usage for inserting images but does not provide explicit guidance on when to use this tool vs alternatives (e.g., insert_doc_elements) or when not to use it. No exclusions or context are given.

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

insert_markdownA
Insert Markdown-formatted content into a Google Doc.

Converts Markdown syntax (headings, bold, italic, lists, links, code blocks,
blockquotes) into native Google Docs formatting via batchUpdate requests.

Args:
    user_google_email: User's Google email address.
    document_id: ID of the document to update (supports A-Z aliases from search).
    markdown_text: Markdown string to convert and insert.
    index: Document index to start insertion at (1-based, default: 1).
           Index 1 is the start of the document body.
    checklist_mode: Checklist rendering mode for markdown task lists:
                    `unicode` (default) or `native`.
    mention_mode: Mention rendering mode for markdown mentions:
                  `text` (default) or `person_chip`.
    dry_run: When True (default), return planned mutation without executing it

Returns:
    str: Confirmation message with document link and request count.

Example:
    insert_markdown(
        document_id="abc123",
        markdown_text="# Welcome

This is bold and italic text.

  • Item 1

  • Item 2" )

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
markdown_textYes
indexNo
checklist_modeNounicode
mention_modeNotext
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so the description fully covers behavioral traits. It explains the conversion process via batchUpdate requests, defaults for index, checklist_mode, mention_mode, and the dry_run parameter's effect. It discloses return type as a confirmation string with link and request count. Could mention write access requirements or error handling, but overall sufficient.

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

Conciseness4/5

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

The description is well-structured with a front-loaded purpose sentence, followed by an Args/Returns/Example format. It is somewhat lengthy but each sentence adds value. Minor redundancy (e.g., repeated 'Insert Markdown-formatted content') could be trimmed, but overall effective.

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

Completeness5/5

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

Given 7 parameters, no annotations, and an existing output schema, the description provides a complete guide. It covers all parameters, their defaults, the dry_run mode, return value, and an example. Lacks only prerequisites like authentication, but that is implied by the user_google_email parameter. Highly complete for agent use.

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

Parameters5/5

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

Input schema has 0% description coverage, but the description adds detailed semantics for all 7 parameters. It explains index as 1-based with default 1, checklist and mention modes with options, and dry_run's default and purpose. This fully compensates for the schema lack, making each parameter's role clear.

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

Purpose5/5

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

The description clearly states it inserts Markdown-formatted content into a Google Doc, listing specific Markdown elements converted. It distinguishes from siblings like batch_update_doc and insert_doc_elements by specifying Markdown conversion, making the tool's unique purpose clear.

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives. It only states the action without comparing to other document update tools in the sibling list, leaving the agent to infer usage context.

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

inspect_doc_structureA

Essential tool for finding safe insertion points and understanding document structure.

USE THIS FOR:

  • Finding the correct index for table insertion

  • Understanding document layout before making changes

  • Locating existing tables and their positions

  • Getting document statistics and complexity info

CRITICAL FOR TABLE OPERATIONS: ALWAYS call this BEFORE creating tables to get a safe insertion index.

WHAT THE OUTPUT SHOWS:

  • total_elements: Number of document elements

  • total_length: Maximum safe index for insertion

  • tables: Number of existing tables

  • table_details: Position and dimensions of each table

WORKFLOW: Step 1: Call this function Step 2: Note the "total_length" value Step 3: Use an index < total_length for table insertion Step 4: Create your table

Args: user_google_email: User's Google email address document_id: ID of the document to inspect detailed: Whether to return detailed structure information

Returns: str: JSON string containing document structure and safe insertion indices

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
detailedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description must disclose behavior. It explains the output fields (total_elements, total_length, tables, table_details) and the return type (JSON string). It does not mention permissions or side effects, but as an inspection tool, it is safe to assume read-only. Slight lack of detail on authentication or rate limits, but adequate.

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

Conciseness4/5

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

The description is well-structured with clear sections and bullet points. It front-loads the purpose and usage. However, some redundancy exists (workflow steps repeat earlier points), slightly reducing conciseness. Still, it is easy to scan and understand.

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

Completeness4/5

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

Given that an output schema exists (not shown but noted), the description sufficiently explains the return value and its use for table insertion. It covers the key aspects for the intended workflow. Minor gaps: no mention of error handling or output schema details, but overall complete for the tool's role.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description only repeats parameter names without adding meaningful context. The 'Args' section provides no additional semantics beyond what the schema types imply. For example, it does not explain what 'user_google_email' or 'document_id' represent or how to obtain them.

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

Purpose5/5

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

The description clearly states it is for finding safe insertion points and understanding document structure, listing specific use cases like table insertion, layout understanding, and statistics. It distinguishes from sibling tools by emphasizing its role as a prerequisite for table creation.

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

Usage Guidelines5/5

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

The description provides explicit guidance with sections 'USE THIS FOR' and 'WORKFLOW'. It states to ALWAYS call before creating tables, and outlines step-by-step how to use the output. This effectively tells when and how to use the tool.

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

list_calendarsA

Retrieves a list of calendars accessible to the authenticated user.

Args: user_google_email (str): The user's Google email address. Required.

Returns: str: A formatted list of the user's calendars (summary, ID, primary status).

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses the output format (formatted list with summary, ID, primary status) but does not mention any behavioral traits like side effects or limitations.

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

Conciseness5/5

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

The description is very concise with no wasted words. The first sentence states the purpose, and every subsequent line adds value.

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 simple list tool with one parameter and an output schema (not shown), the description sufficiently outlines the output fields. However, it lacks details on pagination or error handling.

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 parameter description explains that user_google_email is the user's Google email and that it is required. This adds meaning beyond the schema's type-only definition, compensating for 0% schema description coverage.

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

Purpose5/5

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

The description clearly states the verb 'Retrieves' and the resource 'a list of calendars'. It distinguishes from sibling tools as there is no other calendar-listing tool in the list.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions or when not to use it.

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

list_deploymentsA

List deployments for an Apps Script project.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. page_size: Number of results to return. Defaults to 50. page_token: Optional pagination token.

Returns: str: Deployment list summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description lacks disclosure of behavioral traits such as idempotency, required permissions, or pagination behavior. It only notes that the return is a string summary.

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

Conciseness4/5

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

The description is concise and follows a clear Args/Returns structure. It is not overly verbose, though the formatting could be slightly more direct for an AI agent.

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

Completeness3/5

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

Given the parameter count and lack of annotations, the description provides a basic overview but does not fully address pagination mechanics or the structure of the returned summary. An output schema exists but is not detailed in the description.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates by explaining each parameter: user_google_email (required), script_id, page_size (default 50), and page_token (optional). It adds meaning beyond the raw schema but could include more detail on page_token usage.

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

Purpose5/5

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

The description clearly states 'List deployments for an Apps Script project', using a specific verb and resource. It distinguishes from sibling tools like create_deployment, delete_deployment, and update_deployment.

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

Usage Guidelines3/5

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

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention contexts where it would be inappropriate. It only implies the core functionality.

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

list_docs_in_folderC

Lists Google Docs within a specific Drive folder.

Returns: str: A formatted list of Google Docs in the specified folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
folder_idNoroot
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 must carry the full burden. It mentions only that it returns a formatted list but omits behaviors such as pagination (despite a page_size parameter), authentication needs, or error handling. The description is minimal.

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

Conciseness5/5

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

The description is brief (two sentences) and front-loaded with the main action. Every word serves a purpose, with no extraneous content.

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?

Despite having an output schema (not provided), the description lacks important context: it does not explain the default folder ('root') or the role of page_size. Authentication requirements are omitted. For a simple list tool, key details are missing.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no meaning to the parameters. It does not explain 'user_google_email', 'folder_id', or 'page_size' beyond their names. The baseline for low coverage requires the description to compensate, but it fails.

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

Purpose5/5

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

The description clearly states the action ('Lists Google Docs') and the scope ('within a specific Drive folder'). It distinguishes from siblings like 'list_drive_items' (which lists all items) and 'search_drive_files' (which searches rather than lists).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention usage conditions, prerequisites, or contrast with siblings like 'search_drive_files' for filtering.

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

list_drive_itemsA

Lists files and folders, supporting shared drives. If drive_id is specified, lists items within that shared drive. folder_id is then relative to that drive (or use drive_id as folder_id for root). If drive_id is not specified, lists items from user's "My Drive" and accessible shared drives (if include_items_from_all_drives is True).

Args: user_google_email (str): The user's Google email address. Required. folder_id (str): The ID of the Google Drive folder. Defaults to 'root'. For a shared drive, this can be the shared drive's ID to list its root, or a folder ID within that shared drive. page_size (int): The maximum number of items to return. Defaults to 100. drive_id (Optional[str]): ID of the shared drive. If provided, the listing is scoped to this drive. include_items_from_all_drives (bool): Whether items from all accessible shared drives should be included if drive_id is not set. Defaults to True. corpora (Optional[str]): Corpus to query ('user', 'drive', 'allDrives'). If drive_id is set and corpora is None, 'drive' is used. If None and no drive_id, API defaults apply.

Returns: str: A formatted list of files/folders in the specified folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
folder_idNoroot
page_sizeNo
drive_idNo
include_items_from_all_drivesNo
corporaNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavior: listing from My Drive vs shared drives, parameter interactions, default behavior, and return type (str). It is transparent and leaves no critical behavioral traits uncovered.

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

Conciseness4/5

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

The description is well-structured with clear organization and front-loaded purpose. It could be slightly more concise, as some redundancy exists (e.g., repeated explanations for drive_id scenarios), but overall it is efficient.

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

Completeness5/5

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

Given the complexity (6 parameters, shared drive logic) and that an output schema exists, the description is complete: it explains all parameter interactions, default behaviors, and the return format sufficiently for an agent to use the tool correctly.

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

Parameters5/5

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

Since schema coverage is 0% (no parameter descriptions in input schema), the description adds full meaning to each parameter: user_google_email, folder_id, page_size, drive_id, include_items_from_all_drives, and corpora, including defaults and context.

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

Purpose5/5

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

The description clearly states the tool lists files and folders, supporting shared drives. It distinguishes itself from sibling tools like list_docs_in_folder and search_drive_files by specifying the resource (drive items) and the action (list), with no ambiguity.

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

Usage Guidelines4/5

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

The description provides clear guidance on when to use drive_id vs not, and the effect of include_items_from_all_drives. However, it does not explicitly mention when not to use this tool or offer alternatives among siblings, slightly reducing the score.

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

list_form_responsesA

List a form's responses.

Args: user_google_email (str): The user's Google email address. Required. form_id (str): The ID of the form. page_size (int): Maximum number of responses to return. Defaults to 10. page_token (Optional[str]): Token for retrieving next page of results.

Returns: str: List of responses with basic details and pagination info.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
form_idYes
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It mentions pagination via page_token and page_size, disclosing that results are paginated. However, it does not clarify read-only nature, limits, or error behavior.

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

Conciseness5/5

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

The description is a single sentence for purpose followed by a clear list of parameters. No redundant text. Information is front-loaded and well-organized.

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

Completeness4/5

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

Covers main purpose, parameters, and return type (string with pagination info). However, lacks detail on error handling, empty results, or rate limits. For a simple list tool, this is adequate but not exhaustive.

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

Parameters5/5

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

The description explains all four parameters with type and meaning (e.g., 'user_google_email (str): The user's Google email address. Required.'). Since the input schema has 0% description coverage, the description fully compensates.

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

Purpose5/5

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

The tool name 'list_form_responses' clearly indicates listing responses of a form. The description 'List a form's responses.' is precise. Sibling tools like 'get_form_response' (singular) and 'get_form' further differentiate it.

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 explicit guidance on when to use this tool vs alternatives (e.g., get_form_response for a single response). The description only lists required arguments without usage context.

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

list_gmail_filtersA

Lists all Gmail filters configured in the user's mailbox.

Args: user_google_email (str): The user's Google email address. Required.

Returns: str: A formatted list of filters with their criteria and actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses the parameter format and return type (formatted list with criteria and actions), which is adequate but does not discuss rate limits, authorization requirements beyond the email, or any other behavioral traits.

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 three sentences: purpose, parameter documentation, and return description. It is efficient and front-loaded, though the 'Args:' and 'Returns:' formatting is slightly verbose but acceptable.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no nested objects, output schema exists), the description sufficiently covers the tool's purpose, input, and output. It does not need to elaborate on return values since an output schema is present.

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 schema coverage is 0% (no descriptions in input schema), but the description explicitly explains the single parameter 'user_google_email' as 'The user's Google email address. Required.' This adds significant meaning beyond the schema's type and required flag.

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

Purpose5/5

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

The description clearly states 'Lists all Gmail filters configured in the user's mailbox', using a specific verb and resource. It distinguishes itself from sibling tools like create_gmail_filter, delete_gmail_filter, and list_gmail_labels.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., search_gmail_messages). There is no mention of use cases, prerequisites, or exclusions.

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

list_gmail_labelsB

Lists all labels in the user's Gmail account.

Args: user_google_email (str): The user's Google email address. Required.

Returns: str: A formatted list of all labels with their IDs, names, and types.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description only states a read operation without disclosing required scopes, rate limits, or potential side effects. The description does not compensate for the lack of annotations.

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

Conciseness4/5

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

Three sentences with a clear purpose and structured Args/Returns. Efficient but could be slightly more concise.

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

Completeness3/5

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

For a simple list tool with an output schema, the description is adequate. However, it lacks mention of authentication context and comparison to similar 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 description adds meaning to the single parameter 'user_google_email' by stating 'The user's Google email address. Required.', which compensates for the 0% schema description coverage.

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

Purpose5/5

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

The description clearly states 'Lists all labels in the user's Gmail account.', using a specific verb and resource, and distinguishes from siblings like 'list_gmail_filters' and 'manage_gmail_label'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'manage_gmail_label' for label management). No prerequisites or context for use are mentioned.

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

list_script_processesA

List Apps Script processes.

If script_id is provided, uses script-specific process listing. Otherwise, uses user-wide process listing.

Args: user_google_email: The user's Google email address. Required. script_id: Optional script ID for script-specific listing. script_process_filter_json: Optional JSON object for script process filter. user_process_filter_json: Optional JSON object for user process filter. page_size: Number of results to return. Defaults to 50. page_token: Optional pagination token.

Returns: str: Process list summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idNo
script_process_filter_jsonNo
user_process_filter_jsonNo
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 must carry the full burden. It describes the listing behavior but does not disclose whether the operation is read-only, idempotent, or has side effects. It also omits authentication requirements or rate limits, leaving gaps in behavioral transparency.

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

Conciseness5/5

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

The description is concise: a brief header followed by a compact list of arguments. Every sentence is necessary, and it is front-loaded with the main purpose. No fluff or redundancy.

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

Completeness3/5

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

The description covers the core functionality and parameters adequately, including pagination. However, it lacks details on the output format (beyond 'summary'), error handling, and the expected format of filter JSONs. Since an output schema exists, return value detail is not required, but completeness is still moderate.

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

Parameters4/5

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

With 0% schema description coverage, the description adds significant value by listing and explaining each parameter, including required/optional status, default values, and purpose of filter JSONs. It compensates well for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool lists Apps Script processes and distinguishes between script-specific and user-wide listing based on the script_id parameter. It is specific and differentiated from sibling tools, none of which list script processes.

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

Usage Guidelines4/5

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

The description explains when to use script-specific vs user-wide listing by indicating the role of script_id. It provides clear context for usage, though it does not explicitly compare to alternatives since no direct alternatives exist among siblings.

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

list_script_projectsA

List standalone Apps Script projects from Google Drive.

Limitation: container-bound scripts are excluded by design because this tool is Drive-backed and only lists files of mimeType application/vnd.google-apps.script.

Args: user_google_email: The user's Google email address. Required. page_size: Number of results to return. Defaults to 50. page_token: Optional pagination token.

Returns: str: Formatted standalone Apps Script Drive file list.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Discloses being Drive-backed and lists specific mimeType, but lacks details on auth requirements, rate limits, or error handling. Without annotations, more context is needed.

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

Conciseness4/5

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

Concise with clear structure: purpose, limitation, args, returns. Efficient use of words, but could be slightly more streamlined.

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?

Provides high-level return description and limitation, but lacks detail on pagination behavior, error cases, and output format beyond 'formatted string'.

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?

Adds meaning by restating parameter purposes and defaults, but with 0% schema coverage, more detail (e.g., format constraints) would improve.

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?

Description clearly states it lists standalone Apps Script projects from Google Drive, uses specific verb 'list' and resource 'standalone Apps Script projects', and explicitly excludes container-bound scripts, distinguishing it from sibling tools.

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?

Describes limitation excluding container-bound scripts, implying when not to use, but does not provide explicit alternatives or when-to-use guidance.

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

list_spacesC

Lists Google Chat spaces (rooms and direct messages) accessible to the user.

Returns: str: A formatted list of Google Chat spaces accessible to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
page_sizeNo
space_typeNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose authentication needs, rate limits, or behavior for edge cases like empty results. The return type is noted but not behavioral details.

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 description is very short (two sentences) and includes a docstring-style return comment. However, it lacks structure and front-loads minimal information; it is under-specified rather than effectively concise.

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 tool with 3 parameters and a presumed output schema, the description lacks details on return format, pagination, and error handling. It is not complete enough given the tool's complexity.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the parameters (user_google_email, page_size, space_type) or their expected values. The agent receives no additional meaning beyond the raw schema.

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

Purpose5/5

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

The description clearly states the tool lists Google Chat spaces including rooms and direct messages. The verb 'list' and resource are specific, and it is distinct from sibling tools which handle other Google services.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or conditions. It simply describes the action without contextual usage advice.

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

list_spreadsheetsA

Lists spreadsheets from Google Drive that the user has access to.

Args: user_google_email (str): The user's Google email address. Required. max_results (int): Maximum number of spreadsheets to return. Defaults to 25.

Returns: str: A formatted list of spreadsheet files (name, ID, modified time).

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, description states output format but lacks details on sorting, pagination, or potential limits beyond the max_results parameter.

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?

Extremely concise with clear sections: purpose, Args, Returns. No redundant sentences.

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?

Tool is simple; description covers purpose, params, and output. Lacks handling of empty results or order, but adequate given output schema exists.

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

Parameters5/5

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

With 0% schema coverage, description fully compensates by explaining both parameters: user_google_email as required identifier and max_results with default value.

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?

Description uses specific verb 'Lists' and resource 'spreadsheets from Google Drive', clearly differentiating from sibling tools like search_drive_files or list_drive_items.

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?

Description implies usage (listing spreadsheets), but does not provide explicit guidance on when to use this tool vs. alternatives like search_drive_files or list_drive_items.

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

list_task_listsA

List all task lists for the user.

Args: user_google_email (str): The user's Google email address. Required. max_results (int): Maximum number of task lists to return (default: 1000, max: 1000). page_token (Optional[str]): Token for pagination.

Returns: str: List of task lists with their IDs, titles, and details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
max_resultsNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

The description implies a read-only operation ('list'), which is consistent with the tool's nature. However, with no annotations provided, it lacks explicit disclosure of side effects, permissions, or scope (e.g., whether it returns only owned lists or shared ones).

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

Conciseness4/5

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

The description is well-structured with Args/Returns sections, uses minimal but sufficient text, and front-loads the main purpose. It is concise without being overly terse.

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

Completeness4/5

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

Given the presence of an output schema (not shown but flagged), the description adequately covers the input parameters and return format. It could mention pagination behavior or result ordering, but overall it provides enough for a simple list tool.

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

Parameters4/5

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

With 0% schema description coverage, the description adds value by explaining the purpose of each parameter, including defaults and constraints (max_results max 1000, page_token optional null), which goes beyond the schema's type-only definitions.

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

Purpose5/5

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

The description clearly states the action ('List all task lists') and the target resource ('for the user'), which is distinct from sibling tools that create, delete, or update task lists.

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

Usage Guidelines4/5

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

The description provides clear usage context by specifying required parameters (user_google_email) and optional parameters with defaults, but does not explicitly exclude alternative tools or state when not to use it.

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

list_tasksA

List all tasks in a specific task list.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list to retrieve tasks from. max_results (int): Maximum number of tasks to return. (default: 20, max: 10000). page_token (Optional[str]): Token for pagination. show_completed (bool): Whether to include completed tasks (default: True). Note that show_hidden must also be true to show tasks completed in first party clients, such as the web UI and Google's mobile apps. show_deleted (bool): Whether to include deleted tasks (default: False). show_hidden (bool): Whether to include hidden tasks (default: False). show_assigned (bool): Whether to include assigned tasks (default: False). completed_max (Optional[str]): Upper bound for completion date (RFC 3339 timestamp). completed_min (Optional[str]): Lower bound for completion date (RFC 3339 timestamp). due_max (Optional[str]): Upper bound for due date (RFC 3339 timestamp). due_min (Optional[str]): Lower bound for due date (RFC 3339 timestamp). updated_min (Optional[str]): Lower bound for last modification time (RFC 3339 timestamp).

Returns: str: List of tasks with their details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
max_resultsNo
page_tokenNo
show_completedNo
show_deletedNo
show_hiddenNo
show_assignedNo
completed_maxNo
completed_minNo
due_maxNo
due_minNo
updated_minNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It discloses filters and notes about show_hidden for completed tasks, but does not mention authentication, permissions, or performance implications. Read operation, so no side effects.

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

Conciseness4/5

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

Well-structured docstring with Args/Returns. Somewhat long due to parameter count, but each description is necessary. Front-loaded with main action. Appropriately detailed for the complexity.

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 13 parameters and no annotations, the description covers all parameters thoroughly. Output schema exists, so return value explanation is sufficient. Minor gap: could mention pagination implications.

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

Parameters5/5

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

Schema coverage is 0%, but description thoroughly documents each parameter, including defaults, constraints, and contextual notes (e.g., show_hidden requirement for completed tasks). Adds significant value 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?

The description clearly states 'List all tasks in a specific task list,' specifying verb (list) and resource (tasks) with scope. It distinguishes from siblings like get_task (single task) and list_task_lists (list task lists).

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 explicit guidance on when to use this tool versus alternatives (e.g., get_task for a single task). Implied by the need for a task_list_id, but lacks prerequisites or exclusions.

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

list_versionsB

List versions for an Apps Script project.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. page_size: Number of results to return. Defaults to 50. page_token: Optional pagination token.

Returns: str: Version list summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so the description must cover safety and side effects. It is a read-only operation but does not explicitly state that. Does not mention authorization requirements beyond the email parameter.

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 description is structured with Args and Returns sections, but it is somewhat verbose. It could be more concise by omitting parameter names already in the schema.

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?

Covers the main purpose and parameter meanings, but lacks details on the return format beyond 'Version list summary'. No output schema exists, so more detail would be helpful. Pagination is implied via parameters but not explained.

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

Parameters4/5

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

Schema coverage is 0%, but the description adds meaningful explanations for each parameter, including default values for page_size and the optional nature of page_token. This compensates for the lack of schema descriptions.

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?

Clearly states it lists versions for an Apps Script project. The verb 'list' and resource 'versions' are specific. While it doesn't explicitly differentiate from the sibling 'get_version', the purpose is distinct.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_version' or other listing tools. No context on prerequisites or scenarios.

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

manage_gmail_labelA

Manages Gmail labels: create, update, or delete labels.

Args: user_google_email (str): The user's Google email address. Required. action (Literal["create", "update", "delete"]): Action to perform on the label. name (Optional[str]): Label name. Required for create, optional for update. label_id (Optional[str]): Label ID. Required for update and delete operations. label_list_visibility (Literal["labelShow", "labelHide"]): Whether the label is shown in the label list. message_list_visibility (Literal["show", "hide"]): Whether the label is shown in the message list. dry_run (bool): If True, preview label changes without applying mutations.

Returns: str: Confirmation message of the label operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
actionYes
nameNo
label_idNo
label_list_visibilityNolabelShow
message_list_visibilityNoshow
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description must cover safety. It discloses actions and the dry_run parameter for previewing changes without applying mutations. Does not mention authentication requirements or error handling, but covers core behavior well.

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

Conciseness4/5

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

Well-structured with a clear purpose statement followed by parameter descriptions. Efficient but slightly lengthy; no wasted lines.

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

Completeness5/5

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

Given tool complexity (3 actions, 7 params) and presence of output schema, the description provides sufficient context for correct invocation. Covers all action-specific constraints.

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

Parameters5/5

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

Despite schema coverage at 0%, the description explains each parameter's role, including conditional requirements (e.g., label_id required for update/delete). Adds significant meaning beyond the raw 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?

Clearly states the tool manages Gmail labels with create, update, or delete actions. Distinguishes from sibling tools like list_gmail_labels which is read-only.

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

Usage Guidelines3/5

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

Implies usage for label CRUD operations but lacks explicit guidance on when to use alternatives or when not to use this tool. No mention of prerequisites or exclusions.

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

mirror_drive_folderA

Recursively download a Google Drive folder to a local directory. Maintains directory structure and links downloaded files for future sync.

Args: user_google_email: The user's Google email address. Required. local_parent_dir: The local directory to download into. Created if missing. folder_query: The Name or ID of the Drive folder. recursive: Whether to download subfolders. dry_run: If True (default), return planned mirror operation without writing local files.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
local_parent_dirYes
folder_queryYes
recursiveNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Without annotations, the description carries the burden. It discloses dry-run behavior, recursive option, and linking files. However, it does not explain conflict resolution, overwriting behavior, error handling, or authentication requirements.

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

Conciseness4/5

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

The description is concise with a clear opening sentence and a bullet list of arguments. The 'Args:' heading is typical. It is well-structured but could be slightly more streamlined without external docstring conventions.

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

Completeness3/5

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

Given 5 parameters, an output schema, and no annotations, the description provides adequate parameter details but lacks behavioral context (e.g., return value description, error conditions, auth setup). It is minimally sufficient but not comprehensive.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates well by explaining each parameter's purpose in the bullet list. For example, 'folder_query: The Name or ID of the Drive folder' and 'dry_run: If True (default), return planned mirror operation without writing local files' add significant clarity.

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

Purpose5/5

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

The description clearly states the tool's function: recursively downloading a Google Drive folder to a local directory while maintaining structure and linking files for future sync. It distinguishes from siblings like download_google_doc or upload_folder.

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 explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use, or what to do if files already exist. The only implied usage is for mirroring a folder.

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

modify_doc_textA

Modifies text in a Google Doc - can insert/replace text and/or apply formatting in a single operation.

Args: user_google_email: User's Google email address document_id: ID of the document to update start_index: Start position for operation (0-based) end_index: End position for text replacement/formatting (if not provided with text, text is inserted) text: New text to insert or replace with (optional - can format existing text without changing it) bold: Whether to make text bold (True/False/None to leave unchanged) italic: Whether to make text italic (True/False/None to leave unchanged) underline: Whether to underline text (True/False/None to leave unchanged) font_size: Font size in points font_family: Font family name (e.g., "Arial", "Times New Roman") text_color: Foreground text color (#RRGGBB) background_color: Background/highlight color (#RRGGBB) dry_run: When True (default), return planned mutations without executing them

Returns: str: Confirmation message with operation details

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
start_indexYes
end_indexNo
textNo
boldNo
italicNo
underlineNo
font_sizeNo
font_familyNo
text_colorNo
background_colorNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explains behavior like text insertion vs replacement based on start_index and end_index, optional formatting, and dry_run returning planned mutations. However, it omits edge cases (e.g., out-of-range indices) and side effects on existing formatting not specified.

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

Conciseness4/5

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

The description is well-structured with a clear opening sentence followed by an Args section. It is somewhat lengthy due to many parameters, but each line is informative. The purpose is front-loaded, though some parameter descriptions could be more concise.

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

Completeness4/5

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

Given the tool's complexity (13 parameters, 3 required, output schema exists) and no annotations, the description covers the main functionality and return type. However, it lacks details on error handling, permission requirements, and limitations, making it slightly incomplete for a fully informed agent.

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

Parameters5/5

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

Schema description coverage is 0%, so the description provides all parameter meaning. Each parameter is documented in detail, explaining its role, default values, and behavior (e.g., 'end_index' omitted means text insertion). This fully compensates for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool modifies text in a Google Doc, with capabilities to insert/replace text and apply formatting. It distinguishes itself from siblings like batch_update_doc or insert_doc_elements by focusing specifically on text modifications within a single operation.

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

Usage Guidelines3/5

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

The description explains what the tool does but does not provide explicit guidance on when to use it versus alternatives. There is no mention of when not to use it or context for selecting among similar tools like update_google_doc or insert_doc_elements.

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

modify_eventA

Modifies an existing event.

Args: user_google_email (str): The user's Google email address. Required. event_id (str): The ID of the event to modify. calendar_id (str): Calendar ID (default: 'primary'). summary (Optional[str]): New event title. start_time (Optional[str]): New start time (RFC3339, e.g., "2023-10-27T10:00:00-07:00" or "2023-10-27" for all-day). end_time (Optional[str]): New end time (RFC3339, e.g., "2023-10-27T11:00:00-07:00" or "2023-10-28" for all-day). description (Optional[str]): New event description. location (Optional[str]): New event location. attendees (Optional[Union[List[str], List[Dict[str, Any]]]]): Attendees as email strings or objects with metadata. Supports: ["email@example.com"] or [{"email": "email@example.com", "responseStatus": "accepted", "organizer": true, "optional": true}]. When using objects, existing metadata (responseStatus, organizer, optional) is preserved. New attendees default to responseStatus="needsAction". timezone (Optional[str]): New timezone (e.g., "America/New_York"). add_google_meet (Optional[bool]): Whether to add or remove Google Meet video conference. If True, adds Google Meet; if False, removes it; if None, leaves unchanged. reminders (Optional[Union[str, List[Dict[str, Any]]]]): JSON string or list of reminder objects to replace existing reminders. Each should have 'method' ("popup" or "email") and 'minutes' (0-40320). Max 5 reminders. Example: '[{"method": "popup", "minutes": 15}]' or [{"method": "popup", "minutes": 15}] use_default_reminders (Optional[bool]): Whether to use calendar's default reminders. If specified, overrides current reminder settings. transparency (Optional[str]): Event transparency for busy/free status. "opaque" shows as Busy, "transparent" shows as Available/Free. If None, preserves existing transparency setting. visibility (Optional[str]): Event visibility. "default" uses calendar default, "public" is visible to all, "private" is visible only to attendees, "confidential" is same as private (legacy). If None, preserves existing visibility setting. color_id (Optional[str]): Event color ID (1-11). If None, preserves existing color. dry_run (bool): If True, returns a preview and does not modify the event. Defaults to True.

Returns: str: Confirmation message of the successful event modification with event link.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
event_idYes
calendar_idNoprimary
summaryNo
start_timeNo
end_timeNo
descriptionNo
locationNo
attendeesNo
timezoneNo
add_google_meetNo
remindersNo
use_default_remindersNo
transparencyNo
visibilityNo
color_idNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It details the modification behavior, including dry_run, preservation of fields when not set, and attendee metadata handling. However, it does not disclose potential side effects like notifications or required permissions.

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 lengthy due to many parameters, but it is well-structured with a clear Args section and front-loaded purpose. It could be slightly more concise, but each sentence serves a purpose.

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

Completeness4/5

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

Given 17 parameters, no annotations, and an existing output schema, the description covers all parameters, return format, and dry_run behavior. Minor gaps include edge cases like conflicting reminder settings.

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

Parameters5/5

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

With 0% schema coverage, the description fully compensates by providing detailed explanations, format examples (e.g., RFC3339 for time), and constraints (e.g., max 5 reminders). This adds significant meaning 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?

The description clearly states 'Modifies an existing event', which is a specific verb+resource. This distinguishes it from siblings like 'create_event' and 'delete_event'.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like create or delete. Usage is implied through parameter explanations, but no exclusions or prerequisites are provided.

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

modify_gmail_message_labelsA

Adds or removes labels from a Gmail message. To archive an email, remove the INBOX label. To delete an email, add the TRASH label.

Args: user_google_email (str): The user's Google email address. Required. message_id (str): The ID of the message to modify. add_label_ids (Optional[List[str]]): List of label IDs to add to the message. remove_label_ids (Optional[List[str]]): List of label IDs to remove from the message. dry_run (bool): If True, preview label changes without mutating the message.

Returns: str: Confirmation message of the label changes applied to the message.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
message_idYes
add_label_idsNoLabel IDs to add to the message.
remove_label_idsNoLabel IDs to remove from the message.
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 burden. It mentions mutation and provides dry_run for safe preview, but does not detail side effects, permissions required, or irreversibility of actions like adding TRASH. This is adequate but lacks depth on consequences.

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

Conciseness5/5

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

The description is concise and well-structured, with a clear opening sentence, examples, and a detailed Args section. Every sentence adds value, and the information is front-loaded.

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

Completeness5/5

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

The description covers the main operations, return value (confirmation string), and includes examples. Given the output schema exists, it appropriately explains the return. It is complete for the complexity of the tool.

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 description includes an 'Args' section that explains each parameter, including add_label_ids and remove_label_ids which have minimal schema descriptions. This compensates for the 40% schema coverage. The dry_run parameter is clearly explained as a preview without mutation.

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

Purpose5/5

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

The description clearly states 'Adds or removes labels from a Gmail message' with specific verbs and resource. It provides concrete examples for archiving and deleting, and implicitly differentiates from batch_modify_gmail_message_labels by focusing on a single message.

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

Usage Guidelines4/5

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

The description gives explicit usage cases like archiving (remove INBOX) and deleting (add TRASH). It also mentions dry_run for previewing. However, it does not explicitly compare to similar tools like batch_modify_gmail_message_labels or manage_gmail_label, or state when not to use.

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

modify_sheet_valuesA

Modifies values in a specific range of a Google Sheet - can write, update, or clear values.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet. Required. range_name (str): The range to modify (e.g., "Sheet1!A1:D10", "A1:D10"). Required. values (Optional[Union[str, List[List[str]]]]): 2D array of values to write/update. Can be a JSON string or Python list. Required unless clear_values=True. value_input_option (str): How to interpret input values ("RAW" or "USER_ENTERED"). Defaults to "USER_ENTERED". clear_values (bool): If True, clears the range instead of writing values. Defaults to False.

Returns: str: Confirmation message of the successful modification operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
range_nameYes
valuesNo
value_input_optionNoUSER_ENTERED
clear_valuesNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

Discloses write/update/clear behavior and parameter defaults, but misses the dry_run parameter (present in schema). No mention of error handling or atomicity. Adequate but not thorough.

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

Conciseness4/5

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

Well-structured with Args/Returns sections, but slightly verbose. Each sentence adds value, but could be more concise.

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

Completeness4/5

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

Covers most parameters and return type; lacks explanation of edge cases and parameter interactions. Output schema not provided, but return value described. Reasonably complete for moderate complexity.

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?

Adds meaning beyond schema by explaining value formats, input options, and clear_values behavior. However, dry_run is undocumented and values schema type is simplified.

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

Purpose5/5

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

Clearly states it modifies values in a Google Sheet, listing write/update/clear operations. Differentiates from siblings like read_sheet_values and format_sheet_range.

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

Usage Guidelines3/5

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

Implies usage for modifying sheet values but lacks explicit guidance on when to use vs alternatives like batch_update_doc or clear_completed_tasks. No exclusions or conditions provided.

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

move_taskA

Move a task to a different position or parent within the same list, or to a different list.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the current task list containing the task. task_id (str): The ID of the task to move. parent (Optional[str]): New parent task ID (for making it a subtask). previous (Optional[str]): Previous sibling task ID (for positioning). destination_task_list (Optional[str]): Destination task list ID (for moving between lists). dry_run (bool): When True (default), return planned mutation without executing.

Returns: str: Confirmation message with updated task details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
task_idYes
parentNo
previousNo
destination_task_listNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are present, so the description carries the full burden. It explains the core behavior, including the ability to change parent or previous sibling, and move between lists. It also discloses the dry_run behavior (default true, returns planned mutation). Some details like permission requirements or side effects on subtasks are omitted, but overall adequate.

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

Conciseness4/5

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

The description is well-structured: a one-line summary followed by parameter descriptions. It is front-loaded with the main purpose. While slightly lengthy, every sentence adds value. Could be more concise, but not excessively verbose.

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

Completeness5/5

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

Given the tool's complexity (7 parameters, multiple modes), the description covers all relevant aspects: the different move operations, parameter explanations, and the dry_run feature. An output schema exists, so return details are not needed. The description is fully sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description provides full semantics for all 7 parameters. Each parameter is explained (e.g., 'New parent task ID', 'Previous sibling task ID', 'Destination task list ID'), adding substantial value beyond the schema's type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Move a task to a different position or parent within the same list, or to a different list.' It uses precise verbs and nouns, distinguishing it from sibling tools like create_task, update_task, and delete_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly outlines the scenarios: moving within the same list (changing position or parent) or to a different list. It also mentions the dry_run option for testing. However, it does not explicitly state when not to use this tool or point to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_document_commentsB

Read all comments from a Google Document.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must convey behavioral traits but only states the action is a read operation. It does not disclose authentication requirements, scope of comments (e.g., resolved vs. unresolved), or whether it includes replies, leaving significant gaps for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, but it could include additional useful details without sacrificing conciseness, such as a brief note on output or parameter hints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with an output schema, the description covers the basic purpose but lacks context on the behavior (e.g., whether it includes replies, sort order) and does not leverage the existence of an output schema to clarify return values, leaving it minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to the parameters 'user_google_email' and 'document_id.' It does not explain their format or purpose beyond what the parameter names imply, failing to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'read' and the resource 'all comments from a Google Document,' distinguishing it from sibling tools for other document types (e.g., spreadsheets, presentations) and comment actions (create, reply, resolve).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_doc_content' or other comment-related tools, leaving the agent to infer usage context without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_presentation_commentsC

Read all comments from a Google Presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states the tool 'Read all comments' without mentioning that it is a read-only operation, auth requirements, rate limits, or any side effects. This is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one sentence) but lacks necessary details to be minimally viable. Conciseness here reflects under-specification rather than efficiency, as important information about parameters and behavior is missing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no behavior or parameter details, the description is incomplete. Although an output schema exists (not shown), the description fails to guide the agent on when to use the tool or what to expect, making it inadequate for a simple but potentially nuanced operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the input schema provides no descriptions for the two parameters (user_google_email, presentation_id). The description does not add any meaning beyond parameter names; it does not clarify formats, sources, or constraints for these parameters.

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?

Description clearly states 'Read all comments from a Google Presentation.' The verb 'Read' and resource 'comments from a Google Presentation' are specific. However, it does not differentiate from sibling tools like read_document_comments (for Docs) or read_spreadsheet_comments, which are similar operations for different file 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?

No guidance on when to use this tool vs alternatives such as read_document_comments or read_spreadsheet_comments. The description only implies usage when needing comments from a presentation but lacks explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_sheet_valuesA

Reads values from a specific range in a Google Sheet.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet. Required. range_name (str): The range to read (e.g., "Sheet1!A1:D10", "A1:D10"). Defaults to "A1:Z1000".

Returns: str: The formatted values from the specified range.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
range_nameNoA1:Z1000

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 full burden. It states it is a read operation, but does not elaborate on any side effects, permissions, or error behavior. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: one sentence for the tool purpose, then structured Args and Returns. No redundant information, and the important details are front-loaded.

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?

The description covers the tool's purpose, parameters, and return format. It is sufficient for a simple read tool, though it could mention potential errors or authentication context. The output schema is effectively described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meaning for all parameters, including required fields and a default for range_name. This compensates well for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads values from a specific range in a Google Sheet, with a specific verb and resource. It is distinct from sibling tools like 'modify_sheet_values' (write) and 'get_spreadsheet_info' (metadata).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for reading sheet data, but does not specify when not to use it or provide explicit comparisons to alternative tools. It lacks guidance on prerequisites or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_spreadsheet_commentsC

Read all comments from a Google Spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description omits behavioral details such as authentication requirements, rate limits, or pagination behavior. Merely states it's a read operation.

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?

Very concise single sentence, but lacks necessary detail for effective tool selection. Could be restructured to include key information without additional length.

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?

Despite having an output schema, the description does not hint at the response format. Missing context about authorization, potential errors, and scope of comments returned (e.g., all comments in spreadsheet).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and description adds no detail about the two parameters (user_google_email, spreadsheet_id). Their purposes are implied by name but not explicitly described.

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?

Clearly states the action (Read) and resource (all comments from a Google Spreadsheet), distinct from sibling comment manipulation tools. However, it could be more specific about scope (e.g., entire spreadsheet vs specific sheet).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like read_document_comments or read_presentation_comments. Does not mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_drive_permissionA

Removes a permission from a Google Drive file or folder, revoking access.

Args: user_google_email (str): The user's Google email address. Required. file_id (str): The ID of the file or folder. Required. permission_id (str): The ID of the permission to remove (from get_drive_file_permissions). Required. dry_run (bool): If True, returns a preview and does not remove permissions. Defaults to True.

Returns: str: Confirmation of the removed permission.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes
permission_idYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the destructive nature (revoking access) and includes a dry_run parameter for preview, which mitigates risk. It also states the return type as a confirmation string.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear summary followed by a bulleted parameter list. Every sentence adds value, and the structure is front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, all inputs, and the output (confirmation string). Given the existence of an output schema and the lack of additional complexity, it provides complete guidance for an AI agent to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description fully explains each parameter: user_google_email, file_id, permission_id, and dry_run. For dry_run, it provides the default value and behavior. This adds significant meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'removes' and the resource 'permission from a Google Drive file or folder'. It also explains the action as 'revoking access'. This distinguishes it from sibling tools like update_drive_permission or share_drive_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implicit guidance by noting that permission_id should come from get_drive_file_permissions, indicating a required preceding step. However, it does not explicitly state when to use this tool versus alternatives or mention any prerequisites beyond the parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reply_to_document_commentB

Reply to a specific comment in a Google Document.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
comment_idYes
reply_contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the basic action without mentioning authentication requirements, error handling, or mutability, leaving significant gaps.

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, clear sentence with no extraneous words, efficiently conveying the tool's core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool, the description is adequate but fails to provide enough context for a new agent, such as input format or dependencies on other tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds no meaning beyond parameter names. For example, it doesn't specify expected format for 'reply_content' or how to obtain 'comment_id'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Reply to a specific comment') and the resource ('Google Document'), distinguishing it from sibling tools for other document types like 'reply_to_presentation_comment' and 'reply_to_spreadsheet_comment'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (to reply to a comment), but provides no explicit guidance on when to use this tool versus alternatives like 'resolve_document_comment', nor any prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reply_to_presentation_commentC

Reply to a specific comment in a Google Presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes
comment_idYes
reply_contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral disclosure. It fails to mention key traits such as permissions required, whether the reply is appended, or what happens on success/failure.

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 description is a single concise sentence, which is efficient, but it omits essential details, making it under-specified rather than appropriately concise.

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 4 required parameters and no annotations, the description lacks completeness. It does not mention the output (though an output schema exists) or potential errors, leaving significant gaps for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning beyond the parameter names. Users must infer the purpose of each parameter from its name alone, with no additional context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (reply) and the specific resource (a specific comment in a Google Presentation). It distinguishes this tool from siblings like reply_to_document_comment and reply_to_spreadsheet_comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives. It does not mention prerequisites, such as needing the comment_id or presentation_id, nor does it specify when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reply_to_spreadsheet_commentB

Reply to a specific comment in a Google Spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
comment_idYes
reply_contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description only says 'reply', which implies creation of a comment reply, but does not disclose side effects, permissions needed, or changes to the comment hierarchy. Critical behavioral traits are omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no redundant words, highly efficient and front-loaded.

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?

Despite having an output schema, the description lacks details on error handling, required authentication (via sibling auth tools), and the scope of the reply (e.g., thread depth). The tool has 4 parameters and is a mutation, yet the description is too sparse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

None of the 4 parameters have descriptions in the schema, and the tool description adds no meaning beyond the parameter names. For example, it does not explain the format of reply_content or how to obtain comment_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'reply to a specific comment in a Google Spreadsheet', which is a specific verb and resource, and distinguishes from siblings like reply_to_document_comment and reply_to_presentation_comment.

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 information on when to use this tool versus alternatives (e.g., resolve_spreadsheet_comment) or prerequisites (e.g., comment existence, sharing settings). The context fails to guide the agent on proper usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_document_commentC

Resolve a comment in a Google Document.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
comment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose side effects (e.g., whether resolving is reversible), required permissions, or any limitations. The agent knows only that it resolves a comment.

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 description is extremely short (one sentence), which is concise but lacks structure. It does not front-load key information or provide any organized details. Every word is present, but it misses necessary content.

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's complexity (3 required params with zero documentation) and the presence of an output schema (not detailed), the description is incomplete. It omits usage context, parameter hints, and behavioral details, making it insufficient for reliable agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the three required parameters (user_google_email, document_id, comment_id). No format, context, or examples are given, leaving the agent blind to parameter semantics.

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 clearly states the action (resolve) and resource (a comment in a Google Document). However, it does not differentiate from sibling tools like reply_to_document_comment or read_document_comments, missing specific scope details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., the comment must exist and be unresolved, user authorization), and no exclusions. 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.

resolve_presentation_commentC

Resolve a comment in a Google Presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
presentation_idYes
comment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It does not explain any behavioral traits such as whether the action is irreversible, required permissions, or side effects. The single sentence 'Resolve a comment' is insufficient.

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 description is very concise at one sentence, but lacks substance. It is not overly verbose, but it does not earn its place as it provides minimal information beyond the tool's 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?

Given the tool's simplicity (3 required parameters, output schema present), the description is incomplete. It does not explain the effect of resolving a comment, return value details (though output schema may cover that), or any prerequisites. The description falls short of what is needed for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning no parameter descriptions are provided in the schema. The tool description also fails to explain any of the three parameters, leaving their purpose entirely to inference from parameter names.

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 clearly states the action 'resolve' and the resource 'comment in a Google Presentation'. It is a specific verb and resource, but does not distinguish from sibling tools like 'read_presentation_comments' or 'reply_to_presentation_comment' which also operate on presentation comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases, or situations where this tool should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_spreadsheet_commentC

Resolve a comment in a Google Spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
comment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior1/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 for behavioral traits. It fails to disclose side effects (e.g., changes to comment status), permission requirements, or any irreversible actions. This is a significant gap 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but lacks structure. It front-loads the action but omits essential details. It is not verbose, but it is too minimal to be considered well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 3 required parameters with no schema descriptions and an output schema (whose details are unknown), the description is far from complete. It does not explain the return behavior or confirm successful resolution, leaving the agent with insufficient information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the tool description does not explain the meaning or format of any of the three required parameters (user_google_email, spreadsheet_id, comment_id). The agent must rely solely on parameter names, which are insufficient.

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 clearly states 'Resolve a comment in a Google Spreadsheet,' which conveys the specific verb and resource. It distinguishes itself from sibling tools like resolve_document_comment and resolve_presentation_comment by specifying the context (spreadsheet). However, it does not elaborate on what 'resolve' entails (e.g., marking as resolved).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as reply_to_spreadsheet_comment or read_spreadsheet_comments. There is no mention of prerequisites (e.g., comment must exist, user must have permission) or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_script_functionB

Execute a function in an Apps Script project.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. function_name: Target function name. parameters_json: Optional JSON list of function parameters. dev_mode: Whether to run in development mode. Defaults to False. dry_run: Preview execution without calling API. Defaults to True.

Returns: str: Execution preview or result.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
function_nameYes
parameters_jsonNo
dev_modeNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only partially discloses behavior. It mentions dry_run defaults to True implying preview by default, but does not explain actual execution effects or side effects when dry_run=False. No disclosure of destructive potential or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear purpose statement, followed by a structured bullet list of arguments and return type. It is efficient, though the Args section is slightly verbose but appropriate for the number of parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 params, code execution), the description adequately explains each parameter and return type, but lacks behavioral context such as actual execution behavior when dry_run=False, permissions, or potential side effects. Output schema existence is not mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description compensates by listing each parameter with a short description, default values, and required status. It adds meaning beyond schema, though parameters_json could be more specific about format (e.g., JSON string).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Execute a function in an Apps Script project' using specific verb and resource, effectively distinguishing it from sibling tools that manage scripts (e.g., get_script_content, create_script_project).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as required authentication, or when to use dry_run vs dev_mode. Implied usage is the only clue.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_customA

Performs a search using Google Custom Search JSON API.

Args: user_google_email (str): The user's Google email address. Required. q (str): The search query. Required. num (int): Number of results to return (1-10). Defaults to 10. start (int): The index of the first result to return (1-based). Defaults to 1. safe (Literal["active", "moderate", "off"]): Safe search level. Defaults to "off". search_type (Optional[Literal["image"]]): Search for images if set to "image". site_search (Optional[str]): Restrict search to a specific site/domain. site_search_filter (Optional[Literal["e", "i"]]): Exclude ("e") or include ("i") site_search results. date_restrict (Optional[str]): Restrict results by date (e.g., "d5" for past 5 days, "m3" for past 3 months). file_type (Optional[str]): Filter by file type (e.g., "pdf", "doc"). language (Optional[str]): Language code for results (e.g., "lang_en"). country (Optional[str]): Country code for results (e.g., "countryUS").

Returns: str: Formatted search results including title, link, and snippet for each result.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
qYes
numNo
startNo
safeNooff
search_typeNo
site_searchNo
site_search_filterNo
date_restrictNo
file_typeNo
languageNo
countryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It explains parameters and return format but does not mention rate limits, authentication requirements, or any side effects. The user_google_email parameter implies authentication, but this is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an Args and Returns section, front-loading the purpose. Despite listing 12 parameters, it remains concise and every sentence provides useful 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?

The description covers all parameters and explains the return format. However, it does not mention potential errors, pagination behavior, or how the output is structured beyond 'title, link, and snippet'. For a search tool with many options, this is fairly complete but slightly lacking in error context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates by explaining each of the 12 parameters in detail, including defaults and valid values. This adds significant meaning beyond the input 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 clearly states it performs a search using Google Custom Search API, which is a specific verb and resource. However, it does not distinguish from the sibling 'search_custom_siterestrict', which may offer similar functionality with a different scope.

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 lists parameters but provides no guidance on when to use this tool versus alternatives like 'search_custom_siterestrict'. There is no mention of use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_custom_siterestrictA

Performs a search restricted to specific sites using Google Custom Search.

Args: user_google_email (str): The user's Google email address. Required. q (str): The search query. Required. sites (List[str]): List of sites/domains to search within. num (int): Number of results to return (1-10). Defaults to 10. start (int): The index of the first result to return (1-based). Defaults to 1. safe (Literal["active", "moderate", "off"]): Safe search level. Defaults to "off".

Returns: str: Formatted search results from the specified sites.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
qYes
sitesYes
numNo
startNo
safeNooff

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavior. It mentions 'Formatted search results' but does not specify the format, error handling, rate limits, or that it requires a Google Custom Search Engine to be configured. The behavioral disclosure is adequate but incomplete for a tool relying on an external API.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single sentence summary followed by structured Args and Returns sections. Every part is informative, and no extraneous text is present. It is well-organized and front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, external API dependency) and the presence of an output schema (though not detailed), the description covers parameters and return type. However, it omits necessary context like prerequisites (Custom Search Engine ID), potential errors, or pagination behavior, preventing full completeness. It meets most needs but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description fully compensates by explaining all six parameters: user_google_email, q, sites, num, start, safe, including defaults and accepted values. This adds significant meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs searches restricted to specific sites using Google Custom Search. The verb 'performs' and resource 'restricted to specific sites' define a distinct action, differentiating it from sibling tools like 'search_custom' (which searches without site restriction) and other search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives (e.g., 'use this for site-specific searches; use search_custom for general searches'). It implies usage by describing its site-restriction capability, but lacks direct guidance on when not to use it or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_docsB

Searches for Google Docs by name using Drive API (mimeType filter).

Returns: str: A formatted list of Google Docs matching the search query.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
queryYes
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must disclose behavioral traits. It only states the return type (formatted string list) but omits side effects, authentication needs, rate limits, or data scope limitations (e.g., result count, pagination).

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 short (two lines) and front-loaded with key information. However, the return type line could be integrated more efficiently, but overall it's concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of schema parameter descriptions and no usage guidelines, the description leaves gaps. It adequately explains the return format but does not cover parameter semantics or usage context. The presence of an output schema partially compensates, but not fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the parameters beyond their names. For example, it doesn't clarify 'user_google_email' (which user's drive?) or the format/role of 'query'. The optional 'page_size' is mentioned in schema but not elaborated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches for Google Docs by name using Drive API with mimeType filter. It specifies the resource and action distinctly, differentiating from sibling tools like list_docs_in_folder or search_drive_files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as list_docs_in_folder or search_drive_files. The description does not include contextual cues or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_drive_filesA

Searches for files and folders within a user's Google Drive, including shared drives.

Args: user_google_email (str): The user's Google email address. Required. query (str): The search query string. Supports Google Drive search operators. page_size (int): The maximum number of files to return. Defaults to 10. drive_id (Optional[str]): ID of the shared drive to search. If None, behavior depends on corpora and include_items_from_all_drives. include_items_from_all_drives (bool): Whether shared drive items should be included in results. Defaults to True. This is effective when not specifying a drive_id. corpora (Optional[str]): Bodies of items to query (e.g., 'user', 'domain', 'drive', 'allDrives'). If 'drive_id' is specified and 'corpora' is None, it defaults to 'drive'. Otherwise, Drive API default behavior applies. Prefer 'user' or 'drive' over 'allDrives' for efficiency.

Returns: str: A formatted list of found files/folders with their details (ID, name, type, size, modified time, link).

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
queryYes
page_sizeNo
drive_idNo
include_items_from_all_drivesNo
corporaNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It implies read-only behavior ('Searches'), describes the return format, and includes a note on efficient parameter usage. It does not explicitly state that it does not modify data, but the verb 'searches' is clear enough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a clear opening sentence followed by bullet-point parameter explanations and a return value description. Every sentence adds value, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, optional shared drive support) and the presence of an output schema, the description covers the purpose, all parameters with behaviors, and the return format. It is fully self-contained for an AI agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains each parameter in detail: user_google_email is required, query supports Google Drive operators, page_size defaults to 10, drive_id and corpora have nuanced behavior, and include_items_from_all_drives is explained. This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches for files and folders within Google Drive, including shared drives. The verb 'searches' is specific, and the resource 'files and folders within Google Drive' distinguishes it from sibling tools like list_drive_items (which lists without search) and get_drive_file_content (which retrieves content).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides detailed guidance on parameter usage, such as when to use drive_id versus corpora, and suggests preferring 'user' or 'drive' over 'allDrives' for efficiency. However, it does not explicitly compare against alternative tools (e.g., list_drive_items) for when to search versus list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_gmail_messagesA

Searches messages in a user's Gmail account based on a query. Returns both Message IDs and Thread IDs for each found message, along with Gmail web interface links for manual verification. Supports pagination via page_token parameter.

Args: query (str): The search query. Supports standard Gmail search operators. user_google_email (str): The user's Google email address. Required. page_size (int): The maximum number of messages to return. Defaults to 10. page_token (Optional[str]): Token for retrieving the next page of results. Use the next_page_token from a previous response.

Returns: str: LLM-friendly structured results with Message IDs, Thread IDs, and clickable Gmail web interface URLs for each found message. Includes pagination token if more results are available.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
user_google_emailYes
page_sizeNo
page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description fully carries the behavioral burden. It discloses return format and pagination but does not mention read-only nature, rate limits, auth requirements, or error handling. This is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with separate sections for args and returns. It is concise, front-loads the purpose, and every sentence serves a purpose without redundancy.

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 the description's explanation of return values (IDs, links, pagination token) suffices. It could mention potential error cases or limits, but overall it covers the essential aspects adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates: it explains each parameter's purpose (query supports Gmail operators, user_google_email required, page_size defaults to 10, page_token for pagination). This adds significant meaning beyond the schema's types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches messages in a user's Gmail account based on a query, and specifies it returns Message IDs, Thread IDs, and web interface links. It calls out pagination support, making the tool's purpose distinct from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but does not provide when-to-use or when-not-to-use guidance relative to sibling tools like get_gmail_message_content. No explicit alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_messagesC

Searches for messages in Google Chat spaces by text content.

Returns: str: A formatted list of messages matching the search query.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
queryYes
space_idNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden for behavioral disclosure. It only states the return type (formatted list) but omits traits like pagination, rate limits, authentication needs, or behavior when no results found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, front-loading the main purpose. However, it sacrifices necessary detail for brevity, making it slightly too sparse for a complete understanding.

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 4 parameters, no annotations, and the output is a formatted list, the description lacks details on pagination, filtering by space, and authentication. It is incomplete for an agent to correctly invoke the tool without additional knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameter meanings. It mentions 'by text content' but does not detail user_google_email (likely auth), query, space_id (space filter), or page_size (pagination). The description adds minimal value 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?

The description clearly states it searches for messages in Google Chat spaces by text content. It uses a specific verb and resource, and implicitly distinguishes from sibling tools like search_gmail_messages by specifying 'in Google Chat spaces'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like search_gmail_messages, search_docs, or search_drive_files. It does not mention prerequisites or exclusion scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_gmail_messageA

Sends an email using the user's Gmail account. Supports both new emails and replies.

Args: to (str): Recipient email address. subject (str): Email subject. body (str): Email body content. body_format (Literal['plain', 'html']): Email body format. Defaults to 'plain'. cc (Optional[str]): Optional CC email address. bcc (Optional[str]): Optional BCC email address. user_google_email (str): The user's Google email address. Required. thread_id (Optional[str]): Optional Gmail thread ID to reply within. When provided, sends a reply. in_reply_to (Optional[str]): Optional Message-ID of the message being replied to. Used for proper threading. references (Optional[str]): Optional chain of Message-IDs for proper threading. Should include all previous Message-IDs.

Returns: str: Confirmation message with the sent email's message ID.

Examples: # Send a new email send_gmail_message(to="user@example.com", subject="Hello", body="Hi there!")

# Send an HTML email
send_gmail_message(
    to="user@example.com",
    subject="Hello",
    body="<strong>Hi there!</strong>",
    body_format="html"
)

# Send an email with CC and BCC
send_gmail_message(
    to="user@example.com",
    cc="manager@example.com",
    bcc="archive@example.com",
    subject="Project Update",
    body="Here's the latest update..."
)

# Send a reply
send_gmail_message(
    to="user@example.com",
    subject="Re: Meeting tomorrow",
    body="Thanks for the update!",
    thread_id="thread_123",
    in_reply_to="<message123@gmail.com>",
    references="<original@gmail.com> <message123@gmail.com>"
)
ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
toYesRecipient email address.
subjectYesEmail subject.
bodyYesEmail body content (plain text or HTML).
body_formatNoEmail body format. Use 'plain' for plaintext or 'html' for HTML content.plain
ccNoOptional CC email address.
bccNoOptional BCC email address.
thread_idNoOptional Gmail thread ID to reply within.
in_reply_toNoOptional Message-ID of the message being replied to.
referencesNoOptional chain of Message-IDs for proper threading.
dry_runNoIf True, returns a preview and does not send the email. Defaults to True.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It fails to mention the crucial 'dry_run' parameter which defaults to true, meaning the tool by default does not send emails. This omission significantly reduces transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Args, Returns, Examples) and front-loads the main purpose. However, it is somewhat lengthy; could be more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers most aspects but misses the dry_run default behavior and does not mention authentication requirements. Given the tool's complexity, these gaps prevent full contextual completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 91% schema description coverage, the description adds meaningful context beyond the schema, such as explaining how thread_id, in_reply_to, and references work for proper threading. Examples further clarify usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Sends an email using the user's Gmail account' and 'Supports both new emails and replies', clearly identifying the tool's function and distinguishing it from siblings like draft_gmail_message or send_message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for sending emails and replies via examples, but lacks explicit guidance on when to use this tool versus alternatives (e.g., draft_gmail_message) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_messageC

Sends a message to a Google Chat space.

Args: dry_run (bool): If True, preview the message send without mutating Chat.

Returns: str: Confirmation message with sent message details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
space_idYes
message_textYes
thread_keyNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden. It discloses the 'dry_run' parameter behavior ('preview without mutating') and states the return type. However, it omits details like authentication requirements, error handling, or rate limits. The dry_run disclosure adds value but not comprehensively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, with a single sentence of purpose plus an Args and Returns section. It is concise but could use a bit more structure, e.g., a clear one-liner followed by parameter details. However, it is not overly verbose.

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 5 parameters with 3 required, and no parameter descriptions in the schema, the description is incomplete. It covers only one parameter and provides a vague return description. With sibling complexity, it lacks enough context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. Only 'dry_run' is described. Required parameters 'user_google_email', 'space_id', and 'message_text' are completely undocumented. 'thread_key' is also omitted. This is a critical gap.

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 clearly states 'Sends a message to a Google Chat space,' which specifies the verb and resource. However, it does not differentiate from sibling tools like 'send_gmail_message' or 'draft_gmail_message', which have different targets or verb forms. A score of 4 reflects clarity but lack of sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios when send_gmail_message or other messaging tools should be preferred. No explicit when-to-use or when-not-to-use context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_publish_settingsA

Updates the publish settings of a form.

Args: user_google_email (str): The user's Google email address. Required. form_id (str): The ID of the form to update publish settings for. publish_as_template (bool): Whether to publish as a template. Defaults to False. require_authentication (bool): Whether to require authentication to view/submit. Defaults to False. dry_run (bool): If True, preview the update without mutating the form.

Returns: str: Confirmation message of the successful publish settings update.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
form_idYes
publish_as_templateNo
require_authenticationNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are not provided, so the description carries the full burden. It discloses mutation behavior indirectly through the dry_run parameter ('preview the update without mutating'), but does not mention side effects, permission requirements, or what happens if settings are already set. This is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structurally clear with a brief intro sentence followed by a bulleted list of parameters and a return type. It is concise without unnecessary words, though the info could be more front-loaded to quickly convey the tool's primary function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (5 parameters, mutation, output schema exists), the description is somewhat complete. It covers main parameters and return value, but lacks information on error handling, prerequisites (e.g., form existence, permissions), and the exact effect of each boolean parameter on the form's visibility.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains each parameter's purpose: user_google_email and form_id as identifiers, publish_as_template and require_authentication as boolean settings, and dry_run for preview. It also implies default values (dry_run defaults to true per schema) and describes behavior. This adds significant meaning 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?

The description clearly states the action ('Updates the publish settings of a form') and identifies the resource (a form). It distinguishes this tool from siblings like 'update_drive_file' or 'update_google_doc' by specifying the particular kind of update (publish settings).

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 on when to use this tool versus alternatives. The description does not mention prerequisites, when not to use it, or scenarios where other tools might be more appropriate. For a tool that modifies a form's publish settings, this lack of context could lead to misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_google_auth_clientsA

Ensure auth_clients.json exists for single-MCP multi-client auth routing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behaviors. It only states the file is 'ensured' to exist, but does not explain whether it creates, overwrites, or validates the file, nor any side effects or permissions needed. The behavioral profile is insufficiently specified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the key action and file name. No unnecessary words; highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema exists, the description is minimal but sufficient for the core action. However, it lacks context about the expected output, its role in the auth setup flow, and how it relates to other auth tools. Some completeness is missing.

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?

No parameters exist, so schema coverage is 100%. The baseline is 4 per rubric, and the description adds no parameter information as none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool ensures existence of `auth_clients.json` for a specific purpose (multi-client auth routing), using a specific verb 'Ensure'. It distinguishes from siblings like 'start_google_auth' and 'import_google_auth_client' by focusing on the foundational file setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., import_google_auth_client, start_google_auth). The description does not indicate prerequisites or ordering, leaving the agent to infer usage context from the file name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

share_drive_fileA

Shares a Google Drive file or folder with a user, group, domain, or anyone with the link.

When sharing a folder, all files inside inherit the permission.

Args: user_google_email (str): The user's Google email address. Required. file_id (str): The ID of the file or folder to share. Required. share_with (Optional[str]): Email address (for user/group), domain name (for domain), or omit for 'anyone'. role (str): Permission role - 'reader', 'commenter', or 'writer'. Defaults to 'reader'. share_type (str): Type of sharing - 'user', 'group', 'domain', or 'anyone'. Defaults to 'user'. send_notification (bool): Whether to send a notification email. Defaults to True. email_message (Optional[str]): Custom message for the notification email. expiration_time (Optional[str]): Expiration time in RFC 3339 format (e.g., "2025-01-15T00:00:00Z"). Permission auto-revokes after this time. allow_file_discovery (Optional[bool]): For 'domain' or 'anyone' shares - whether the file can be found via search. Defaults to None (API default). dry_run (bool): If True, returns a preview and does not create sharing permissions. Defaults to True.

Returns: str: Confirmation with permission details and shareable link.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes
share_withNo
roleNoreader
share_typeNouser
send_notificationNo
email_messageNo
expiration_timeNo
allow_file_discoveryNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds useful context beyond schema: 'When sharing a folder, all files inside inherit the permission', dry_run returns preview, expiration_time auto-revokes. Lacks details on overwrite behavior or permission requirements.

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?

Front-loaded summary with clear bullet list for parameters. No fluff, every sentence adds value. Well-organized for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers parameters, behavior, and return value. Missing mention of permission overwrite behavior. Nearly complete given output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Comprehensive Args section explaining each parameter: share_with options, role default, dry_run purpose, expiration format. Schema coverage is 0% so description fully compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb-resource pair: 'Shares a Google Drive file or folder' distinguishes from siblings like 'update_drive_permission' (modify) and 'remove_drive_permission' (remove). Includes scope (user, group, domain, anyone).

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 explicit guidance on when to use this tool versus alternatives like 'batch_share_drive_file' or 'update_drive_permission'. Does not mention conditions or prerequisites (e.g., ownership).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_google_authA

Manually initiate Google OAuth authentication flow.

NOTE: This tool should typically NOT be called directly. The authentication system automatically handles credential checks and prompts for authentication when needed. Only use this tool if:

  1. You need to re-authenticate with different credentials

  2. You want to proactively authenticate before using other tools

  3. The automatic authentication flow failed and you need to retry

In most cases, simply try calling the Google Workspace tool you need - it will automatically handle authentication if required.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYes
user_google_emailNouser@gmail.com

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It transparently explains the manual initiation vs automatic flow. While it doesn't detail edge cases or consequences of misuse, it provides sufficient context for an agent to understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It front-loads the purpose, then provides usage guidance in a clear list format. Every sentence adds value without redundancy.

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 an authentication tool with output schema, the description covers purpose and usage well. It could mention prerequisite setup tools (e.g., setup_google_auth_clients) but is otherwise complete given the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description does not explain the two parameters ('service_name' and 'user_google_email'), leaving the agent without guidance on what values to provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it initiates Google OAuth authentication flow. It specifies the action (manually initiate) and the resource (authentication flow). It distinguishes from the automatic handling by noting this is typically not needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when NOT to use it (typically not called directly) and provides three specific scenarios for when it is appropriate: re-authentication, proactive authentication, and retrying after failure. It also directs to just call the needed tool instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_drive_ownershipA

Transfers ownership of a Google Drive file or folder to another user.

This is an irreversible operation. The current owner will become an editor. Only works within the same Google Workspace domain or for personal accounts.

Args: user_google_email (str): The user's Google email address. Required. file_id (str): The ID of the file or folder to transfer. Required. new_owner_email (str): Email address of the new owner. Required. move_to_new_owners_root (bool): If True, moves the file to the new owner's My Drive root. Defaults to False. dry_run (bool): If True, returns a preview and does not transfer ownership. Defaults to True.

Returns: str: Confirmation of the ownership transfer.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes
new_owner_emailYes
move_to_new_owners_rootNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses key behaviors: irreversibility, role change (current owner becomes editor), domain restrictions, and the effect of parameters like dry_run for preview. This is comprehensive beyond the input schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose sentence, behavioral notes, parameter list, and return description. It is front-loaded and each part serves a purpose without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's ownership transfer complexity, no annotations, and presence of an output schema, the description covers all necessary aspects: purpose, behavioral traits, parameter semantics, constraints, and return value. It is fully complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains all 5 parameters, including their roles, required status, defaults, and effects (e.g., move_to_new_owners_root moves file to new owner's root; dry_run provides preview). This compensates for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'transfers' and the resource 'ownership of a Google Drive file or folder'. It distinguishes from sibling tools like 'share_drive_file' by focusing on ownership transfer rather than sharing permissions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies domain restrictions ('Only works within the same Google Workspace domain or for personal accounts') and notes irreversibility, providing context for when to use. However, it does not explicitly name alternatives or when not to use, such as suggesting 'share_drive_file' for non-ownership sharing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_conditional_formattingA

Updates an existing conditional formatting rule by index on a sheet.

Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet. Required. range_name (Optional[str]): A1-style range to apply the updated rule (optionally with sheet name). If omitted, existing ranges are preserved. rule_index (int): Index of the rule to update (0-based). condition_type (Optional[str]): Sheets condition type. If omitted, the existing rule's type is preserved. condition_values (Optional[Union[str, List[Union[str, int, float]]]]): Values for the condition. background_color (Optional[str]): Hex background color when condition matches. text_color (Optional[str]): Hex text color when condition matches. sheet_name (Optional[str]): Sheet name to locate the rule when range_name is omitted. Defaults to first sheet. gradient_points (Optional[Union[str, List[dict]]]): If provided, updates the rule to a gradient color scale using these points. dry_run (bool): When True (default), return planned update details without mutating the sheet.

Returns: str: Confirmation of the updated rule and the current rule state.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
spreadsheet_idYes
rule_indexYes
range_nameNo
condition_typeNo
condition_valuesNo
background_colorNo
text_colorNo
sheet_nameNo
gradient_pointsNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description fully discloses behavior: optional parameters preserve existing values, the 'dry_run' parameter shows planned changes without mutation, and the return includes confirmation and state. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear Args and Returns sections, but some entries could be slightly more concise, e.g., grouping optional flags. However, it is efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters and an output schema, the description covers all inputs and return behavior thoroughly. It provides enough detail for an agent to invoke the tool correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates excellently by explaining each parameter's purpose, optionality, and default behavior (e.g., 'If omitted, existing ranges are preserved' and 'updates to gradient color scale' for gradient_points).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Updates an existing conditional formatting rule by index on a sheet,' specifying the verb, resource, and methodology. It distinguishes itself from siblings like 'add_conditional_formatting' and 'delete_conditional_formatting'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when an existing rule needs modification, but does not explicitly state when not to use or provide alternatives. The need for a rule_index is clear, but no guidance on prerequisites or context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_deploymentA

Update an Apps Script deployment.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. deployment_id: The deployment ID to update. description: Updated deployment description. version_number: Optional target version number. dry_run: Preview deployment update without mutation. Defaults to True.

Returns: str: Confirmation of preview or update.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
deployment_idYes
descriptionYes
version_numberNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description discloses key behaviors: the dry_run parameter defaults to True and controls mutation, and the return value is a confirmation string. It does not cover auth requirements or rate limits, but the core update behavior is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at about 8 lines, with a clear one-line summary followed by structured Args and Returns sections. It is front-loaded and every line serves a purpose, but the Args section could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters and an output schema, the description adequately explains parameters and return type. It covers the dry_run behavior but lacks details on error scenarios or prerequisites. Overall, it is sufficient for an agent to use the tool correctly.

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 description adds semantic meaning beyond the input schema by explaining each parameter's role (e.g., 'The user's Google email address. Required.' and 'Preview deployment update without mutation.'). Given 0% schema description coverage, this compensates well, though some parameter formats are unspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update an Apps Script deployment' which is a specific verb+resource. It is distinct from sibling tools like create_deployment, delete_deployment, and list_deployments, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates it is for updating an existing deployment by listing required parameters (user_google_email, script_id, deployment_id, description). However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_doc_headers_footersB

Updates headers or footers in a Google Doc.

Args: user_google_email: User's Google email address document_id: ID of the document to update section_type: Type of section to update ("header" or "footer") content: Text content for the header/footer header_footer_type: Type of header/footer ("DEFAULT", "FIRST_PAGE_ONLY", "EVEN_PAGE") dry_run: When True (default), return planned mutation without executing it

Returns: str: Confirmation message with update details

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
document_idYes
section_typeYes
contentYes
header_footer_typeNoDEFAULT
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear full responsibility for behavioral disclosure. It does not mention side effects (e.g., overwriting existing content), permissions required, or whether the operation is reversible. The dry_run parameter is helpful but insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured as a docstring with distinct sections (short summary, Args, Returns). It avoids redundancy and is front-loaded with the core purpose. Minor improvement would be to condense parameter lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no annotations, and the presence of an output schema, the description provides adequate guidance for typical use but lacks details on error handling, access requirements, or interaction with existing headers/footers. The dry_run parameter adds some completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description provides brief but meaningful explanations for each parameter, including the acceptable values for 'header_footer_type'. This adds significant value over the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Updates') and the resource ('headers or footers in a Google Doc'), specifying exactly what the tool does. It is distinct from sibling tools like 'update_google_doc' which imply broader document changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives like 'batch_update_doc' or 'insert_doc_elements'. There is no mention of prerequisites or conditions for use, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_drive_fileA

Updates metadata and properties of a Google Drive file.

Args: user_google_email (str): The user's Google email address. Required. file_id (str): The ID of the file to update. Required. name (Optional[str]): New name for the file. description (Optional[str]): New description for the file. mime_type (Optional[str]): New MIME type (note: changing type may require content upload). add_parents (Optional[str]): Comma-separated folder IDs to add as parents. remove_parents (Optional[str]): Comma-separated folder IDs to remove from parents. starred (Optional[bool]): Whether to star/unstar the file. trashed (Optional[bool]): Whether to move file to/from trash. writers_can_share (Optional[bool]): Whether editors can share the file. copy_requires_writer_permission (Optional[bool]): Whether copying requires writer permission. properties (Optional[dict]): Custom key-value properties for the file. dry_run (bool): If True, returns a preview and does not update the file. Defaults to True.

Returns: str: Confirmation message with details of the updates applied.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes
nameNo
descriptionNo
mime_typeNo
add_parentsNo
remove_parentsNo
starredNo
trashedNo
writers_can_shareNo
copy_requires_writer_permissionNo
propertiesNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description partially discloses behavior: dry_run defaults to True (preview mode), and changing MIME type may require content upload. However, it omits permission requirements, rate limits, or whether updates are reversible.

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 verbose but well-structured with Args and Returns sections. It is front-loaded with the purpose. Every sentence adds value, though slight redundancy in the parameter list could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters and no annotations, the description covers inputs and return value adequately. It includes the dry_run behavior and a warning on MIME type changes, but lacks examples, error handling, or authentication prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully documents each parameter with types, optionality, and contextual notes (e.g., mime_type note, dry_run default). This adds significant meaning 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?

The description clearly states 'Updates metadata and properties of a Google Drive file,' specifying the action and resource. It distinguishes from sibling tools that focus on content (update_google_doc) or permissions (update_drive_permission).

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 explicit guidance on when to use this tool versus alternatives like update_google_doc or update_drive_permission. The description does not provide context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_drive_permissionB

Updates an existing permission on a Google Drive file or folder.

Args: user_google_email (str): The user's Google email address. Required. file_id (str): The ID of the file or folder. Required. permission_id (str): The ID of the permission to update (from get_drive_file_permissions). Required. role (Optional[str]): New role - 'reader', 'commenter', or 'writer'. If not provided, role unchanged. expiration_time (Optional[str]): Expiration time in RFC 3339 format (e.g., "2025-01-15T00:00:00Z"). Set or update when permission expires. dry_run (bool): If True, returns a preview and does not update permissions. Defaults to True.

Returns: str: Confirmation with updated permission details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
file_idYes
permission_idYes
roleNo
expiration_timeNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It discloses the dry_run parameter and its default (True), implying a safety preview. However, it does not mention required permissions, idempotency, side effects, or error handling, which are critical 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?

The description is well-structured with a brief intro followed by a parameter list. It is concise yet covers all necessary details. Minor verbosity in parameter descriptions could be trimmed, but overall it is clear and direct.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, mutation, output schema exists), the description adequately explains parameters and the dry_run feature. However, it omits prerequisites (e.g., ownership or edit permissions), error conditions, and does not leverage the output schema to clarify return values. The coverage is sufficient but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries full burden for parameter meaning. It provides clear explanations for all 6 parameters, including the role values ('reader', 'commenter', 'writer'), expiration_time format, and the dry_run behavior. This adds significant value beyond the bare 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 clearly states the action (updates) and resource (existing permission on a Drive file/folder). It is specific enough to distinguish from sibling tools like share_drive_file or remove_drive_permission, but does not explicitly differentiate from similar update 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?

No guidance is provided on when to use this tool versus alternatives (e.g., share_drive_file for adding permissions, batch_share_drive_file for bulk operations). The description does not mention prerequisites or exclusions, leaving the agent to infer usage from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_google_docA

Upload content from a local file to its linked Google Doc. SAFETY: Defaults to dry_run=True. Usage must explicitly set dry_run=False to apply changes.

Args: user_google_email: The user's Google email address. Required. local_path: Path to the local file. force: If True, overwrite even if the remote file has changed since last sync. dry_run: If True (default), return a diff of changes instead of updating. Set to False to apply.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
local_pathYes
forceNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses dry_run behavior and force parameter but does not mention authentication needs, rate limits, or whether content replaces or appends. Annotations are absent, so the description partially fulfills the 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?

Efficiently structured: 2-line purpose followed by bulleted args. Every sentence adds value, and the safety note is prominent. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description need not detail return values. It covers the core workflow and parameters, but could mention the linking prerequisite. Slightly incomplete for a 4-param tool with no annotations.

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?

All four parameters are described with purpose and constraints (e.g., dry_run defaults to True, force overwrites). Since schema coverage is 0%, the description compensates well by adding meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Upload content from a local file to its linked Google Doc,' which is a specific verb+resource combination. It distinguishes from sibling tools like batch_update_doc or insert_doc_elements by focusing on local file upload to a pre-linked doc.

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 mentions the dry_run default and requirement to set it to False for actual updates, providing safety guidance. However, it does not compare directly with alternatives or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_script_contentB

Update Apps Script project files.

Args: user_google_email: The user's Google email address. Required. script_id: The Apps Script project ID. files_json: JSON list of file objects (name, type, source). dry_run: Preview content update without mutation. Defaults to True.

Returns: str: Confirmation of preview or update.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
script_idYes
files_jsonYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It covers the dry_run parameter's purpose and default, and the return type, but does not explain whether the update is incremental or full replacement, nor error conditions or side effects like overwriting existing files.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured with Args and Returns sections. Every sentence serves a purpose without redundancy. The key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no annotations, and a simple output schema, the description covers parameters and return value but omits important details like whether the update replaces all files or merges, and the exact nature of the 'preview' response. This leaves gaps for an agent to fully understand the tool's behavior.

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?

Since schema description coverage is 0%, the description adds critical meaning: it labels user_google_email as required, specifies files_json structure, and explains dry_run's default and behavior. However, it could provide more detail on file object fields (e.g., allowed types) and script_id context.

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 clearly states the tool updates Apps Script project files, with specific verb and resource. It distinguishes from siblings like 'get_script_content' or 'create_script_project' by naming the action and key parameters, though it does not explicitly differentiate from similar update tools like 'update_deployment'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor any conditions for usage. It describes what the tool does but does not set expectations for appropriate contexts or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_taskA

Update an existing task.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list containing the task. task_id (str): The ID of the task to update. title (Optional[str]): New title for the task. notes (Optional[str]): New notes/description for the task. status (Optional[str]): New status ("needsAction" or "completed"). due (Optional[str]): New due date in RFC 3339 format. dry_run (bool): When True (default), return planned mutation without executing.

Returns: str: Confirmation message with updated task details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
task_idYes
titleNo
notesNo
statusNo
dueNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear the full burden. It discloses dry_run behavior and return type, but does not mention error handling, required permissions, or side effects like what happens if task_id is invalid. The description adds some context but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args and Returns sections, front-loading the purpose. It is concise for an 8-parameter tool, with no redundant sentences. Could be slightly more compact, but 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?

Given the tool has 8 parameters, no annotations, and an output schema (not shown in detail but described as returning a string), the description covers all parameters, return value, and dry_run behavior. It lacks error case handling and authorization requirements, but is still fairly complete for the update operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining each parameter, including optionality, status options ('needsAction' or 'completed'), and due date format (RFC 3339). It clarifies the dry_run purpose. Some parameters could have more detail (e.g., notes format), but overall adds significant value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update an existing task', clearly identifying the verb (update) and resource (task). It distinguishes from sibling tools like create_task, delete_task, move_task, and clear_completed_tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when modifying an existing task, but does not explicitly provide when-to-use or when-not-to-use guidance relative to alternatives like move_task or clear_completed_tasks. The tool name and function are clear enough to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_task_listB

Update an existing task list.

Args: user_google_email (str): The user's Google email address. Required. task_list_id (str): The ID of the task list to update. title (str): The new title for the task list. dry_run (bool): If True, preview the update without mutating the task list.

Returns: str: Confirmation message with updated task list details.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
task_list_idYes
titleYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description lacks disclosure of behavioral traits such as whether the update is partial or full, authorization needs, or effects on other data. The dry_run parameter is mentioned but no further transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single sentence for purpose followed by parameter details, though the Args section could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and detailed parameter descriptions, the description is mostly complete but lacks information on error handling or behavior under edge cases.

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 docstring explains each parameter including user_google_email, task_list_id, title, and dry_run, adding meaning beyond the schema which has 0% description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update an existing task list', which is a specific verb and resource, distinguishing it from siblings like create_task_list and delete_task_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are there any exclusions or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_folderA

Recursively upload a local folder to Google Drive using BFS traversal. More robust than recursion - handles deep trees and reports errors gracefully.

Args: user_google_email: The user's Google email address. Required. local_path: Path to the local folder to upload. parent_folder_id: Optional parent folder ID in Drive. If None, uploads to root. dry_run: If True (default), return planned upload summary without mutating Drive or sync metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
local_pathYes
parent_folder_idNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description bears full burden. It discloses recursive BFS traversal, error handling, and dry_run behavior (mutates only when false). It also mentions avoiding mutation of sync metadata. Lacks specifics on conflict handling (e.g., overwriting), but overall good transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with no fluff. First sentence states purpose, then a BFS note, then parameter list. Could use bullet points for args, but it's well-front-loaded and each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no annotations, and no schema coverage, the description covers all parameters, behavior, and usage. Output schema is present so return values need not be described. Missing some error scenarios, but sufficient for typical invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It does: explains each parameter's purpose, defaults, and requirements. E.g., user_google_email's type and requirement, parent_folder_id optional with default, dry_run's default and effect. Missing constraints like path being a folder, but still valuable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Recursively upload a local folder to Google Drive'. It specifies the verb (upload) and resource (local folder to Google Drive), and distinguishes from siblings like 'mirror_drive_folder' and 'link_local_file' by mentioning BFS traversal and error handling. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (for uploading folders recursively, especially deep trees) but does not explicitly state when not to use or provide alternatives. With many sibling tools like 'mirror_drive_folder', some guidance on differentiation would improve the score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 126 tool updatesv1.0.10
    • First observedadd_conditional_formatting
    • First observedbatch_modify_gmail_message_labels
    • First observedbatch_share_drive_file
    • First observedbatch_update_doc
    • First observedbatch_update_presentation
    • First observedcheck_drive_file_public_access
    • First observedclear_completed_tasks
    • First observedcomplete_google_auth
    • First observedcreate_deployment
    • First observedcreate_doc
    • First observedcreate_document_comment
    • First observedcreate_drive_file
    • First observedcreate_event
    • First observedcreate_form
    • First observedcreate_gmail_filter
    • First observedcreate_presentation
    • First observedcreate_presentation_comment
    • First observedcreate_script_project
    • First observedcreate_sheet
    • First observedcreate_spreadsheet
    • First observedcreate_spreadsheet_comment
    • First observedcreate_table_with_data
    • First observedcreate_task
    • First observedcreate_task_list
    • First observedcreate_version
    • First observeddebug_table_structure
    • First observeddelete_conditional_formatting
    • First observeddelete_deployment
    • First observeddelete_event
    • First observeddelete_gmail_filter
    • First observeddelete_script_project
    • First observeddelete_task
    • First observeddelete_task_list
    • First observeddownload_doc_tabs
    • First observeddownload_google_doc
    • First observeddraft_gmail_message
    • First observedexport_doc_to_pdf
    • First observedfind_and_replace_doc
    • First observedformat_sheet_range
    • First observedget_doc_content
    • First observedget_drive_file_content
    • First observedget_drive_file_download_url
    • First observedget_drive_file_permissions
    • First observedget_drive_shareable_link
    • First observedget_events
    • First observedget_form
    • First observedget_form_response
    • First observedget_gmail_attachment_content
    • First observedget_gmail_message_content
    • First observedget_gmail_messages_content_batch
    • First observedget_gmail_thread_content
    • First observedget_gmail_threads_content_batch
    • First observedget_messages
    • First observedget_page
    • First observedget_page_thumbnail
    • First observedget_presentation
    • First observedget_script_content
    • First observedget_script_metrics
    • First observedget_script_project
    • First observedget_search_engine_info
    • First observedget_spreadsheet_info
    • First observedget_task
    • First observedget_task_list
    • First observedget_version
    • First observedimport_google_auth_client
    • First observedinsert_doc_elements
    • First observedinsert_doc_image
    • First observedinsert_markdown
    • First observedinspect_doc_structure
    • First observedlink_local_file
    • First observedlist_calendars
    • First observedlist_deployments
    • First observedlist_docs_in_folder
    • First observedlist_drive_items
    • First observedlist_form_responses
    • First observedlist_gmail_filters
    • First observedlist_gmail_labels
    • First observedlist_script_processes
    • First observedlist_script_projects
    • First observedlist_spaces
    • First observedlist_spreadsheets
    • First observedlist_task_lists
    • First observedlist_tasks
    • First observedlist_versions
    • First observedmanage_gmail_label
    • First observedmirror_drive_folder
    • First observedmodify_doc_text
    • First observedmodify_event
    • First observedmodify_gmail_message_labels
    • First observedmodify_sheet_values
    • First observedmove_task
    • First observedread_document_comments
    • First observedread_presentation_comments
    • First observedread_sheet_values
    • First observedread_spreadsheet_comments
    • First observedremove_drive_permission
    • First observedreply_to_document_comment
    • First observedreply_to_presentation_comment
    • First observedreply_to_spreadsheet_comment
    • First observedresolve_document_comment
    • First observedresolve_presentation_comment
    • First observedresolve_spreadsheet_comment
    • First observedrun_script_function
    • First observedsearch_custom
    • First observedsearch_custom_siterestrict
    • First observedsearch_docs
    • First observedsearch_drive_files
    • First observedsearch_gmail_messages
    • First observedsearch_messages
    • First observedsend_gmail_message
    • First observedsend_message
    • First observedset_publish_settings
    • First observedsetup_google_auth_clients
    • First observedshare_drive_file
    • First observedstart_google_auth
    • First observedtransfer_drive_ownership
    • First observedupdate_conditional_formatting
    • First observedupdate_deployment
    • First observedupdate_doc_headers_footers
    • First observedupdate_drive_file
    • First observedupdate_drive_permission
    • First observedupdate_google_doc
    • First observedupdate_script_content
    • First observedupdate_task
    • First observedupdate_task_list
    • First observedupload_folder

TDQS

B3.3/5.0
Disambiguation5/5

Each tool targets a specific Google Workspace service and action, with clear names like 'create_doc', 'send_gmail_message', etc. There is no functional overlap even among similar tools across different services, as they are prefixed by service name.

Naming Consistency4/5

The predominant naming convention is verb_noun snake_case, consistent across most tools. However, some tools deviate slightly, such as 'setup_google_auth_clients' and 'debug_table_structure', and there are batch variants that add 'batch_' prefix inconsistently.

Tool Count2/5

With 126 tools, the count is excessively high for a single MCP server, including many specialized functions (e.g., multiple debug and batch tools). This volume makes it difficult for an agent to efficiently navigate and select the right tool, despite good naming.

Completeness4/5

The server covers most core Google Workspace services (Mail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Chat, Apps Script, Search) with robust CRUD and lifecycle operations. Minor gaps exist, such as missing delete for spreadsheets or list for presentations, but overall coverage is very strong.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Skeptomenos/google-workspace-mcp-advanced'

If you have feedback or need assistance with the MCP directory API, please join our Discord server