Skip to main content
Glama
nabheet

google-services-mcp

by nabheet

google-services-mcp

MCP (Model Context Protocol) server that gives AI agents direct access to your Google services — Gmail, Calendar, Google Meet, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube, and Forms — with multi-account OAuth support.

Add one account, wire the server into any MCP-compatible AI client, and your agent can read and send email, manage your calendar, find files in Drive, create documents and spreadsheets, and more — using your real Google data.

npm install -g google-services-mcp     # or run without installing: npx -y google-services-mcp

Google Workspace MCP

One MCP server for your Google Workspace apps — Gmail, Calendar, Google Meet, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube, and Forms — with multi-account OAuth. Every tool is prefixed google_ (e.g. google_gmail_list, google_calendar_list_events), so agents can combine services freely: read email, then create a Calendar event from it, or attach a Drive file to a draft.

Related MCP server: google-cli-mcp

Features

  • Gmail — full Gmail access: send, draft, reply, list, read, search, label, and manage attachments

  • Calendar — Google Calendar events: list calendars, create/read/update/delete events, create Google Meet links

  • Drive — list, read, upload, update, delete, and share files

  • Contacts — list, search, and create contacts

  • Tasks — list task lists, create/complete/delete tasks

  • Sheets — create spreadsheets, read/write/append cell ranges, batch update

  • Docs — create documents, read text, insert/replace text, batch update

  • Slides — create presentations, add/delete slides, find-and-replace text

  • YouTube — search videos, manage uploads/playlists/subscriptions

  • Forms — create forms, add questions, read responses

  • Multi-account — connect several Google accounts, set a default, or pass an account argument to any tool

  • OAuth 2.0 — one-time browser authorization; tokens are stored locally and refreshed automatically

134 tools across 11 services, all prefixed google_. Full reference: docs/TOOLS.md.

Requirements

  • Node.js 24+ (CI runs Node 24; local dev on 26)

  • A Google Cloud project with the required APIs enabled and an OAuth 2.0 Desktop app client (one-time setup, ~10 minutes — see below)

Install

No install needed — run straight from npm via npx:

npx -y google-services-mcp --version

npx downloads the package on first run and caches it. Every command in this README (add, list, status, ...) works the same way:

npx -y google-services-mcp add personal

Pin a version for reproducibility — check the current release with npm view google-services-mcp version, then run an exact version:

npx -y google-services-mcp@<version> add personal

MCP clients auto-launch this server, so pinning avoids surprise breakage when a new release ships.

Alternative: global install

Prefer a persistent google-services-mcp command (and faster MCP client startup)?

npm install -g google-services-mcp

Then replace npx -y google-services-mcp with google-services-mcp everywhere below.

Release channels

  • latest — stable releases, published automatically on every merge to main

  • beta — staging builds, published manually from main (e.g. 0.x.x-beta.0)

Try the staging channel without touching your stable install:

npx -y google-services-mcp@beta --version

All publishes are signed with npm provenance (trusted publishing via GitHub Actions OIDC) — no npm token is stored in CI.

Quick start

  1. Add a Google account — opens your browser for one-time authorization:

    npx -y google-services-mcp add personal
  2. Register the server with your MCP client (see MCP client configuration for Claude Desktop, opencode, and generic configs).

  3. Start using it — ask your agent to "check my email" or "add an event to my calendar". Or add more accounts any time: npx -y google-services-mcp add work.

MCP client configuration

The server speaks MCP over stdio. Point your client at the google-services-mcp package via npx and pass your OAuth credentials via environment variables. (If you installed globally, use google-services-mcp as the command instead.)

opencode

In opencode.json (or your global config):

{
  "mcp": {
    "google-services-mcp": {
      "type": "local",
      "command": ["npx", "-y", "google-services-mcp"],
      "enabled": true,
      "environment": {
        "GOOGLE_MCP_CLIENT_ID": "your-client-id",
        "GOOGLE_MCP_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Claude Desktop / Cursor / other MCP clients

In the client's MCP settings file (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "google-services-mcp": {
      "command": "npx",
      "args": ["-y", "google-services-mcp"],
      "env": {
        "GOOGLE_MCP_CLIENT_ID": "your-client-id",
        "GOOGLE_MCP_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Google Cloud setup (one-time)

Each installation uses its own OAuth client — credentials are per-user and never shared.

1. Create a project

Open the Google Cloud Console, choose Select a project → New Project, and name it (e.g. google-services-mcp).

APIs & Services → OAuth consent screen:

  1. User type: External (required for regular Google accounts).

  2. App name: anything you like (e.g. Google Service MCP); support email = yours.

  3. Under Audience → Test users, click Add users and enter every Google account that will use this server. While the app is in Testing mode, accounts not on this list get access blocked on the consent screen.

3. Enable the required APIs

APIs & Services → Library, search and Enable each:

Gmail API · Google Calendar API · Google Drive API · People API · Google Tasks API · Google Sheets API · Google Docs API · Google Slides API · YouTube Data API v3 · Google Forms API

Automated: with the gcloud CLI installed and authenticated (gcloud auth login), enable all 10 APIs at once — idempotent, safe to re-run:

bash scripts/enable-apis.sh --project your-project-id

4. Create OAuth client credentials

APIs & Services → Credentials → Create Credentials → OAuth client ID:

  1. Application type: Desktop app.

  2. Authorized redirect URIs: http://localhost:8787.

  3. Copy the Client ID and Client Secret.

5. Provide the credentials

Set these environment variables (or put them in your MCP client config as above):

GOOGLE_MCP_CLIENT_ID=<your-oauth-client-id>
GOOGLE_MCP_CLIENT_SECRET=<your-oauth-client-secret>

Optional:

GOOGLE_MCP_DIR=~/.google-services-mcp   # where config and tokens live (default ~/.google-services-mcp)
GOOGLE_MCP_REDIRECT_PORT=8787          # local loopback port for OAuth (default 8787)
# Full redirect URI override. Takes precedence over REDIRECT_PORT and must
# exactly match a URI registered for this OAuth client in the Cloud Console.
# GOOGLE_MCP_REDIRECT_URI=http://127.0.0.1:8787/oauth2callback

6. Connect your first account

npx -y google-services-mcp add personal

A browser opens to the Google consent screen. After you approve, the account is stored in ~/.google-services-mcp/accounts/ and ready to use. Repeat with a different name (e.g. work) to connect more accounts.

CLI reference

npx -y google-services-mcp                     # run the MCP server over stdio
npx -y google-services-mcp add <name>          # add a Google account (opens browser)
npx -y google-services-mcp list                # list connected accounts
npx -y google-services-mcp remove <name>       # remove an account
npx -y google-services-mcp set-default <name>  # set the default account
npx -y google-services-mcp status              # show config and token health
npx -y google-services-mcp --help              # show help

For AI agents

  • All tools are prefixed google_, e.g. google_gmail_list, google_calendar_list_events, google_drive_list_files.

  • The account argument selects which connected account a tool uses; omit it to use the default account.

  • Agents can connect new accounts themselves via the account_add tool — it opens the browser consent flow without needing the CLI.

  • See docs/TOOLS.md for the full tool reference.

Security

  • OAuth tokens are stored in ~/.google-services-mcp/accounts/<account-name>.json with restrictive file permissions. Keep them private — never commit them.

  • The server never logs tokens or credentials.

  • Scopes requested: Gmail modify, Calendar, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube, Forms, plus userinfo.email for account display.

  • If a client secret is ever exposed, rotate it in the Google Cloud Console (Credentials → your OAuth client → rotate secret).

Troubleshooting

Symptom

Cause / fix

access blocked on consent

Account not in Test users (setup step 2.3) — add it and retry

redirect_uri_mismatch

Exactly http://localhost:8787 (no trailing slash), per OAuth client

Tokens stop after ~7 days

App in Testing mode — re-run add or Publish app

npx not found

GUI clients may lack PATH — use /usr/local/bin/npx or global install

Google hasn't verified this app

Normal — click Advanced → Continue for personal use

Local development

git clone https://github.com/nabheet/google-services-mcp.git
cd google-services-mcp
npm install
npm run build        # compile to dist/
npm test             # vitest, TDD suites (incl. hermetic E2E in test/e2e/)
npm run typecheck    # tsc --noEmit
npm run dev          # run from source with tsx

See AGENTS.md for architecture and conventions.

Releases (maintainers)

All publishing happens from GitHub Actions — no local npm login needed:

  1. Stable — every merge to main auto-publishes the next patch version to latest with provenance, then creates a vX.Y.Z tag and GitHub release. No manual steps. The next version is derived from the last published latest on npm, so repeated merges never collide; an intentional minor/major bump in package.json is honored.

  2. Staging — manual beta builds from main: Actions → CI → Run workflow. Publishes a beta build (0.1.1-beta.X) under the beta dist-tag with provenance.

Prerelease tags v*-beta* publish to beta with a prerelease GitHub release (patch/minor builds for milestone testing). Publishing uses npm trusted publishing (OIDC): configure it once per package at npmjs.com/package/google-services-mcp/access with the GitHub repository nabheet/google-services-mcp and workflow name ci.yml. npm allows one trusted publisher per package and validates the calling workflow's filename — all channels run from the same ci.yml file. No NPM_TOKEN secret is required.

License

MIT

Available Tools

134 tools
google_account_addAdd a Google accountA

Start the OAuth consent flow to connect a new Google account. Opens a browser for sign-in.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNickname for the account (e.g. personal, work).
openBrowserNoOpen a browser automatically (default true).

TDQS

A4/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 behavioral burden. It clearly discloses that this starts an interactive OAuth consent flow and opens a browser for sign-in, which are the key side effects. It could additionally mention that the flow requires user interaction or that a token is stored after successful sign-in, but the core behavior 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.

Conciseness5/5

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

Two short sentences with no filler. The main action ('Start the OAuth consent flow') is front-loaded, and the browser behavior is stated immediately after.

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 two-parameter interactive tool, the description covers the initiation, the mechanism, and the user-visible behavior. It does not describe the post-sign-in result or the fact that the flow is blocking/interactive, but these are not critical given the overall simplicity and fully described schema.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already fully documents both parameters. The description adds little beyond the schema, though 'new Google account' reinforces that the name parameter is a nickname for a newly linked account. Baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb and resource ('add'/'connect a new Google account') and clearly names the OAuth consent flow as the mechanism. It is easy to distinguish from sibling account-management tools like google_account_remove, google_account_set_default, google_account_list, and google_account_status.

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

Usage Guidelines3/5

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

The purpose implies when to use it: when a new Google account needs to be connected. However, it does not explicitly mention when not to use it or point to alternatives such as google_account_list for checking connected accounts or google_account_remove for removing an existing one.

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

google_account_listList connected Google accountsA

List all connected accounts with their email and default status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/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 the output fields (email, default status) and implies a read-only operation through 'List all.' However, it does not explicitly state that it is safe and non-destructive, nor does it mention any authentication prerequisites or response format beyond the fields listed. This is adequate for a simple read tool 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 a single concise sentence that front-loads the action ('List all connected accounts') and adds essential detail ('with their email and default status'). Every word earns its place, with no fluff or repetition.

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 no parameters, no output schema, and no annotations, the description is fairly complete. It states what is returned (email and default status), implying a collection result. It doesn't mention the exact return format or any edge cases, but given the low complexity, this is sufficient. A slight gap is the lack of explicit statement that it lists all accounts across all connections, though 'all connected accounts' conveys that.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is 100% (effectively no parameters). According to the baseline for 0 params, a score of 4 is appropriate. The description does not need to elaborate on parameters since there are none, and the absence of any parameter mention is acceptable.

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's function: 'List all connected accounts with their email and default status.' It identifies the resource (connected accounts) and the specific action (list all). It differentiates from siblings like google_account_add/remove/set_default by indicating a read operation, but does not explicitly contrast with google_account_status, so it doesn't fully distinguish itself.

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 only states what it does, without mentioning that it should be used when you need an overview of all accounts, or that google_account_status might be used for a single account. No exclusions or alternative tool references are provided.

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

google_account_removeRemove a Google accountB

Disconnect an account and delete its stored tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAccount nickname to remove.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of disclosure. It does state the destructive effect clearly ('delete its stored tokens'), which is useful, but it omits important side effects such as requiring re-authentication, breaking dependent Google tools, or irreversibility of the token deletion.

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

Conciseness4/5

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

One sentence with no filler, front-loading the key action. It is appropriately concise for a simple tool, though it could earn a 5 by including a short clause about re-authentication or side effects without becoming 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?

Given the low complexity and single well-documented parameter, the description is mostly adequate, but the lack of annotations and output schema leaves the return value, success/failure behavior, and impact on connected tools undisclosed. For a destructive account operation, slightly more context would make it 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 schema already provides 100% coverage for the single parameter, describing 'name' as 'Account nickname to remove'. The description adds no further meaning, so the baseline of 3 applies because the schema handles the parameter documentation sufficiently.

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

Purpose5/5

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

The description uses precise verbs ('Disconnect', 'delete') and a specific resource ('stored tokens'), clarifying that this removes local credential access rather than deleting a Google account. This distinguishes it from sibling tools like google_account_add, google_account_set_default, and google_account_status.

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 about when to use this tool versus alternatives, nor any indication of prerequisites or consequences. The intended context can only be inferred from the tool name and the word 'Disconnect', which is not proactive enough for an agent deciding between account-management siblings.

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

google_account_set_defaultSet the default Google accountA

Set which account is used when no account is specified.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAccount nickname to use as default.

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 behavioral burden. It states the core state change but does not disclose side effects, persistence, authentication requirements, error behavior, or what happens if the nickname is invalid. This is a minimal disclosure for a mutating 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 a single, front-loaded sentence with no filler. Every word contributes to the meaning, making it easy for an agent to parse quickly.

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 one-parameter setter, the description and schema are mostly adequate, but with no annotations and no output schema, the agent is left without information about return values, side effects, or whether the nickname must already exist. It is minimally viable but has clear 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?

The input schema covers the single parameter completely with 'Account nickname to use as default.' The description adds no further parameter-level meaning, so it neither enhances nor detracts from the schema. Baseline 3 is appropriate given full schema 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 uses a specific verb ('Set') and resource ('default Google account') and clarifies the behavior with 'when no account is specified.' This distinguishes it clearly from sibling account tools like google_account_add, google_account_list, google_account_remove, and google_account_status.

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

Usage Guidelines3/5

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

The description implies when the default matters ('when no account is specified') but does not explicitly state when to invoke this tool versus alternatives, nor does it mention prerequisites such as the account needing to exist. Usage context is present but not fully articulated.

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

google_account_statusGoogle services statusA

Show credential configuration, data directory, connected accounts and token health.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description must disclose behavioral traits. It says 'Show', implying a read-only operation, and lists the information categories, which gives some transparency. However, it does not mention potential side effects (e.g., token refresh) or failure conditions, nor the exact format of the output. For a status tool, this is adequate but not fully transparent.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the action and key objects. It is appropriately concise, with no filler words or repetitive details, making it efficient for an agent to parse and act upon.

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 tool is simple: no parameters, no output schema, and no nested objects. The description adequately covers the scope by enumerating the four content areas (credential config, data directory, connected accounts, token health). While it does not detail return structure, the lack of complexity makes this listing sufficient for the agent to understand the tool's purpose and invoke it 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 tool has zero parameters and the schema is empty, so there is no parameter semantic burden. Per the rubric, the baseline for 0 params is 4; the description adds no confusion and correctly implies no inputs are needed. The schema coverage is effectively 100%, so the description is not required to compensate.

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 begins with the action 'Show' and specifies four concrete subjects: 'credential configuration, data directory, connected accounts and token health'. This clearly identifies the tool's function and differentiates it from sibling tools like google_account_list (which only lists accounts) by focusing on broader status/health information.

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 is given about when to use this tool compared to alternatives such as google_account_list (account listing only) or google_account_add/remove (account management). The description states what it does but not when it should be preferred over sibling tools, 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.

google_calendar_createCreate calendarC

Create a secondary calendar with a name, timezone, and description.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
summaryYesCalendar name.
timeZoneNoIANA timezone (e.g. America/Los_Angeles).
descriptionNo

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. It does not disclose permission/scope requirements, whether the new calendar becomes visible in the calendar list, whether it is set as default, or what is returned. It only identifies the entity being created.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the entity and its configurable attributes are immediately clear.

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 mutation tool with no annotations and no output schema, the description is thin: it omits required fields (only 'summary' is required, yet the sentence implies all three are expected), permission needs, and side effects. An agent can guess how to call it but not the consequences.

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 75%, with the 'description' property undocumented in the schema. The description merely restates the three named fields without adding format, constraint, or interaction detail, so it does little 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 states a specific verb (Create) and resource (a secondary calendar), plus the fields it accepts. Calling it 'secondary' distinguishes it from editing the primary calendar, though no sibling is named explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus google_calendar_create_event, google_calendar_create_meet, or google_calendar_update. The word 'secondary' hints at scope but the agent must infer that this does not create events or meet links.

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

google_calendar_create_eventCreate calendar eventC

Create a timed or all-day event. All-day events use YYYY-MM-DD dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesEnd: RFC3339 datetime or YYYY-MM-DD (exclusive) for all-day.
startYesStart: RFC3339 datetime or YYYY-MM-DD for all-day.
accountNoAccount nickname to use.
colorIdNoEvent color ID (1-11).
summaryYesEvent title.
locationNo
timeZoneNoIANA time zone, e.g. America/Denver. Required for recurring timed events.
attendeesNoAttendee emails.
calendarIdNoCalendar ID (default primary).
recurrenceNoRRULE strings, e.g. ["RRULE:FREQ=WEEKLY;BYDAY=TH"].
descriptionNo
sendUpdatesNoControl attendee notification emails.
transparencyNoShow as busy (opaque) or free (transparent).
reminderMethodNoReminder delivery method.
reminderMinutesNoMinutes before event.
remindersUseDefaultNoUse calendar default reminders instead of overrides.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and falls well short. For a mutation tool it says nothing about attendee invite emails, sendUpdates defaults, reminder behavior, or required auth/scopes. The one useful nugget is the all-day date convention, but that duplicates 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?

Two short sentences, no filler, and the primary purpose is front-loaded ahead of the format note. Every sentence earns its place, even if the total content is thin.

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

Completeness2/5

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

For a 16-parameter mutation tool with no annotations and no output schema, a two-sentence description is inadequate. Aspects like attendee notification control, recurrence/timezone interaction, and default behavior are left entirely to the schema, leaving meaningful gaps for correct invocation.

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 88%, so the schema already documents nearly all 16 parameters, giving a baseline of 3. The description's only parameter-related content (all-day YYYY-MM-DD dates) merely restates what the start/end schema descriptions already say, adding no new 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?

States a specific verb and resource ('Create a ... event') and distinguishes two modes (timed vs all-day). It does not differentiate itself from nearby siblings such as google_calendar_create, google_calendar_update_event, or google_calendar_create_meet, so an agent gets the core action but no explicit routing signal.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives like google_calendar_create or google_calendar_create_meet. The only guidance offered is a date-format note for all-day events, which is a formatting rule rather than usage direction.

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

google_calendar_create_meetCreate event with Google MeetB

Create a calendar event with an attached Google Meet link.

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesEnd RFC3339 datetime.
startYesStart RFC3339 datetime.
accountNoAccount nickname to use.
summaryYesMeeting title.
attendeesNoAttendee emails.
calendarIdNoCalendar ID (default primary).
descriptionNo

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 the full behavioral burden, but it only states the high-level effect. It does not disclose whether a Meet conference is actually created, what permissions/auth are required, what the response contains, or other side effects. 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.

Conciseness5/5

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

A single, front-loaded sentence with no filler; every word contributes to selecting and understanding the tool's purpose.

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 a well-described schema, the definition lacks an output schema and provides no usage alternatives, return behavior, or auth/side-effect context. For a 7-parameter mutation tool with no annotations, this is too thin to be fully actionable.

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 high (86%) and parameter descriptions already define meaning. The tool description adds no parameter-level detail, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('Create a calendar event') with a concrete differentiator ('attached Google Meet link') that distinguishes it from the sibling google_calendar_create_event. An agent can tell exactly what this tool produces.

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

Usage Guidelines3/5

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

Usage is implied: choose this when a Google Meet link is needed. However, it does not explicitly mention when not to use it or point to google_calendar_create_event as the plain-event alternative, so routing depends on inference.

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

google_calendar_deleteDelete calendarB

Delete a secondary calendar permanently (destructive).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
calendarIdYesCalendar ID.

TDQS

B3.3/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, and it does disclose the key trait that the deletion is permanent and destructive. However, it omits whether contained events are also destroyed, whether this is reversible, and any permission/auth requirements, leaving meaningful behavioral gaps for a mutation tool.

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

Conciseness5/5

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

A single short sentence with the destructive nature parenthesized at the end; nothing is wasted and the purpose 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?

For a simple two-parameter delete with a fully documented schema, the description covers purpose and the destructive/permanent trait. But with no annotations and no output schema, it should say more about consequences (e.g. collateral deletion of events) and would-be-restricted behavior to be 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?

Schema description coverage is 100% for both parameters, so the schema already documents calendarId and account. The description adds no syntax, format, or sourcing detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ("Delete a secondary calendar") and adds the scoping qualifier "secondary," which separates it from primary-calendar operations. It also implicitly distinguishes from the sibling google_calendar_delete_event by naming a calendar rather than an event, though it never makes that distinction explicit.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no mention of alternatives, prerequisites, or how to react if the calendarId refers to a primary calendar. The only usage signal is the word "secondary," which constrains scope but is not framed as guidance.

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

google_calendar_delete_eventDelete calendar eventB

Delete an event by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
eventIdYesEvent ID.
calendarIdNoCalendar ID (default primary).

TDQS

B3.3/5.0
Behavior2/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 of behavioral disclosure. 'Delete' implies a destructive action, but the description does not state that deletion is permanent, require any special permissions, or describe side effects such as handling of recurring events. It adds no behavioral context beyond what the tool name already implies.

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 short sentence, 'Delete an event by ID,' with no filler or redundant information. It is front-loaded with the action and the key qualifier, making it extremely efficient and easy 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?

For a simple delete operation with full schema coverage and no output schema, the description provides the essential action and target. However, it omits additional context such as irreversibility, default calendar behavior (though schema covers calendarId default), and any permission requirements. Given the low complexity, this is minimally adequate but not thorough.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description mentions 'by ID', which only highlights the required eventId but adds no new meaning beyond the schema's 'Event ID.' Baseline 3 is appropriate because the description does not compensate for or enhance the parameter 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 'Delete an event by ID' uses a specific verb (delete) and resource (event) and clearly identifies the key parameter (ID). It distinguishes the tool from sibling calendar tools like create/update/get and from delete tools in other services, so an agent can immediately know 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?

No guidance is provided on when to use this tool versus alternatives such as google_calendar_update_event or when deletion would be inappropriate. The description simply states the action without any context, prerequisites, or exclusions, 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.

google_calendar_free_busyQuery calendar free/busyB

Query busy intervals across calendars to find free meeting windows.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsNoCalendar IDs to query (default primary).
accountNoAccount nickname to use.
timeMaxYesEnd of range (RFC3339 datetime).
timeMinYesStart of range (RFC3339 datetime).
timeZoneNoIANA timezone (e.g. America/Los_Angeles).

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, and it does add one meaningful disclosure: the tool returns BUSY intervals from which the agent must derive free windows (not a ready-made list of free slots). However, it omits permissions, rate limits, error behavior, and return shape for what is otherwise an undocumented read.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, and the core action is stated first. It is efficient, though arguably under-specified for a tool with no annotations and no output 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?

The purpose is adequately conveyed, but with no annotations and no output schema, the description should carry more behavioral weight than it does. It gestures at return content (busy intervals) but leaves return format, permissions, and calendar-ID defaults unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (items, account, timeMin/timeMax, timeZone) are already documented in the schema. The description adds only a hint via "across calendars" and nothing about the required timeMin/timeMax or defaults, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb ("Query") and resource ("busy intervals across calendars") and states the goal ("find free meeting windows"). This clearly distinguishes it from siblings like list_events or get_event, though it does not name those siblings explicitly to route the agent.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer it should call this before scheduling a meeting, but there is no explicit when-to-use, when-not, or reference to alternatives such as google_calendar_list_events for actual event details.

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

google_calendar_get_eventGet calendar eventA

Fetch a single event by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
eventIdYesEvent ID.
calendarIdNoCalendar ID (default primary).

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, 'Fetch' indicates a read-only retrieval, but the description doesn't add context about account/calendar defaults, errors, or returned data. It is transparent on side-effect risk but thin on operational 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?

One sentence with no filler, front-loading the verb and resource; max signal per token.

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?

Adequate for a simple fetch tool: schema supplies parameter details and defaults, but no output guidance or operational context beyond the core action, and there is no output schema to compensate.

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 covers all 3 parameters with descriptions, so baseline is 3; the description only reinforces that eventId is the lookup key and adds no new parameter 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?

States a specific verb ('Fetch'), a clear resource ('calendar event'), and a selection criterion ('single event by ID'), which distinguishes it from sibling list/create/update/delete event 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 word 'single' implies use when you have an event ID rather than listing or creating events, but the description provides no explicit when-to-use guidance or alternatives.

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

google_calendar_list_calendarsList calendarsC

List calendars the account can access.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.

TDQS

C2.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 the full burden of behavioral disclosure. It only states that the tool lists calendars the account can access, but it does not mention whether it requires specific permissions, whether it fetches all calendars or only default ones, or what the return format is. There is no contradictory information, but the description is thin on behavioral context.

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

Conciseness4/5

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

The description is a single sentence that is concise and front-loaded with the action. It does not waste words, but it could be slightly more descriptive without losing conciseness. However, given the simplicity of the tool, this level of conciseness is appropriate.

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

Completeness2/5

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

The tool is relatively simple, but with no annotations and no output schema, the description should at least mention what the return value is (e.g., a list of calendar names and IDs). The lack of such detail leaves the agent uncertain about the output format and whether it needs to handle pagination or large result sets. Thus, the description is incomplete for agent decision-making.

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 100% description coverage for the only parameter, 'account', which clearly states 'Account nickname to use.' The description adds no extra meaning beyond the schema, but since the schema is fully descriptive, the parameter semantics are adequately covered. The description does not need to add more as the schema is sufficient.

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

Purpose3/5

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

The description states a clear verb ('list') and resource ('calendars'), but it does not differentiate this tool from closely related siblings like google_calendar_list_events. It is distinct enough that an agent can infer it lists calendars, not events, but it 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?

There is no guidance on when to use this tool over alternatives, such as when to list calendars versus events. The context implies it is for retrieving available calendars, but it does not state when not to use it or mention alternatives. The agent is left to infer usage solely from the tool name and siblings.

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

google_calendar_list_eventsList calendar eventsA

List upcoming events in a calendar, optionally filtered by time range or query.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search (e.g. meeting).
accountNoAccount nickname to use.
timeMaxNoEnd of range (ISO 8601).
timeMinNoStart of range (ISO 8601, default now).
calendarIdNoCalendar ID (default primary).
maxResultsNoMax events (default 25).

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden; it accurately signals a read-only listing operation and the optionality of time/query filters. However, it does not disclose default behavior such as default calendarId, default maxResults, or that events are returned for a default time range starting now, leaving some behavior for the agent to infer.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no redundancy; it conveys the core operation and optional filters in minimal space.

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 read-only listing tool with fully documented parameters, the description plus schema covers the essential information an agent needs. It could be marginally more complete by naming common sibling alternatives or clarifying return contents, but neither is required for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the six parameters are already fully documented in the input schema. The description only restates the filtering concepts (time range and query) rather than adding new semantic detail about parameter values or interactions.

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

Purpose4/5

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

The description names a specific action, 'List upcoming events in a calendar,' with optional filters, which clearly tells an agent what the tool does. It is distinct from sibling calendar event create/get/update/delete tools, though it does not explicitly contrast with the sibling get_event for single-event retrieval.

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?

'Optionally filtered by time range or query' implies when the tool is useful, but there is no explicit guidance about when to prefer this over google_calendar_get_event or google_calendar_list_calendars, nor any exclusions or prerequisites such as needing an account or calendarId.

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

google_calendar_respondRespond to calendar event inviteB

Accept, decline, or mark tentative an event invite by setting the attendee responseStatus.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoAttendee email to respond as (defaults to signed-in account).
accountNoAccount nickname to use.
eventIdYesEvent ID.
calendarIdNoCalendar ID (default primary).
sendUpdatesNoWho to notify of the change (defaults to none).
responseStatusYesAttendance response to set.

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 the full behavioral burden and falls short. It never states that this mutates your attendee record on the event, that sendUpdates defaults to none (so invitees may not be notified), or whether the change is reversible. Only the mechanism (setting responseStatus) is disclosed.

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

Conciseness4/5

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

A single efficiently front-loaded sentence with no filler; the action set leads and the mechanism follows. It could be one notch richer without bloating.

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 mutation tool with zero annotations and no output schema, the definition is adequate but thin: it omits side effects (notification behavior, whose attendee entry is affected) and return information. An agent can invoke it, but not with full confidence about consequences.

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

Parameters3/5

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

Schema description coverage is 100%, with documented enums for responseStatus and sendUpdates and clear notes for email, account, and calendarId defaults. The description adds the responseStatus semantics but nothing beyond what the schema already conveys, so baseline 3 applies.

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

Purpose4/5

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

The description states a specific action set (accept, decline, mark tentative) on a specific resource (an event invite) via the responseStatus field. It is clearly distinguishable from generic calendar mutators like update_event, though it never names a sibling explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the verb set: you call this when you want to RSVP to an invite. There is no explicit when-to-use versus google_calendar_update_event, no note that this targets your own attendee entry rather than the event body, and no prerequisites.

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

google_calendar_updateUpdate calendarC

Update a calendar's name, color, timezone, or description (partial).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
colorIdNoColor ID (1-24).
summaryNoNew calendar name.
timeZoneNoIANA timezone (e.g. America/Los_Angeles).
calendarIdYesCalendar ID.
descriptionNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. '(partial)' usefully discloses that unspecified fields are left untouched, but the description says nothing about permission requirements, whether the change is reversible, or what happens to fields not passed.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though it is arguably too terse to be maximally helpful for a mutation tool.

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

Completeness2/5

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

For a 6-parameter mutation tool with no annotations and no output schema, the description is thin. It omits when-to-use context, prerequisites, and behavioral details an agent needs to invoke it confidently.

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 83%, so the schema already documents calendarId, colorId, summary, timeZone and account. The description only restates the same field set in prose, adding no format or constraint detail beyond what the schema provides. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Update) and resource (a calendar) plus the exact editable fields (name, color, timezone, description), which distinguishes it from the sibling google_calendar_update_event. It is clear, but it does not explicitly name the sibling it is not to be confused with.

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 google_calendar_create or google_calendar_delete, nor any prerequisites. The only hint is the parenthetical '(partial)', which does not tell the agent when this operation is appropriate.

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

google_calendar_update_eventUpdate calendar eventC

Update fields of an existing event (partial update).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoNew end RFC3339 datetime.
startNoNew start RFC3339 datetime.
accountNoAccount nickname to use.
colorIdNoEvent color ID (1-11).
eventIdYesEvent ID.
summaryNo
locationNo
timeZoneNoIANA time zone, e.g. America/Denver. Required when updating to recurring timed events.
attendeesNoFull attendee list.
calendarIdNoCalendar ID (default primary).
recurrenceNoRRULE strings, e.g. ["RRULE:FREQ=WEEKLY;BYDAY=TH"].
descriptionNo
sendUpdatesNoControl attendee notification emails.
transparencyNoShow as busy (opaque) or free (transparent).
reminderMethodNoReminder delivery method.
reminderMinutesNoMinutes before event.
remindersUseDefaultNoUse calendar default reminders instead of overrides.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and "partial update" is the only real disclosure — it usefully signals that unspecified fields are preserved. However, it says nothing about side effects (attendee notification emails triggered by sendUpdates), permission/auth requirements, whether changes are reversible, or how recurrence edits behave, all of which matter for a 17-parameter mutation.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler, and the partial-update qualifier is placed where it is read first. It is arguably under-sized for a 17-parameter tool, which keeps it just short of a 5.

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 large mutation tool with no annotations, no output schema, and only one required parameter, a one-line description leaves the agent without the behavioral context it needs (notification side effects, auth, recurrence caveats). It is far too thin relative to the tool's complexity, even though the schema covers most parameter detail.

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 82%, well above the threshold where the schema does the heavy lifting, and the description adds no parameter-level detail whatsoever. Baseline 3 applies: the schema documents start/end/timeZone/recurrence/attendees semantics itself.

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

Purpose4/5

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

States a specific verb and resource ("Update fields of an existing event") and clarifies scope with "(partial update)." It distinguishes update from create/delete siblings, though it does nothing to differentiate itself from the similarly named google_calendar_update sibling.

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 google_calendar_update, google_calendar_create_event, or google_calendar_respond, nor any statement of prerequisites such as needing an existing eventId or write access. The parenthetical "partial update" implies behavior but never states when a partial update is the right choice.

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

google_contacts_createCreate contactC

Create a new contact with a name and optional email/phone/address/organization/photo.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContact full name.
emailNo
phoneNo
accountNoAccount nickname to use.
addressNoFreeform postal address.
photoBytesNoBase64-encoded photo bytes (JPEG/PNG).
organizationNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden for a mutation tool. It says nothing about permissions, duplicate handling, reversibility, or whether the created contact is returned with an identifier; 'create' alone is the only behavioral signal.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though it leaves out one parameter (account) and could have traded a few words for a usage clause.

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 7-parameter mutation tool with no annotations and no output schema, the description is thin: it omits account selection, duplicate/validation behavior, and what the caller gets back. An agent can form a rough call but not a fully informed one.

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

Parameters3/5

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

Schema coverage is 57%, so the schema documents name, account, address and photoBytes but leaves email, phone and organization bare in their own definitions. The description names most of these fields and flags them as optional, which partially compensates, though it omits 'account' and adds no format or constraint detail beyond what the schema already states.

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

Purpose4/5

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

States a specific verb and resource ('Create a new contact') and enumerates the payload fields, so an agent can distinguish it from google_contacts_get/list/search/update/delete. It stops short of any sibling-specific routing language, so it is clear but not maximally differentiated.

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 create versus update an existing contact, no prerequisites, and no mention of which account context applies despite the sibling set containing google_account_list/set_default/add. The agent must infer all usage conditions.

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

google_contacts_deleteDelete contactC

Delete a contact by resourceName.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
resourceNameYesContact resource name, e.g. people/123 (from list/search).

TDQS

C2.9/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 full burden of behavioral disclosure and does not meet it. It never states whether the deletion is permanent or reversible, whether the contact moves to a trash/recoverable state (as sibling google_gmail_trash implies is a pattern in this API surface), or what permissions are required. For a destructive operation this is a substantial gap.

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

Conciseness4/5

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

A single short sentence with zero filler, front-loaded with the action. It is efficient, though the brevity borders on under-specification for a destructive tool rather than true conciseness.

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

Completeness2/5

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

For a delete tool with no annotations and no output schema, the description says nothing about irreversibility, error behavior for a bad resourceName, or side effects. An agent has enough to form the call but not enough to judge whether calling it is safe.

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

Parameters3/5

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

Schema description coverage is 100% and the schema already documents both `resourceName` (with an example format) and `account`. The description names resourceName but adds no syntax, format, or validation detail beyond what the schema supplies, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Delete a contact') and identifies the keying parameter ('by resourceName'), so an agent immediately knows the operation. It does not differentiate itself from siblings such as google_contacts_update or google_contacts_get, relying on the tool name to do that work.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given, and no alternative is named. The only hint at context is the schema note that resourceName comes 'from list/search', which is not in the description itself.

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

google_contacts_getGet contactB

Get a contact by resourceName with rich fields (name, email, phone, address, org).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
resourceNameYesContact resource name, e.g. people/123 (from list/search).

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden but discloses only that this is a read operation ('Get') and what fields it returns. It omits auth requirements (including how the 'account' nickname affects access), error handling for a missing contact, and any rate-limit context.

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

Conciseness5/5

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

A single, front-loaded sentence that packs purpose and return fields without filler. It is appropriately sized for a simple getter.

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 low-complexity getter with complete schema coverage and no output schema, the description covers purpose and return fields but omits usage routing and behavioral details. An agent would still benefit from knowing when to prefer this over list/search.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3; the description adds no parameter details beyond the required 'resourceName' and the returned-field list. The optional 'account' parameter's nickname semantics are left entirely to the schema.

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

Purpose4/5

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

States a specific verb and resource ('Get a contact') and scopes it by 'resourceName', while listing the rich fields returned. This implicitly distinguishes it from the collection-returning siblings google_contacts_list and google_contacts_search, but it does not name those 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 explicit when-to-use or when-not-to-use guidance; it neither names alternatives like google_contacts_search nor states prerequisites. The phrase 'by resourceName' only weakly implies the identifier must already be known, e.g., from list/search.

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

google_contacts_listList contactsB

List the account's contacts with names, emails and phones.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageSizeNoMax contacts (default 100).

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 carries the full burden of behavioral disclosure. It states that contacts are listed with names, emails, and phones, providing partial output context, but does not mention whether the operation is read-only, pagination behavior, or authentication requirements. This is a significant gap for a tool without annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that is concise and to the point, with no extraneous information. It efficiently conveys the core purpose and key output fields.

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 simplicity of the tool and the absence of an output schema, the description provides the essential field names but omits details like pagination behavior, error handling, and whether all contacts are returned without filtering. While adequate for a basic listing, it could be more complete to fully inform the 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?

Both parameters (account and pageSize) are fully described in the schema, so the description does not need to add details. It adds no extra meaning beyond the schema, which matches the baseline of 3 for high schema coverage.

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 (list) and resource (the account's contacts), specifying the returned fields (names, emails, phones). This distinguishes it from siblings like google_contacts_search and google_contacts_create, though it does not explicitly name them. The verb and resource make the purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like google_contacts_search. The description does not mention when to list all contacts versus searching for specific ones, nor any prerequisites. This leaves the agent to infer usage without explicit direction.

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

google_contacts_updateUpdate contactA

Update an existing contact's name, email, phone, address, organization, or photo (partial update by resourceName).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew full name.
emailNoNew email.
phoneNoNew phone number.
accountNoAccount nickname to use.
addressNoFreeform postal address.
photoBytesNoBase64-encoded photo bytes (JPEG/PNG).
organizationNo
resourceNameYesContact resource name, e.g. people/123 (from list/search).

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It usefully discloses partial-update semantics (only supplied fields change), which is real behavioral value, but says nothing about auth requirements, error behavior on a bad resourceName, or whether photoBytes replaces an existing photo.

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

Conciseness5/5

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

One compact sentence with the verb, resource, field list, and update semantics all front-loaded; no filler and nothing redundant.

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 an 8-parameter mutation tool with no annotations and no output schema, the description covers what can be changed and that updates are partial, but omits confirmation/return behavior and failure modes. Adequate but with clear 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 description coverage is 88%, so the schema already documents nearly every parameter; the baseline of 3 applies. The description enumerates most fields but omits 'account' and adds only the partial-update qualifier, so it does not meaningfully exceed the schema.

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

Purpose4/5

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

States a specific verb (Update) and resource (existing contact) plus the exact mutable fields, and the phrase 'existing contact' implicitly separates it from google_contacts_create. It does not name the sibling explicitly, so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage is only implied: 'update an existing contact' tells the agent the resource must already exist, and '(partial update by resourceName)' hints that resourceName comes from a prior lookup. There is no explicit when-to-use-vs-create guidance and no prerequisites or exclusions stated.

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

google_docs_batch_updateBatch update documentC

Send raw Docs batchUpdate requests (styles, tables, headers, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
requestsYesDocs API batchUpdate requests.
documentIdYesDocument ID.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden, but it only restates the operation and offers examples of request types. It does not disclose the operation's mutation effect on the document, what the API response contains, error behavior, or any per-call limits. This goes little beyond what the tool name already implies.

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

Conciseness4/5

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

Single sentence with no filler; the verb and resource are front-loaded and the parenthetical adds useful scope. It is appropriately minimal for what it conveys, though it could afford a second sentence on usage without harming clarity.

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 output schema, the description is thin for a low-level API passthrough. It omits return value shape, side effects, and how errors manifest, and it does not connect to sibling higher-level update tools. The schema's parameter coverage is complete, but the overall tool contract remains under-specified.

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 covers all three parameters with simple descriptions, so baseline is 3. The description adds modest value by giving examples of request kinds (styles, tables, headers) that clarify the otherwise open-ended 'requests' array, but it does not explain the request object structure or required fields, leaving most semantics to the Docs API knowledge.

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?

Names a specific action ('Send raw Docs batchUpdate requests') and a resource (the document), with examples of what kinds of updates are supported (styles, tables, headers). It distinguishes from sibling read/create/text-insert tools because it targets the low-level batchUpdate endpoint, though 'batchUpdate' in the title partially duplicates that idea.

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 choose raw batchUpdate over the higher-level google_docs_insert_text, google_docs_replace_text, or google_docs_create, nor when not to use it. The word 'raw' implies advanced use, but this is not an explicit recommendation or exclusion, so an agent must infer timing.

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

google_docs_createCreate documentA

Create a new Google Docs document with a title.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDocument title.
accountNoAccount nickname to use.

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 behavioral burden. It does disclose the core side effect: a new document is created. However, it omits account-selection behavior, default storage location, permissions, and what is returned, leaving the behavioral disclosure thin but not misleading.

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 one short, front-loaded sentence that states the action and object immediately. Every word contributes to the core meaning and there is no boilerplate or unnecessary elaboration.

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 and the schema fully covers both parameters, so the input side is adequately specified. However, there is no output schema and the description fails to explain what is returned after creation (e.g., document ID or URL) or how the optional `account` parameter is resolved. This leaves a meaningful gap for an agent trying to use the result.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both `title` and `account`; the baseline is therefore 3. The description adds no new detail about the `account` parameter and only restates that a document has a title. No additional parameter semantics are introduced 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 uses a specific verb and resource: 'Create a new Google Docs document.' It clearly communicates the deliverable and distinguishes this tool from sibling creation tools like google_sheets_create or google_slides_create. The word 'new' also makes the creation semantics unambiguous.

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

Usage Guidelines3/5

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

The description implies the usage context—use this when a brand-new Google Docs document is needed—but it provides no explicit alternatives, exclusions, or prerequisites. There is no guidance about when to use this instead of google_docs_batch_update or google_sheets_create, so the agent must infer the scope.

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

google_docs_delete_rangeDelete rangeC

Delete a range of content from a document.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
endIndexYes0-based end index (exclusive).
documentIdYesDocument ID.
startIndexYes0-based start index (inclusive).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state that the deletion is destructive/irreversible, what permissions are required, or what happens if startIndex/endIndex are out of bounds or invalid, leaving significant gaps for a mutation tool.

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

Conciseness4/5

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

A single front-loaded sentence with no waste. It is efficient, though at the cost of omitting any behavioral or usage context.

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 destructive mutation tool with no annotations and no output schema, the description is too thin: it omits irreversibility, permission requirements, and any error/edge-case behavior an agent needs before invoking a delete.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents documentId, startIndex (0-based, inclusive), endIndex (0-based, exclusive), and account. The description adds nothing beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb ('Delete') and resource scope ('a range of content from a document'), so the operation is unambiguous. It does not, however, distinguish itself from its many docs siblings (replace_text, insert_text, batch_update) or say what kind of content or document structure is affected.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives such as google_docs_replace_text or google_docs_batch_update, nor any stated preconditions. An agent must infer usage entirely from the name.

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

google_docs_getGet documentB

Get the full Google Docs document (structural JSON).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
documentIdYesDocument ID.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the return value is 'structural JSON' and implies a read operation through 'Get', but it does not explicitly state that this is read-only, nor does it mention any permissions, side effects, or rate limits. For a simple retrieval tool, the output format hint adds some value, but more explicit behavioral disclosure would be better.

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, concise sentence that immediately states the action and the output format. There is no unnecessary verbiage, and the key information is front-loaded. It is appropriately sized for a simple get operation.

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 only two parameters and no output schema, the description provides enough information to call it correctly: it states what it does and the output format. However, it lacks any guidance on when to choose this over the sibling 'google_docs_read', which is a meaningful gap given the tool's simplicity. It does not need to explain return values in detail, but mentioning the differentiation would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100% — both 'account' and 'documentId' are described in the schema. The description adds no additional meaning beyond what the schema already provides. It does not explain the structure of the returned JSON or any nuances of the parameters, so it does not compensate for or enhance the schema's documentation.

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 'Get' and the resource 'full Google Docs document', and specifies the output as 'structural JSON'. It is specific enough to convey the tool's function, but it does not differentiate from the sibling 'google_docs_read', which could be a similar read operation. This leaves some ambiguity about which tool to use for different reading needs.

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 like 'google_docs_read'. The description does not mention any context, exclusions, or scenarios where one tool is preferred over another. An agent would have to infer usage from the name and schema alone, which is insufficient.

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

google_docs_insert_inline_imageInsert inline imageB

Insert an inline image from a public URI and return the created object id.

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYesPublicly accessible PNG/JPEG/GIF URI (< 50MB, <= 25MP).
indexYes0-based index inside an existing paragraph.
accountNoAccount nickname to use.
documentIdYesDocument ID.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds useful facts beyond the schema by stating the image must come from a public URI and that an object id is returned, but it does not disclose the mutation/authorization implications of inserting into a document.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the action and its source constraint lead, followed by the return value. Every clause 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?

With full schema coverage and no output schema, the description appropriately covers the source constraint and the returned object id. It stops short of noting access/permission requirements, which would round out a mutation tool lacking annotations.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents uri, index, account, and documentId in detail. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Insert an inline image') plus the required source ('from a public URI') and the return value. It is clearly distinguishable from google_docs_insert_text and google_docs_insert_table, though it does not name those siblings explicitly to reinforce the difference.

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

Usage Guidelines2/5

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

No when-to-use context, no prerequisites (e.g., that the document must be accessible), and no alternatives are named. The agent must infer from the name alone that this is the image-insertion variant of the docs insertion tools.

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

google_docs_insert_tableInsert tableC

Insert an empty table at a model index (a newline is added before it).

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsYesNumber of rows.
indexYes0-based index where the table is inserted.
accountNoAccount nickname to use.
columnsYesNumber of columns.
documentIdYesDocument ID.

TDQS

C2.9/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 full disclosure burden. It does surface one genuine side effect ('a newline is added before it'), which is useful for reasoning about index shifts, but a mutation tool of this kind should also say whether the table is styleable afterward, whether existing content indices shift, and what the response contains. The parenthetical is the only behavioral detail offered.

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 tight sentence with the action and the insertion point front-loaded, and the side-effect caveat folded into a parenthetical. No filler, nothing that could be cut without losing information.

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

Completeness2/5

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

For a 5-parameter write tool with no annotations and no output schema, the description leaves real gaps: permission/auth requirements, behavior on an out-of-range index, whether the newline affects the caller's index arithmetic, and what the result looks like. The newline note is a good start but the surrounding context is thin.

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

Parameters3/5

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

Schema description coverage is 100%, so rows, columns, index, documentId and account are all documented in the schema, making 3 the baseline. The description's phrase 'model index' loosely restates the schema's '0-based index' rather than clarifying or adding constraint, and it says nothing about the optional account nickname.

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?

Names a specific verb and resource ('Insert an empty table') and adds the insertion-point semantics ('at a model index'), which lets an agent distinguish it from google_docs_insert_text, google_docs_replace_text and google_docs_insert_inline_image. It stops short of explicitly naming those siblings or stating the broader 'in a Google Doc' context, so it's clear but not maximally differentiated.

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 reach for this tool versus the other Docs mutation tools (insert_text, replace_text, insert_inline_image, batch_update), no mention of prerequisites such as document write access, and no note on when a batch_update would be preferable for multiple insertions.

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

google_docs_insert_textInsert text in documentA

Insert text into a document at an index or at the end.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to insert.
indexNoCharacter index to insert at (default end of document).
accountNoAccount nickname to use.
documentIdYesDocument ID.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description must carry the behavioral burden. It explicitly states the insertion behavior and the location options, which is adequate for a simple insert operation. However, it does not disclose potential side effects, error behavior for invalid indices, or whether formatting is preserved, which leaves some behavioral ambiguity.

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 one clear, front-loaded sentence with no filler. It communicates the core operation, the resource, and the two insertion locations efficiently, earning its place 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 insert tool with fully documented parameters and no output schema, the description provides enough information for an agent to call it correctly: document ID, text, and optional index with a default behavior. It lacks only explicit alternative routing, but that is a usage guideline gap rather than a completeness gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents all four parameters. The description essentially restates what the index parameter means ('at an index or at the end'), adding no new semantic detail. The baseline of 3 applies because the schema does the heavy lifting and the description does not conflict.

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

Purpose5/5

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

The description uses a specific verb ('Insert'), a clear resource ('text into a document'), and a precise location scope ('at an index or at the end'). This clearly differentiates it from siblings like google_docs_replace_text, google_docs_read, and google_docs_create, without needing to open the schema.

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 states the action but provides no guidance on when to use this tool instead of alternatives such as google_docs_replace_text or google_docs_batch_update, and no conditions or exclusions. The agent is left to infer the appropriate context from the tool name and sibling list.

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

google_docs_readRead document textB

Read a Google Docs document as plain text.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
documentIdYesDocument ID.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It does make the read-only nature and plain-text output explicit, but it does not mention whether formatting is stripped, how large documents are handled, or any access-related 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?

A single, front-loaded sentence communicates the essential purpose without wasted words. Every part of the description contributes meaning.

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

Completeness3/5

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

For a simple read operation with fully documented parameters, the description is mostly sufficient. However, the lack of any differentiation from google_docs_get and the absence of output-format details beyond 'plain text' leave moderate gaps for an agent selecting among many Google siblings.

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

Parameters3/5

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

Schema coverage is 100%, so both documentId and account are already documented in the schema. The description adds no parameter-specific meaning, placing this at the baseline expected when the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb (Read), a clear resource (Google Docs document), and the output form (plain text). It is understandable on its own, but it does not differentiate itself from the sibling google_docs_get, which could plausibly overlap in 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 gives only the basic action and no guidance about when to choose this tool over alternatives like google_docs_get or google_docs_batch_update. There are no explicit when-to-use, when-not-to-use, or alternative-routing statements.

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

google_docs_replace_textReplace text in documentB

Replace all occurrences of a string in a document (template filling).

ParametersJSON Schema
NameRequiredDescriptionDefault
findYesText to find (e.g. {{name}}).
accountNoAccount nickname to use.
replaceYesReplacement text.
matchCaseNoMatch case (default true).
documentIdYesDocument ID.

TDQS

B3.4/5.0
Behavior3/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 states the operation replaces all occurrences, which is a key behavior, but lacks details like case sensitivity defaults (though matchCase parameter hints at it), effect on formatting, and whether replacement is reversible. It does not contradict annotations since none 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 a single concise sentence that immediately conveys the core action and a common use case. It is appropriately front-loaded and contains no unnecessary words, though it could add a bit more context without bloating.

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 5 parameters, 3 required, and no output schema, the description is adequate but not complete. It does not explain the effect of matchCase, the need for an account, or what happens if find text is not present. An agent could call it correctly for simple cases but might be unsure about edge cases.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter. The description adds minimal semantics beyond the schema, only implying template filling via the parenthetical. That matches the baseline of 3 since the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb 'replace' and the resource 'text in a document', and the parenthetical '(template filling)' hints at a common use case. It is distinguishable from siblings like google_docs_insert_text and google_slides_replace_text, though it doesn't explicitly contrast them.

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

Usage Guidelines3/5

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

The description implies usage for template filling, but does not explicitly state when to use this tool versus alternatives like google_docs_batch_update or insert_text. No exclusions or conditions are given, leaving some ambiguity for an agent deciding between tools.

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

google_drive_copyCopy Drive fileC

Copy a file, optionally with a new name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name.
fileIdYesDrive file ID.
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'Copy a file, optionally with a new name.' It does not reveal where the copy is created, whether it overwrites existing files, what permissions are needed, or what side effects occur. This is a minimal statement rather than a transparent one.

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 short sentence with no filler, and the core action is front-loaded. It earns conciseness points, though it is so terse that it sacrifices useful context.

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

Completeness3/5

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

The tool is simple and all parameters are documented in the schema, but there is no annotation or output schema to fill gaps. The description omits the copy destination, return value, and any behavioral caveats, making it minimally viable rather than 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 100%, so the baseline is 3. The description adds no real semantic detail beyond the schema; it loosely maps to the 'name' parameter but does not explain the behavior of fileId or account. This is adequate but not additive.

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 identifies the operation as copying a Drive file, with an optional new name. This is a specific verb and resource, and among the sibling tools it is the only copy operation, so the action is unambiguous. It does not explicitly contrast itself with related tools like upload or update, so it stops short of a 5.

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

Usage Guidelines2/5

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

No guidance is given for when to use this tool versus alternatives such as google_drive_upload or google_drive_update. The description does not state prerequisites, destination behavior, or exclusions, leaving the agent to infer appropriate usage.

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

google_drive_create_folderCreate Drive folderC

Create a folder in Drive.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFolder name.
accountNoAccount nickname to use.
parentFolderIdNoParent folder ID (root if omitted).

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure, but it only states the outcome (creates a folder). It does not mention account requirements, default location (root if parentFolderId omitted), potential errors (e.g., duplicate names), or whether the operation is reversible or requires specific permissions. This leaves the agent uninformed about important behavioral aspects.

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

Conciseness4/5

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

The description is a single, concise sentence that directly states the purpose, with no fluff. It is front-loaded with the core action, making it efficient for an agent to parse, though it sacrifices some behavioral detail for brevity.

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

Completeness3/5

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

For a create operation with a simple schema, the description is minimally adequate, but it lacks important context that an agent might need: it doesn't clarify that the folder is created in the user's Drive (not a shared drive), doesn't mention the default root when parentFolderId is omitted, and doesn't specify whether the account parameter affects where the folder is created. The absence of an output schema also means the description could have mentioned what the response includes (e.g., folder ID), but it doesn't.

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 describes all parameters with clear descriptions (name, account, parentFolderId), achieving 100% schema coverage. The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('create a folder') and the target resource (Drive), which is sufficient to distinguish it from most sibling operations, though it does not explicitly name sibling tools like google_drive_upload or google_drive_update. The verb and resource are specific enough for an agent to understand 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?

The description provides no guidance on when to use this tool versus alternatives, such as when to use google_drive_upload for files or google_drive_copy for duplicating existing folders. The sibling context implies a clear distinction (folder creation vs. file operations), but the description does not explicitly state exclusions or alternative conditions.

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

google_drive_deleteDelete Drive fileA

Permanently delete a file from Drive. IRREVERSIBLE — prefer google_drive_trash (recoverable).

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.

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 carries the full burden and does well on the biggest risk: it declares the operation IRREVERSIBLE and contrasts it with the recoverable trash path. It stops short of covering permissions/ownership requirements or whether shared users lose access, which would matter for a delete.

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 tight sentences; the destructive nature is front-loaded and the fallback suggestion follows immediately. No filler.

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 mutation tool with no annotations and no output schema, the description covers the decisive behavioral fact (irreversibility) and the alternative. It could additionally note permission/ownership prerequisites, but nothing critical to a correct call is missing.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (fileId, account) are documented inline, so the baseline of 3 applies. The description adds no syntax or format detail about fileId beyond what the schema already states.

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

Purpose5/5

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

States a specific verb (delete) and resource (file from Drive) with the crucial scope qualifier 'permanently'. It is immediately distinguishable from google_drive_trash in the 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 Guidelines5/5

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

Explicitly routes the agent: 'prefer google_drive_trash (recoverable)' names the alternative and the condition (recoverability) that should select it. This is exactly the when-not guidance a destructive tool needs.

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

google_drive_delete_permissionDelete Drive file permissionC

Revoke a permission from a file by permission ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.
permissionIdYesPermission ID (from google_drive_list_permissions).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state that this is an irreversible access removal, whether owner/editor privileges are required, what happens to shared-link state, or that the affected user loses access immediately.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or redundancy. It is tight, though its brevity is part of why behavioral context 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?

For a destructive, unannotated mutation with three parameters and no output schema, the description should say more about consequences, permissions, and failure modes. As written, it is adequate only at the surface level.

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

Parameters3/5

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

Schema description coverage is 100%, with fileId, permissionId, and account all documented in the schema, including the hint that permissionId comes from google_drive_list_permissions. The description adds nothing beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (revoke) and resource (permission on a file) plus the identifier used to target it (permission ID), so an agent can distinguish it from google_drive_share or google_drive_list_permissions. It stops short of explicitly naming a sibling or contrast case, which would be needed for a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no alternatives named. The agent is left to infer that the permission ID must first be obtained via google_drive_list_permissions, even though that sibling exists in the toolset.

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

google_drive_downloadDownload Drive fileA

Download a file's raw bytes (non-Google-native files). Text content returns decoded text; binary returns base64. Pass saveToPath to write bytes to a local file instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.
saveToPathNoLocal path to write the raw bytes to (returns { savedTo } instead of data).

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 the full burden. It does disclose the key behavioral trait of return format (decoded text vs base64) and the response-shape switch when saveToPath is used, but says nothing about authentication/account requirements, file-size or rate limits, or whether saveToPath overwrites an existing local file.

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?

Three short sentences, each earning its place: scope constraint first, then return-format behavior, then the saveToPath alternative. Front-loaded and free of filler.

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?

With no output schema, the description compensates by describing the return payload (decoded text vs base64, { savedTo } when saving), which is exactly what an agent needs to interpret the result. Remaining gaps (auth, size limits) are secondary for a read-only byte-fetch tool.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented, including saveToPath's 'returns { savedTo } instead of data'. The description reinforces saveToPath's effect but adds no syntax or format detail beyond the schema; baseline 3 applies.

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

Purpose5/5

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

States a specific verb (Download) and resource (a file's raw bytes), and adds a scope qualifier (non-Google-native files) that implicitly routes Google-native files to the sibling google_drive_export. An agent can distinguish this from google_drive_get and google_drive_export without opening a schema.

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 parenthetical '(non-Google-native files)' acts as an exclusion that tells the agent when this tool applies versus export, and 'Pass saveToPath to write bytes to a local file instead' gives concrete usage guidance for the optional parameter. It stops short of explicitly naming google_drive_export as the alternative.

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

google_drive_exportExport Drive fileA

Export a Google-native file (Docs/Sheets/Slides/Drawings) to another format (e.g. application/pdf, text/plain, application/vnd.openxmlformats-officedocument.wordprocessingml.document).

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.
mimeTypeYesTarget MIME type (e.g. application/pdf).

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 states the scope (native files only) but does not disclose what the tool returns (file content, URL, etc.), authentication requirements, or potential errors. This is a significant gap for a conversion 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 a single, well-structured sentence that front-loads the action and provides concrete examples. No wasted words.

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

Completeness3/5

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

For a tool with no output schema and no annotations, the description is incomplete regarding the return value and operational details. It explains what it does but not the outcome format or any caveats, leaving an agent uncertain about how to handle the result.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by providing example MIME types (application/pdf, text/plain, etc.) that clarify the mimeType parameter, but it does not elaborate on fileId or account 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 verb (export), the resource (Google-native file), and the action (converting to another format). It provides specific examples of target MIME types, distinguishing it from related tools like download or get.

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

Usage Guidelines3/5

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

The description implies the use case (converting Google-native files to other formats) but does not explicitly contrast with alternatives such as google_drive_download or google_drive_get, nor does it state when not to use it. It lacks explicit exclusions or sibling references.

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

google_drive_getGet Drive fileB

Get metadata for a single file by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says 'Get metadata' which implies a read-only operation, but it doesn't disclose what metadata fields are returned, whether the file content is included, or any error conditions (e.g., invalid ID, permissions). For a read tool, this is a moderate gap.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, zero waste. It earns its place.

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

Completeness3/5

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

For a simple get-by-ID tool with 2 params and no output schema, the description is adequate but not complete. It doesn't mention what the response contains (metadata fields) or any caveats like needing the file to be shared with the account. Given no annotations and no output schema, a bit more detail would help.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description adds the context that fileId is the target and account is the account nickname, but doesn't add meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('metadata for a single file by ID'), which clearly distinguishes it from sibling tools like google_drive_download, google_drive_export, or google_drive_delete. It doesn't explicitly name a sibling, but the scope is clear enough to differentiate.

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: use this when you need metadata for a single file by ID. It doesn't explicitly say when not to use it or mention alternatives like google_drive_list for browsing files, but the context is reasonably clear for a simple get-by-ID tool.

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

google_drive_listList Drive filesA

List files in Drive, newest first, with an optional query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoDrive query (e.g. 'name contains "report"').
accountNoAccount nickname to use.
pageSizeNoMax files (default 25).

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 discloses ordering ('newest first') and the optional query, which is useful. However, it does not mention pagination behavior, default page size, whether the query syntax is the Drive API query language, or what happens with large result sets. For a read-only list operation, the lack of destructive behavior is implied but not explicitly stated.

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, efficient sentence that front-loads the core action ('List files in Drive') and adds the key behavioral detail ('newest first') and the optional query. Every word earns its place; no filler 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?

For a simple list tool with no output schema and no annotations, the description is adequate but not complete. It covers the basic action and ordering, but an agent might need to know pagination behavior, default page size, and how the query parameter interacts with the Drive API. Given the tool's simplicity and 100% schema coverage, a 3 is fair.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds the 'newest first' ordering context and the optionality of the query, but it does not add meaning beyond the schema for the parameters themselves. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('files in Drive'), and adds ordering ('newest first') and an optional query. It is clear, though it doesn't explicitly differentiate from sibling tools like google_drive_get or google_drive_download; the verb 'list' and the mention of 'files' make the distinction reasonably inferable.

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: listing files with optional query and default ordering. However, it does not state when to use this tool versus alternatives (e.g., google_drive_get for a single file, google_drive_search if it existed), nor does it mention exclusions or prerequisites like account selection. The 'optional query' hint gives some context but no explicit 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.

google_drive_list_permissionsList Drive file permissionsC

List who can access a file and with what role.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full disclosure burden. It implies a read-only listing but never states this, nor does it mention required permissions/scope, what happens for a file with no explicit permissions, or the shape of the returned roles.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler, well sized for a simple two-parameter read tool. It is appropriately terse rather than padded.

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 listing tool the description is arguably adequate, but with no output schema and no annotations it leaves the agent guessing about return structure (who/role fields) and read-only safety. Minimum viable rather than 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 100%, so fileId and account are already documented in the schema; baseline is 3. The description adds nothing beyond intent, but nothing is missing either.

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

Purpose4/5

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

The description states a specific verb (list) and a specific resource (who can access a file and their role), so an agent can clearly distinguish this as a read operation on permission metadata. It does not explicitly name relatives like google_drive_share or google_drive_delete_permission, which keeps it short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus google_drive_get or the share/delete_permission siblings, and no prerequisites such as needing an existing fileId. It only describes what the tool does, not when to reach for it.

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

google_drive_moveMove Drive file to folderA

Move a file into a folder. Provide removeParentFolderId to also remove it from its current folder (true move); omit to add it to an additional folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.
parentFolderIdYesDestination folder ID.
removeParentFolderIdNoCurrent folder ID to remove the file from (optional).

TDQS

A4.1/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 behavioral burden, and it does disclose a genuinely non-obvious Drive trait: omitting removeParentFolderId adds a second parent rather than relocating the file. It stops short of 5 because it says nothing about required edit permissions on source/destination or what happens on failure.

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 tight sentences with the core action front-loaded and the optional-parameter nuance immediately after. No filler, no repetition of the title.

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

Completeness4/5

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

For a mutation tool with no annotations and no output schema, the description covers the essential semantics an agent needs to pick the right mode. It omits permission/ownership requirements and the shape of the result, which keeps it from being fully complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema's terse 'Current folder ID to remove the file from (optional)' by explaining the downstream effect of supplying vs omitting the parameter. That is real added meaning.

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

Purpose4/5

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

States a specific verb+resource ('Move a file into a folder'), which is naturally distinguishable from adjacent siblings like google_drive_copy or google_drive_update. It never names an alternative sibling explicitly, so it stops short of the 5 tier, but an agent can identify the operation without opening the schema.

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?

Gives clear conditional guidance for the two modes: supply removeParentFolderId for a true move, omit it to add the file to an additional folder. This is actionable context rather than inference. However, it offers no tool-level alternatives (e.g. why not copy+delete) and no prerequisites.

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

google_drive_restoreRestore Drive file from trashB

Restore a trashed file (sets trashed: false).

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the mechanism ('sets trashed: false'), but omits permission requirements, what happens if the file is not trashed, and whether the operation is idempotent.

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 short sentence with the operation front-loaded and zero filler. Every clause earns its place.

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

Completeness3/5

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

For a simple two-parameter restore tool the description is minimally adequate, but with no annotations and no output schema it should say more about permissions and error behavior to be self-sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so fileId and account are already documented in the schema. The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Restore a trashed file') that clearly identifies the operation. It does not explicitly differentiate from siblings like google_drive_delete or google_gmail_untrash, but the name and title make the scope unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives such as google_drive_delete or google_drive_trash, nor any stated prerequisites (e.g., the file must currently be trashed). Usage is only implied by the verb.

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

google_drive_shareShare Drive fileB

Share a file with a user/group by email, anyone with the link, or a domain; optionally transfer ownership.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesAccess role.
typeNoPermission type (default user).
emailNoRecipient email (required for type user/group).
domainNoDomain for type=domain, e.g. example.com.
fileIdYesDrive file ID.
accountNoAccount nickname to use.
transferOwnershipNoTransfer ownership to the recipient (requires role=owner).
sendNotificationEmailNoEmail the recipient (default true).

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It hints that ownership can be transferred, but does not disclose that transferring ownership typically requires the caller to already be owner, that sharing may be irreversible/security-sensitive, or how notification emails behave - all of which the agent needs for a permission-granting mutation.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the core action leads and the optional capability trails after a semicolon. Nothing to trim.

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 rich schema (8 params, 100% coverage) and absence of an output schema mean the description need not explain parameters or return values. However, with zero annotations, the behavioral/safety context for a permission-granting mutation is left uncovered, which is the one gap the schema cannot fill.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including enum semantics, email/domain requirements, and the transferOwnership/role=owner dependency is already documented in the schema. The description restates the same concepts (email, link, domain, ownership) without adding format or edge-case detail, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (share) and resource (file), and enumerates the three grant modes (user/group by email, anyone with link, domain) that map exactly to the schema's `type` enum. It is distinguishable from siblings like google_drive_list_permissions and google_drive_delete_permission, though it never names them.

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 sentence implies the general context (granting access to a file) but gives no when-to-use guidance, no prerequisites, and no routing to alternatives such as list_permissions or update. Nothing tells the agent when this tool is the wrong choice.

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

google_drive_trashMove Drive file to trashA

Move a file to trash (recoverable via google_drive_restore). Safer than google_drive_delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.

TDQS

A4.4/5.0
Behavior3/5

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

No annotations exist, so the description must carry the full behavioral burden. It discloses recoverability and the safer alternative, which is the key trait for a mutation. However it omits permission/scope requirements and what happens to files already in trash.

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

Conciseness5/5

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

One compact sentence plus a six-word comparison statement. Zero waste and front-loaded with the action and the key safety property.

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 two-parameter mutation with no output schema, recoverability and the safer-alternative routing are the essential disclosures, and both are present. Permission or rate-limit specifics would complete it but the core is there.

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

Parameters4/5

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

Schema coverage is 100% with both parameters documented, so the baseline is 3. The description adds the semantic distinction of the operation, though it does not need to restate fileId 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?

States a specific verb and resource ('Move a file to trash'), and the parenthetical names the recovery path. The agent can distinguish it from google_drive_delete without opening sibling schemas.

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 routes to google_drive_restore as the recovery mechanism and to google_drive_delete as the contrast, matching the 'safer than' guidance. When-to-use is fully implied and the alternative is named.

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

google_drive_updateUpdate Drive fileC

Rename a file and/or replace its content (text or local file path).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name.
pathNoLocal file path to upload as new content (reads raw bytes; use instead of content).
fileIdYesDrive file ID.
accountNoAccount nickname to use.
contentNoNew content.
mimeTypeNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the operation is a rename/replace, but does not disclose that replacing content overwrites existing data, whether changes are reversible, what permissions or account requirements apply, or what happens when only one field is supplied.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every clause ('Rename', 'replace its content', 'text or local file path') earns its place by mapping directly to supported parameters.

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 mutation tool with six parameters, no annotations, and no output schema, the description is too thin. It omits usage context, destructive-write warnings, permission expectations, and any behavior beyond the basic rename/replace summary.

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 83%, so the schema already documents most parameters. The description adds only a brief gloss on content vs. local file path, while fileId, account, and mimeType remain documented only in the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description names a specific verb and resource ('Rename a file', 'replace its content') and distinguishes the two primary update modes. It is clear what the tool does, though it does not explicitly name sibling tools like google_drive_upload or google_drive_move for contrast.

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 explicit when-to-use guidance, no prerequisites, and no comparison to sibling tools. The description implies this is for updating an existing file, but an agent must infer that from the required fileId and cannot tell when to choose this over google_drive_upload, google_drive_move, or other Drive operations.

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

google_drive_uploadCreate/upload Drive fileA

Create a file in Drive, optionally with text content (blank Google-native file if omitted) or by local file path (binary-safe).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFile name.
pathNoLocal file path to upload (reads raw bytes from disk; use instead of content).
accountNoAccount nickname to use.
contentNoText content to upload.
mimeTypeYesMIME type (e.g. text/plain, image/png, application/vnd.google-apps.document).
parentFolderIdNoParent folder ID.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden, and it does disclose useful behavior: omitting content yields a blank Google-native file, and the path route reads raw bytes ('binary-safe'). It says nothing about write permissions/scope, overwrite or duplicate-name behavior, what is returned (e.g. file ID for later use), or how parentFolderId affects placement, which are material for a mutation tool.

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

Conciseness4/5

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

A single front-loaded sentence covering the primary action and both optional modes, with no filler. It is dense and slightly parenthetical, but every clause earns its place by distinguishing the two upload paths.

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 6-parameter mutation tool with no annotations and no output schema, the description covers the core modes adequately but leaves gaps: it does not explain the account parameter's role, how parentFolderId interacts with default placement, whether the call requires a specific OAuth scope, or what identifier the agent gets back to use with google_drive_get/update/share.

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 100%, so the baseline is 3, but the description adds real semantics the schema does not: the consequence of omitting content (blank Google-native file) and the binary-safe nature of the path route versus the text-only content route. It does not explain account nicknames or the meaning of parentFolderId beyond the schema's own text.

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

Purpose4/5

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

States a specific verb and resource ('Create a file in Drive') and clarifies the two creation modes, which separates it from google_drive_create_folder, google_docs_create, and google_sheets_create. It stops short of naming those siblings explicitly, so an agent must still infer which of the Drive/Docs/Sheets creators to pick.

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

Usage Guidelines3/5

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

The sentence implies the two usage modes (text content vs. local path) and when each applies ('binary-safe', 'blank Google-native file if omitted'), which is genuine guidance for parameter choice. However, it gives no when-to-use context relative to the many sibling creation tools (Docs/Sheets/Slides creators, create_folder) and no prerequisites such as account or parent folder selection.

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

google_forms_add_questionAdd form questionB

Add a text or multiple-choice question to a form.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoQuestion type (default text).
titleYesQuestion text.
formIdYesForm ID.
accountNoAccount nickname to use.
optionsNoChoices for multiple_choice.
requiredNoWhether the question is required (default false).
descriptionNoOptional help text.

TDQS

B3.3/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 full behavioral disclosure burden. It only states the action ('Add') and does not describe side effects, whether the operation modifies the form in place, permission requirements, response behavior, or how the tool handles the interplay between type and options. 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.

Conciseness4/5

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

The description is a single concise sentence with no filler or repetition. It is straightforward and front-loaded, though it sacrifices behavioral detail 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 7 parameters, no annotations, and no output schema, the description is too sparse to fully prepare an agent. It omits behavioral context (e.g., that multiple_choice likely requires options, that required/description are optional modifiers, and what the response/return value is), leaving meaningful 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 description coverage is 100%, so the baseline is 3. The description's mention of 'text or multiple-choice' loosely mirrors the type enum, but adds no meaning beyond what the schema already documents. The parameters' semantics are otherwise handled entirely by 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 uses a specific verb ('Add') with a clear resource ('a text or multiple-choice question to a form'), and names the two supported question types. This inherently sets it apart from sibling form tools like google_forms_create, google_forms_get, and google_forms_responses, which clearly perform different actions.

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 its use case (adding a question to an existing form) but never states when to use it versus alternatives, nor mentions prerequisites such as requiring an existing formId. No exclusions or 'when not to use' guidance is provided, so an agent must infer the appropriate context from the tool name and schema.

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

google_forms_createCreate formC

Create a new Google Form with a title.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesForm title.
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('create') without revealing side effects, authentication requirements, whether an account parameter is mandatory, what happens on success or failure, or whether the created form is immediately usable. For a mutation tool with zero annotation coverage, this is a significant gap.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler words. It conveys the core purpose efficiently. However, it is somewhat under-specified for a tool with a second optional parameter, and the balance between conciseness and completeness could be improved. Still, it earns a high score for being appropriately sized and non-redundant.

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 that this is a creation tool with no output schema and no annotations, the description should clarify at least the return value (e.g., the created form ID) and the role of the optional 'account' parameter. It does neither. An agent would be left unsure how to use the result in subsequent calls (e.g., google_forms_add_question). The description is not complete enough for reliable tool invocation without additional inference.

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

Parameters3/5

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

Schema description coverage is 100%: both 'title' and 'account' have clear parameter descriptions. The tool description adds only 'with a title,' which reiterates the schema. It does not provide additional meaning about the 'account' parameter (e.g., default behavior, relationship to the 'account' concept). Since the schema already documents parameters adequately, a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Create') and resource ('a new Google Form') with a required parameter (title). It clearly identifies the tool's function and distinguishes it from siblings like google_forms_get or google_forms_responses by focusing on the creation action. However, it does not explicitly contrast it with other create tools in the suite, so it lacks the explicit differentiation seen in higher-scoring examples.

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 (e.g., needing an account), scenarios where this tool is preferred over other form-related tools, or any conditions under which it should not be used. The agent must infer usage context entirely from the tool name and schema.

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

google_forms_deleteDelete formB

Permanently delete a form.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesForm ID.
accountNoAccount nickname to use.

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations at all, the description carries the full behavioral burden. It does disclose the most important trait for a destructive operation — permanence/irreversibility — but says nothing about authorization requirements, whether associated responses are also destroyed, or what the call returns on success or failure.

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 four-word sentence with the irreversible nature front-loaded and zero filler. Nothing to trim and nothing buried.

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 permanent destructive tool with no annotations and no output schema, the definition is too thin: it omits recovery options, permission/ownership requirements, and the fate of existing form responses. The fully documented schema offsets this only partially.

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

Parameters3/5

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

Schema description coverage is 100% (formId and account are both documented in the schema), so the baseline of 3 applies. The description adds no extra meaning about either parameter, such as what a form ID looks like or how the account nickname interacts with multi-account setups.

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

Purpose4/5

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

The description states a specific verb and resource ("delete a form"), which cleanly separates it from the question-level siblings such as google_forms_delete_question. However, it is close to a restatement of the title "Delete form," with "Permanently" being the only added information, so it stops short of the highest tier.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives (e.g., no trash/restore path exists here, but nothing says deletion is irreversible-by-design), nor any prerequisites such as required permissions or ownership. The agent is left to infer everything about timing and context.

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

google_forms_delete_questionDelete form questionC

Delete a question from a form by questionId.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesForm ID.
accountNoAccount nickname to use.
questionIdYesQuestion ID to delete.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention that deletion is irreversible, what permissions are required, or how responses or form structure may be affected. This is a significant gap for a destructive mutation.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted words. It states the action, target, and identifier directly.

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 destructive operation with no annotations and no output schema, the description should compensate with more context about consequences, permissions, or reversibility. It omits these entirely, leaving the agent with only the bare action.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents formId, account, and questionId. The description only reiterates that questionId identifies the question to delete, adding no syntax, 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.

Purpose4/5

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

The description states a specific verb ('Delete') and resource ('question from a form'), and clarifies the identifier used ('by questionId'). It is clear enough to distinguish from sibling form operations like update_question or move_question, though it does not explicitly name those 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?

There is no guidance on when to use this tool versus related form tools like update_question or move_question, nor any prerequisites or exclusions. The description only states the action, leaving usage context entirely implicit.

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

google_forms_export_responsesExport form responses to SheetsC

Append form responses (headers + rows) to a spreadsheet tab.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesForm ID.
accountNoAccount nickname to use.
sheetNameNoTab name (default Sheet1).
spreadsheetIdYesDestination spreadsheet ID.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Append' usefully implies existing data is preserved, but the description is silent on permissions/auth needs, whether the destination tab is created if missing, rate limits, and how many responses are written. For a write operation with zero annotation coverage this is a significant gap.

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

Conciseness4/5

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

A single efficient sentence, front-loaded with the action and destination. No filler, though it is arguably too terse for a write tool rather than padded.

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 mutation tool with no annotations, no output schema, and four parameters, the description should explain prerequisites, destination-tab behavior, and what the append produces. It covers only the bare action, leaving key operational details unstated.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents formId, account, sheetName (default Sheet1), and spreadsheetId. The description adds only that rows include headers, which is marginal beyond what the schema supplies. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Append'), resource ('form responses'), and destination ('spreadsheet tab'), with the parenthetical '(headers + rows)' clarifying output shape. It is distinguishable from google_forms_responses (which reads responses) but does not name any sibling explicitly.

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 gives no when-to-use guidance and does not mention alternatives such as calling google_forms_responses plus google_sheets_append separately. The agent must infer the appropriate scenario entirely from the one-line purpose.

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

google_forms_getGet formA

Get a Google Form's structure and questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesForm ID (from the URL).
accountNoAccount nickname to use.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves structure and questions, implying a non-mutating read operation. However, it does not explicitly confirm the read-only nature, mention auth requirements, or describe edge cases like non-existent forms. For a simple getter this is acceptable but minimal.

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

Conciseness5/5

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

The description is a single sentence with zero filler. The verb and resource are front-loaded, making it immediately scannable. Every word 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?

The tool is simple: 2 parameters, no output schema, and no annotations. The phrase 'structure and questions' gives a sufficient sense of the returned data and differentiates it from response-related siblings. Minor gaps, such as error handling or account behavior, are not critical for a read-only getter.

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 describes both parameters (formId and account) with 100% coverage, so the schema already carries the semantic weight. The description adds no parameter-level detail, so the baseline score of 3 applies.

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 a specific verb, 'Get', and a clear resource, 'a Google Form's structure and questions'. This distinguishes it from sibling tools like google_forms_responses, which retrieves responses, and google_forms_create, which creates forms. An agent can clearly tell what this tool retrieves.

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 implied usage is clear: use when you need a form's structure and questions. However, the description provides no explicit when-not-to-use guidance or alternatives, such as contrasting with google_forms_responses. The context is clear but leaves exclusions to inference.

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

google_forms_move_questionMove form questionC

Reorder a question to a new position in the form.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesForm ID.
accountNoAccount nickname to use.
newIndexYesDestination item index (0-based).
questionIdYesQuestion ID to move.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries the full behavioral burden, yet it discloses nothing beyond the basic action. It does not say whether other questions shift index, whether the move is reversible, what happens on an out-of-range newIndex, or what permissions are needed for a form mutation.

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

Conciseness4/5

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

A single compact sentence with the action front-loaded and no filler. It is efficient, though it is perhaps too terse to carry additional needed context.

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

Completeness3/5

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

Parameters are fully covered by the schema and there is no output schema to explain, so the only substantive gap is behavioral (index shifting, ordering side effects, error conditions). For a mutation tool with no annotations, the definition is minimally adequate but leaves that behavioral gap open.

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

Parameters3/5

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

Schema description coverage is 100%, so formId, questionId, and newIndex are already documented (including the 0-based note and minimum 0). The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (reorder) and resource (a question within a form), clearly distinct from siblings like google_forms_update_question, add_question, and delete_question. It stops short of explicitly naming any alternative, but the resource+action pairing is unambiguous on its own.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus google_forms_update_question (which might also touch ordering) or how it relates to add/delete. The reordering intent is implied by the verb but no prerequisites or selection conditions are given.

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

google_forms_renameRename formC

Update a form's title.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesNew form title.
formIdYesForm ID.
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden. It only states that a title is updated, without mentioning permissions, reversibility, side effects, or the optional account parameter's role. It is a mutation tool with almost no behavioral disclosure.

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

Conciseness4/5

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

The description is a single efficient sentence with no wasted words. It is front-loaded and appropriately sized, though it is minimally informative rather than richly structured.

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 rename mutation with a fully documented schema, the description is minimally adequate. However, it omits usage context, the optional account parameter's effect, and any behavioral traits, and no output schema or annotations compensate.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter is already documented in the schema. The description adds no parameter-level meaning beyond what the schema provides, making the baseline score appropriate.

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

Purpose4/5

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

The description states a clear verb and resource: update a form's title. It distinguishes the form-title scope from sibling tools that update questions or delete forms, but it does not explicitly name or compare against those 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?

There is no guidance on when to use this tool versus alternatives such as google_forms_update_question, google_forms_get, or google_forms_delete. No prerequisites, exclusions, or context are provided.

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

google_forms_responsesGet form responsesC

List responses submitted to a form.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYesForm ID.
accountNoAccount nickname to use.
pageSizeNoMax responses (default 100).

TDQS

C2.9/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 full burden of behavioral disclosure. It only states 'List responses', implying a read operation, but does not mention pagination (pageSize parameter), ordering, or any potential side effects. There is no mention of authentication or account requirements, leaving significant behavioral 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 a single, concise sentence with no fluff. It is appropriately sized for a simple list operation, though it lacks the detail that would make it more useful. It is front-loaded with the core action, which is good.

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 three parameters, no output schema, and no annotations, the description is insufficiently complete. It does not explain the return format, pagination behavior, or any constraints beyond the schema. An agent would need to infer these details or make assumptions, which is a significant gap.

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

Parameters3/5

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

Schema description coverage is 100% for all three parameters, so the schema already documents formId, account, and pageSize. The description adds no additional parameter context; it simply restates the overall purpose. This meets the baseline of 3 for tools with full schema coverage.

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 a specific verb ('List') and resource ('responses submitted to a form'), making it distinct from sibling tools like google_forms_get (which retrieves form metadata) and google_forms_create. It is unambiguous and actionable.

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 prerequisites, such as needing a form ID, nor does it contrast with related tools like google_forms_get or google_forms_add_question. An agent must infer usage from the schema alone.

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

google_forms_update_questionUpdate form questionC

Update a question's title, description, options or required flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoNew question text.
formIdYesForm ID.
accountNoAccount nickname to use.
optionsNoNew choices (choice questions only).
requiredNoRequired flag.
questionIdYesQuestion ID (from form structure).
descriptionNoNew help text.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and largely fails it. It does not disclose whether this is a partial or full replacement update, what happens to omitted fields, permission/account requirements, or any return behavior. For a mutation tool with zero annotation coverage this is a significant gap.

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

Conciseness4/5

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

A single, well-front-loaded sentence that names the operation and the affected fields with no filler. It is efficient, though the extreme brevity leaves little room for the behavioral detail an un-annotated mutation tool needs.

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?

A 7-parameter mutation tool with no annotations and no output schema demands more than one field list. The description never addresses the account parameter, partial-update semantics, or the choice-question restriction on options, leaving real gaps for an agent to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the schema, establishing the baseline of 3. The description restates the same fields without adding format, constraint, or precedence details 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?

States a specific verb (update) and resource (a form question) and enumerates the mutable fields: title, description, options, required flag. This distinguishes it from sibling add/delete/move question tools at a glance. It stops short of explicitly naming those siblings, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and never mentions the alternatives (add_question, delete_question, move_question, rename). The agent can infer it edits an existing question, but nothing is stated about when this is the right tool versus the siblings.

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

google_gmail_deleteDelete email permanentlyA

Permanently delete a message (irreversible).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
accountNoAccount nickname to use.

TDQS

A3.5/5.0
Behavior3/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 does disclose the most critical behavioral trait—permanent, irreversible deletion—but omits other relevant context such as whether special permissions are required, effects on labels/attachments, 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.

Conciseness5/5

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

A single seven-word sentence that front-loads the operative verb and the critical qualifier. Every word earns its place—there is zero 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?

For a simple 2-parameter tool with full schema coverage and no output schema, the core semantics are captured. The main gap is lacking a pointer to the trash/untrash siblings for reversible deletion scenarios, which would materially help an agent choose correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both 'id' (Message ID) and 'account' (Account nickname). The description adds no parameter-level meaning, but the baseline of 3 applies because the schema does the heavy lifting.

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 a specific verb ('Permanently delete') and resource ('a message'), and crucially adds 'irreversible' which distinguishes it from the sibling google_gmail_trash. An agent can immediately tell this is permanent deletion versus a reversible trash operation.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like google_gmail_trash or google_gmail_untrash. The word 'irreversible' implies caution, but there is no explicit direction such as 'use trash for recoverable deletion'.

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

google_gmail_drafts_createCreate email draftC

Create a draft email (not sent).

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipient(s).
toYesRecipient email(s).
bccNoBCC recipient(s).
bodyYesMessage body.
fromNoSend-as alias or address to set as the From header.
accountNoAccount nickname to use.
replyToNoAddress to set as the Reply-To header.
subjectYesSubject line.
bodyTypeNoBody format (default text).
attachmentsNoLocal files to attach to the draft.
driveFileIdsNoDrive file IDs to attach by reference (downloaded under the Gmail size limit).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states only that the email is not sent; it does not cover authentication requirements, which account is used, whether the draft is saved persistently, or what happens to unspecified fields.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no redundant or wasted text. It communicates the core action and the key non-sending behavior directly.

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

Completeness2/5

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

The tool has 11 parameters, no annotations, and no output schema. A single sentence is too sparse for this complexity; an agent would lack context about draft persistence, account selection, or how the created draft is identified for later 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 description coverage is 100%, so all 11 parameters are already documented in the input schema. The description adds no parameter-level meaning beyond what the schema provides, making the baseline score of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: creating an email draft, and clarifies it is not sent. This distinguishes it from send operations, though it does not name the sibling tools such as google_gmail_send or google_gmail_drafts_send.

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 offers no guidance on when to use this tool versus alternatives. The parenthetical '(not sent)' is a behavioral note, not an explicit when-to-use or when-not-to-use rule, and no alternative tools are named.

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

google_gmail_drafts_deleteDelete email draftC

Delete a draft email.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDraft ID.
accountNoAccount nickname to use.

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 carries the full burden of behavioral disclosure. It only says 'Delete a draft email' and does not mention whether deletion is permanent, reversible, or scoped to an account. The agent is left without information about side effects, error conditions, or what happens to associated attachments or messages.

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 short and front-loaded, with no wasted words. However, it is essentially a restatement of the tool title and lacks the substance that would make the conciseness genuinely useful. It is not overly verbose, but it is also under-specified.

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 destructive operation with no annotations and no output schema, the description provides minimal context. It does not explain irreversibility, account handling, or which sibling tools are appropriate alternatives. An agent has only the parameter names to work with, which is insufficient for confident invocation.

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 already describes both parameters ('Draft ID' and 'Account nickname to use') with 100% coverage. The description adds no additional parameter meaning, but because the schema is complete, a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Delete a draft email.' It is clear and unambiguous about the operation. However, it does not explicitly differentiate this from related Gmail draft tools beyond the action itself, so it stops short of the top score.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, such as google_gmail_delete, google_gmail_trash, or other draft operations. No context, prerequisites, or exclusions are provided. The description only restates the action without helping an agent decide between sibling tools.

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

google_gmail_drafts_getGet email draftA

Fetch a single draft with parsed headers and body.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDraft ID.
accountNoAccount nickname to use.

TDQS

A3.6/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. The verb 'Fetch' implies a read-only operation and 'parsed headers and body' hints at return content, but it doesn't disclose side effects, auth requirements, or error behavior. It adds some value beyond the bare title but remains thin.

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

Conciseness5/5

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

A single front-loaded sentence with no filler. Every word contributes meaning; the verb, object, and qualifier are all present.

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 2-parameter read tool, the description covers the essential resource and return style. It could add a pointer to the sibling list tool or clarify 'single' against the list variant, but nothing critical is missing given the schema.

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

Parameters3/5

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

Schema coverage is 100%: both id and account are described adequately. The description doesn't elaborate on parameter meaning or format beyond the schema, so the high-coverage baseline of 3 applies.

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

Purpose5/5

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

States a specific verb (Fetch), a specific resource (a single draft), and the scope (parsed headers and body). This clearly differentiates it from sibling tools like google_gmail_drafts_list (plural) and google_gmail_get (regular messages).

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 siblings such as google_gmail_drafts_list or google_gmail_get. It only states what it does, not when to choose it.

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

google_gmail_drafts_listList email draftsC

List draft emails.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
maxResultsNoMax drafts (default 25).

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the operation. It does not mention read-only behavior, result shape, ordering, pagination, or the default maximum result, even though the schema documents maxResults as a property.

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 short but simply repeats the tool title and name without adding value. It lacks a front-loaded behavioral or usage statement, so the single sentence does not earn its place.

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

Completeness3/5

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

This is a low-complexity tool with only two optional, fully described parameters and no output schema. The minimal description is probably usable, but the absence of any mention of return format or pagination leaves minor gaps that a richer description could close.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-level meaning beyond what the schema already provides for 'account' and 'maxResults'.

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 a specific action ('List') applied to a specific resource ('draft emails'), matching the tool name. It is easily distinguished from sibling tools like google_gmail_list (emails) and google_gmail_drafts_get (single draft), though it does not explicitly call out that 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 given about when to use this tool instead of google_gmail_list, google_gmail_drafts_get, or other Gmail draft tools. There are no exclusions, prerequisites, or context clues beyond the name itself.

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

google_gmail_drafts_sendSend email draftB

Send an existing draft email.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDraft ID.
accountNoAccount nickname to use.

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 only says 'Send an existing draft email.' It does not disclose side effects (draft is sent/removed), auth requirements, or failure behavior. For a mutating action this is a significant disclosure gap.

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

Conciseness4/5

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

A single, front-loaded sentence with no filler. It is very concise, though possibly too spare to carry behavioral context.

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

Completeness3/5

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

For a simple two-parameter tool with full schema coverage, the description plus schema gives an agent enough to invoke it with the required id. However, zero annotations and no output schema leave behavioral expectations (e.g., success/error, draft consumption) undocumented.

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

Parameters3/5

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

Schema coverage is 100%, so id and account are already documented. The description adds marginal semantic value by specifying the draft must already exist, but it does not explain how id relates to draft lifecycle or the account parameter.

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

Purpose5/5

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

States a specific action ('Send') on a specific resource ('existing draft email'), which clearly separates it from google_gmail_send (new email) and draft management siblings. The word 'existing' signals it operates on drafts already created.

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 choose this over google_gmail_send or how drafts are created. No exclusions or alternative routing are provided; usage must be inferred from the name and title.

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

google_gmail_drafts_updateUpdate email draftA

Replace the contents of an existing draft (recipients, subject, body, attachments).

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipient(s).
idYesDraft ID to update.
toYesRecipient email(s).
bccNoBCC recipient(s).
bodyYesMessage body.
fromNoSend-as alias or address to set as the From header.
accountNoAccount nickname to use.
replyToNoAddress to set as the Reply-To header.
subjectYesSubject line.
bodyTypeNoBody format (default text).
threadIdNoThread ID when the draft continues a thread.
attachmentsNoLocal files to attach to the draft.
driveFileIdsNoDrive file IDs to attach by reference (downloaded under the Gmail size limit).

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 full behavioral burden. It usefully discloses that the operation replaces the draft contents rather than patching them, but it does not cover permissions, whether omitted fields are cleared, or the return 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?

A single sentence with zero waste, and the key replacement behavior is front-loaded. It is appropriately sized for the core action.

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 13-parameter mutation tool with no annotations and no output schema, the description is minimal. It conveys the main operation but omits side-effect details, prerequisites, and return-value expectations that an agent might need.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description lists recipients, subject, body, and attachments but adds no syntax, format, or default information beyond what the schema already 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 uses a specific verb ('Replace') and resource ('contents of an existing draft') and enumerates the main replaceable fields. It distinguishes itself from siblings like google_gmail_drafts_create and google_gmail_drafts_send by emphasizing existing draft replacement.

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

Usage Guidelines3/5

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

The phrase 'existing draft' implies the tool is for modifying, not creating or sending, but no explicit when-to-use or alternatives are named. The agent must infer that drafts_create and drafts_send are different operations.

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

google_gmail_filters_createCreate Gmail filterC

Create a Gmail filter with criteria and action (e.g. auto-archive).

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoAction to apply when matched (e.g. markAsRead via removeLabelIds UNREAD).
accountNoAccount nickname to use.
criteriaNoMatch criteria.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it omits the most agent-relevant facts: filters only apply to future messages, what permissions/account are needed, and whether creation is idempotent. It conveys only that a persistent mutation occurs.

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

Conciseness4/5

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

A single compact sentence with the verb and resource front-loaded and zero filler. It is appropriately small, though the brevity contributes to the gaps elsewhere.

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 mutation tool with nested criteria/action objects, zero annotations, and no output schema, the description is too thin. It should at minimum say filters affect only new mail and what the action can target, which the agent cannot derive from structured fields.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents action, account, and criteria and their nested fields. The description only restates 'criteria and action' and offers one example (auto-archive), adding marginal value over the structured fields.

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

Purpose4/5

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

States a specific verb (Create) and resource (Gmail filter) plus the two conceptual inputs (criteria, action). It does not distinguish itself from the sibling google_gmail_filters_list/delete or clarify that this only affects future mail, but the core purpose is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. needing label IDs to exist first), and no mention of the related filter list/delete siblings. Usage must be inferred entirely from the verb.

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

google_gmail_filters_deleteDelete Gmail filterC

Delete a Gmail filter by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFilter ID.
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden for a destructive mutation. It says 'delete' but discloses nothing about permanence/irreversibility, required scopes or auth, side effects, or whether the operation can be undone. For a delete tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

A single short sentence with the verb and scope front-loaded and zero filler. Nothing is wasted, and the key constraint ('by ID') appears immediately.

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 destructive operation with no annotations and no output schema, the description should cover irreversibility, permissions, and error behavior (e.g., invalid ID). It provides none of these, leaving the agent under-informed for a mutation tool.

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

Parameters3/5

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

Schema description coverage is 100% (id and account both documented in the schema), so the baseline is 3. The description's 'by ID' only restates the schema's 'Filter ID' and adds no format, sourcing, or account-selection meaning beyond it.

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

Purpose4/5

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

States a specific verb (Delete) and resource (Gmail filter) with the key identifier ('by ID'), which cleanly distinguishes it from sibling tools like google_gmail_filters_list and google_gmail_filters_create. It does not, however, explicitly differentiate itself from other delete tools (e.g., google_gmail_delete, google_gmail_labels_delete), so it stops short of a 5.

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

Usage Guidelines2/5

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

The description gives no when-to-use context, no prerequisites, and no mention of alternatives. 'By ID' faintly implies the ID comes from a list operation, but nothing routes the agent between this tool and its siblings. This is bare guidance.

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

google_gmail_filters_listList Gmail filtersB

List Gmail filters (auto-archive/apply rules).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only listing operation but says nothing about authentication, pagination, return format, or what the filter list contains.

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

Conciseness5/5

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

One short sentence with zero waste, and the core operation is front-loaded immediately. It is appropriately sized for a simple list tool.

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

Completeness3/5

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

The tool is low complexity with one optional parameter, but with no annotations and no output schema, the description is minimal. It clarifies the resource type but does not describe return contents or any operational constraints.

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

Parameters3/5

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

Schema description coverage is 100% and there is only one optional parameter, so the schema already fully documents it. The description adds no parameter details, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('Gmail filters') and clarifies what filters are with the parenthetical '(auto-archive/apply rules)'. It does not explicitly differentiate from sibling filter tools like create or delete, but the name and description make the read operation 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?

There is no explicit when-to-use guidance, no conditions, and no named alternatives. The listing intent is implied by the verb, but the description leaves any routing decision to inference.

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

google_gmail_getRead an emailA

Fetch a single message with parsed headers, body and attachment flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
accountNoAccount nickname to use.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It does disclose that this is a read operation ('Fetch') and usefully clarifies that only attachment flags are returned, not the attachments themselves. However, it doesn't mention body content format (HTML vs plain text), truncation behavior, or error cases for invalid/absent IDs.

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 12-word sentence with zero waste. The verb and resource are front-loaded, and the result detail is packed efficiently. Every word contributes.

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 two-parameter read tool, this is nearly complete. With no output schema present, the description helpfully enumerates return components (parsed headers, body, attachment flags), serving the role of return-value documentation. Minor gaps remain around error behavior and body format, but nothing an agent would struggle with for a basic fetch.

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

Parameters3/5

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

Schema description coverage is 100% — both 'id' and 'account' are already documented in the schema. The description adds no parameter-level detail beyond the implication that 'id' selects which single message to fetch. This matches the baseline of 3 for high schema 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 states a specific verb ('Fetch'), a resource ('a single message'), and the expected result ('parsed headers, body and attachment flags'). This distinguishes it from google_gmail_list (multiple messages), google_gmail_get_attachment (attachment content, not the message), and google_gmail_drafts_get (drafts, not messages).

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 usage context is implied: use this when you need to read one email message. However, no explicit routing guidance is given — there's no mention of using google_gmail_get_attachment for actual attachment content or google_gmail_list for browsing messages. Given over 70 siblings, explicit when/when-not guidance would materially help.

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

google_gmail_get_attachmentGet email attachmentA

Download a single attachment by message ID and attachment ID. Text-like files are returned decoded as text; binary files as base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
partIdNoStable part ID (from list_attachments); preferred over attachmentId for lookup.
accountNoAccount nickname to use.
attachmentIdYesAttachment ID (from list_attachments).

TDQS

A4/5.0
Behavior4/5

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

With no annotations and no output schema, the description carries the behavioral disclosure burden. It adds genuinely useful behavior beyond the schema: text-like files are decoded and returned as text, while binary files are returned as base64. This clarifies the output format, though it does not cover error cases, authentication, or response envelope details.

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 short sentences, no filler, and the core action is front-loaded in the first sentence. Every phrase ('single attachment', 'decoded as text', 'binary files as base64') 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 simple retrieval tool, the description plus 100%-covered schema is nearly complete: an agent knows what to call, which parameters are required, and what kind of content to expect. It could be improved by explicitly pointing to google_gmail_list_attachments as the prerequisite source of attachment IDs, but that is already hinted in the schema property descriptions.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains id, partId, account, and attachmentId. The description only restates that a message ID and attachment ID are needed and adds no extra meaning beyond the schema, so it stays at the baseline.

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 names a specific verb ('Download'), a precise resource ('a single attachment'), and the two identifiers required ('message ID and attachment ID'). This clearly distinguishes it from siblings like google_gmail_list_attachments (which lists attachments) and google_gmail_get (which retrieves a 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 the intended use case — fetching an attachment after obtaining its IDs — but it never explicitly names alternatives or says when not to use this tool. There is no guidance such as 'use list_attachments first' or 'for the full message body, use google_gmail_get instead'.

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

google_gmail_labels_createCreate email labelC

Create a custom Gmail label.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLabel name.
accountNoAccount nickname to use.
labelListVisibilityNoe.g. labelShow or labelHide.
messageListVisibilityNoe.g. show or hide.

TDQS

C2.9/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 full burden of behavioral disclosure. It only states the action 'create' without mentioning potential side effects, idempotency (what happens if the label already exists), permission requirements, or the nature of the response. This is a significant gap for a mutating 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 a single, efficient sentence that immediately conveys the core action. There is no redundancy or fluff, and it front-loads the purpose.

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 mutation tool with no annotations and no output schema, the description is underspecified. It does not disclose return values, error handling, or edge cases (e.g., duplicate labels), nor any account context (the 'account' parameter is not mentioned in the description). An agent would lack necessary behavioral context to call this tool confidently.

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 covers all parameters with descriptions (100% coverage), so the schema already documents each parameter's purpose. The tool description adds no additional meaning beyond stating that a custom label is created. This meets the baseline for schema-covered parameters, but does not enrich understanding.

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 'Create' and the resource 'custom Gmail label,' which distinguishes it from sibling tools like google_gmail_labels_list and google_gmail_labels_delete. It is specific enough for an agent to understand the tool's primary function, though it does not elaborate on what 'custom' implies.

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 (e.g., requiring a Gmail account) or constraints (e.g., label name uniqueness). An agent must infer usage solely from the tool name and schema.

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

google_gmail_labels_deleteDelete email labelC

Delete a Gmail label.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLabel ID.
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states only the action ('Delete'), but does not disclose that deletion is permanent, that system labels may not be deletable, or that messages are not deleted. This leaves important side effects undisclosed.

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 front-loaded sentence with no filler or redundant words; it is efficiently structured. It sacrifices some helpful details, but as a concise statement it is well-formed.

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

Completeness2/5

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

The tool is a destructive Gmail operation with no annotations or output schema, yet the description omits critical context like irreversible deletion, the fact that only custom labels can be deleted, and the relationship between labels and messages. An agent has enough to identify the tool but not enough to anticipate failures or side effects.

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

Parameters3/5

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

Schema coverage is 100% (id as 'Label ID', account as 'Account nickname'), so the schema already documents the parameters. The description adds no additional meaning, such as how to find the label ID or whether account is needed for multi-account setups, so baseline 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb ('Delete') and a concrete resource ('Gmail label'), making the tool's function immediately understandable. It is clear enough to be distinguished from sibling delete tools by resource type, though it does not explicitly name 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?

The description offers no guidance on when to choose this tool over alternatives such as google_gmail_delete or google_gmail_trash, and no mention of prerequisites or situations to avoid. The only usage signal is implied by the verb and resource.

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

google_gmail_labels_listList email labelsB

List all Gmail labels.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavioral traits. 'List' implies a read-only operation, but the description does not explicitly state that there are no side effects, whether authentication or an existing account is required, or what the response contains.

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, direct sentence with no wasted words. It is appropriately sized for such a simple tool, though it adds no clarifying structure beyond the title's message.

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 one-parameter read-only tool, the description is minimally sufficient: an agent can understand the basic operation. However, it omits account behavior details, return format, and any usage context, which would improve completeness.

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 schema already fully documents the single 'account' parameter with 100% coverage, so the description does not need to add parameter details. It also does not mislead, maintaining the baseline 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 identifies the action ('List') and the resource ('all Gmail labels'), making the tool's purpose unambiguous and distinct from sibling tools like google_gmail_list (emails) and google_gmail_labels_create/delete.

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, nor are any exclusions or prerequisites mentioned. The description only restates the operation without providing decision context.

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

google_gmail_labels_updateUpdate email labelC

Update a Gmail label's name or visibility (partial).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLabel ID.
nameNoNew label name.
accountNoAccount nickname to use.
labelListVisibilityNoe.g. labelShow or labelHide.
messageListVisibilityNoe.g. show or hide.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. '(partial)' implies only supplied fields are changed, which is useful, but it omits permission/auth requirements, reversibility, and what happens to unspecified fields like messageListVisibility.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though the parenthetical '(partial)' is somewhat cryptic and would benefit from one clarifying clause.

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 5-parameter mutation tool with no annotations and no output schema, the description is too thin. It leaves behavioral, prerequisite, and return-value expectations entirely unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (including account) are documented in the schema. The description adds no syntax or format detail beyond what the schema already provides, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb (Update) and resource (Gmail label) with the mutable fields (name or visibility). It is distinguishable from labels_create, labels_delete, and labels_list, though it does not explicitly name those siblings as 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 when-to-use guidance, prerequisites, or reference to alternatives. It does not say the label must already exist or when a partial update is preferable to a delete/recreate. The cryptic '(partial)' is the only hint at scope.

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

google_gmail_listList emailsA

List messages from the inbox, newest first, with an optional Gmail search query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoGmail search query (e.g. from:bob, newer_than:2d).
accountNoAccount nickname to use.
maxResultsNoMax messages (default 25).

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description must disclose behavior on its own. It does state the operation is a listing (read-only by implication), scoped to the inbox, sorted newest first, and supports an optional query. However, it does not mention pagination, return format, or any requirements, leaving significant gaps for a tool with zero annotation coverage.

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

Conciseness5/5

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

One sentence, front-loaded with verb and resource, includes ordering and optional query. No wasted words; the title 'List emails' is expanded with useful scope and behavior.

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 has no output schema and no annotations, and the description does not describe return values or pagination behavior. It is adequate for a simple list call but leaves an agent uncertain about what the response contains. Given low complexity and full schema coverage, a 3 is appropriate.

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

Parameters3/5

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

Schema description coverage is 100% with each parameter documented (query, account, maxResults). The description adds context about the inbox and sorting but does not add parameter-specific semantics beyond the schema, so baseline 3 applies.

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 a specific verb ('List'), a resource ('messages from the inbox'), and behavior ('newest first', optional Gmail search query'). This clearly differentiates it from sibling tools like google_gmail_list_attachments, google_gmail_drafts_list, and google_gmail_get.

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 gives context that this is for inbox messages and supports a search query, but it does not explicitly state when to prefer it over alternatives or mention exclusions (e.g., drafts, attachments). Usage is implied rather than stated.

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

google_gmail_list_attachmentsList email attachmentsA

List attachments on a message (metadata only, no bytes).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
accountNoAccount nickname to use.

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 the full burden. It discloses that the tool returns metadata only and does not expose bytes, which is a meaningful behavioral boundary. It does not describe return structure or error behavior, but for a simple listing operation this is reasonably transparent.

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

Conciseness5/5

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

A single, front-loaded sentence that communicates the core function and a key boundary in under ten words. Every part is informative and there is no filler.

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-metadata operation, the description plus schema is sufficient. It tells the agent what the tool does, what it does not do (no bytes), and the schema documents the parameters. Minor omissions like output format are acceptable here.

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

Parameters3/5

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

Schema description coverage is 100%, so both 'id' and 'account' are already documented in the schema. The description adds no additional parameter-level meaning, meeting the baseline for a fully covered 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 states a specific action and resource: 'List attachments on a message', and immediately clarifies the scope with 'metadata only, no bytes'. This clearly differentiates the tool from google_gmail_get_attachment, which retrieves actual attachment bytes.

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 phrase 'metadata only, no bytes' effectively tells the agent when to use this tool: when only attachment metadata is needed, not content. It implies the alternative but does not explicitly name google_gmail_get_attachment or state concrete conditions, leaving slight room for inference.

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

google_gmail_modifyModify email labelsC

Add or remove labels on a message (e.g. mark read/unread, star, archive).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
accountNoAccount nickname to use.
addLabelsNoLabels to add (e.g. STARRED, INBOX, TRASH).
removeLabelsNoLabels to remove (e.g. UNREAD).

TDQS

C2.9/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 full burden of behavioral disclosure. It states that labels can be added or removed, but offers no information about required permissions, side effects (e.g., whether removing UNREAD marks the message as read), idempotency, or failure behavior. 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.

Conciseness4/5

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

The description is a single concise sentence with no filler. It is appropriately short for the tool's simplicity, though it sacrifices some helpful detail 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?

For a tool with no annotations and no output schema, this description leaves important gaps. It does not specify when to use it over sibling tools, what happens after the operation, or any prerequisites. Given the simplicity of the tool and complete schema, it is minimally adequate but incomplete.

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

Parameters3/5

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

The schema provides 100% coverage, describing all four parameters with clear types. The description adds some semantic value by giving examples of label values (STARRED, UNREAD, etc.), which helps an agent infer valid inputs, but it does not explain the relationship between addLabels/removeLabels and these examples 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 the action ('add or remove labels') and the resource ('a message'), with concrete examples that make its scope understandable. It does not explicitly differentiate from sibling tools like google_gmail_trash or google_gmail_untrash, but the label-oriented framing is distinct enough.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives. For example, it does not mention that google_gmail_trash and google_gmail_untrash should be used for trash-specific operations, or that google_gmail_labels_* tools manage labels themselves rather than applying them to messages.

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

google_gmail_replyReply to an emailA

Reply to an existing message inside its thread, preserving threading headers.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesReply body.
fromNoSend-as alias or address to set as the From header.
accountNoAccount nickname to use.
replyToNoAddress to set as the Reply-To header.
bodyTypeNoBody format (default text).
threadIdYesThread ID of the conversation.
messageIdYesID of the message being replied to.
attachmentsNoLocal files to attach to the reply.
driveFileIdsNoDrive file IDs to attach by reference (downloaded under the Gmail size limit).

TDQS

A3.6/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 behavioral burden. It contributes the key detail that threading headers are preserved, which is important behavior for a reply. However, it omits critical behavioral aspects such as whether sending is restricted to the account that owns the thread, whether any fields are mutable, or what happens if the messageId is not in the thread. This is a moderate gap for a mutation tool with zero annotation coverage.

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 that front-loads the action and resource and includes a crucial scope constraint. No wasted words.

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

Completeness2/5

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

Given that this is a mutation tool with no annotations and no output schema, the description is too sparse. It does not cover permissions, side effects, error conditions, or the fact that a new message is created in the thread. An agent would need to infer too much, making the definition incomplete for safe correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so the schema fully documents all parameters. The description adds little parameter-level meaning beyond what the schema provides; it mentions 'threading headers' but not parameter specifics. Baseline 3 is appropriate.

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 a specific verb and resource ('Reply to an existing message inside its thread') and clearly distinguishes this tool from the send sibling by emphasizing threading and preservation of threading headers.

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

Usage Guidelines3/5

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

Usage is implied: to reply within a thread you need threadId and messageId, which differentiates it from google_gmail_send. However, the description does not explicitly say when to use this instead of google_gmail_send or other alternatives, nor does it mention prerequisites.

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

google_gmail_sendSend emailC

Send an email from the connected account.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipient(s).
toYesRecipient email(s).
bccNoBCC recipient(s).
bodyYesMessage body.
fromNoSend-as alias or address to set as the From header.
accountNoAccount nickname to use.
replyToNoAddress to set as the Reply-To header.
subjectYesSubject line.
bodyTypeNoBody format (default text).
attachmentsNoLocal files to attach to the email.
driveFileIdsNoDrive file IDs to attach by reference (downloaded under the Gmail size limit).

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it says almost nothing: it does not disclose that sending is immediate and irreversible, that it requires send scope/auth, that it consumes Gmail quota, or whether the message is stored in Sent. 'Send' implies mutation but the description never confirms the side-effect profile.

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

Conciseness3/5

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

A single front-loaded sentence with no filler, but it is under-specified rather than concise given an 11-parameter mutation tool. The brevity leaves real gaps that a slightly longer description could close.

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 an irreversible outbound-message tool with 11 parameters, no annotations and no output schema, the description omits the essentials: irreversibility, auth/scope needs, and behavior when attachments exceed Gmail size limits. An agent could invoke it but would lack confidence about consequences.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter (to, cc, bcc, body, bodyType, attachments, driveFileIds, from, replyTo, account) is documented in the schema itself. The description adds nothing beyond that, so the baseline 3 applies; the phrase 'connected account' is even mildly ambiguous against the explicit `account` nickname parameter.

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

Purpose4/5

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

Clear verb+resource: 'Send an email' precisely names the action, and 'from the connected account' scopes the sender. However, it does nothing to distinguish this from close siblings like google_gmail_reply or google_gmail_drafts_send, which an agent must choose between.

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

Usage Guidelines2/5

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

No guidance on when to use this versus google_gmail_reply (for replies to existing threads) or google_gmail_drafts_send (for pre-composed drafts). No prerequisites, no exclusions, no context about immediate vs deferred sending.

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

google_gmail_sendas_createCreate send-as aliasC

Create a Gmail send-as alias (subject to domain/verification rules).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
isDefaultNo
displayNameNo
sendAsEmailYesEmail address for the alias.

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 behavioral burden. The parenthetical about domain/verification rules is a genuine constraint, but the description says nothing about required scopes/permissions, whether the alias needs separate verification, or what a failed creation means. For a mutation tool with zero annotation coverage, this is thin.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words, and the qualifier is placed where it belongs. It is efficient, though arguably too terse to be useful.

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

Completeness2/5

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

For a 4-parameter mutation tool with 50% schema coverage, no annotations, and no output schema, the description leaves the agent guessing about half the inputs and the entire behavioral profile. The one parenthetical does not close the gap.

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 50%: 'account' and 'sendAsEmail' are documented in the schema, while 'isDefault' and 'displayName' are undocumented in both schema and description. The description adds no parameter meaning (e.g., that sendAsEmail must be a verified address, or what isDefault implies), so it fails to compensate for the coverage 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 states a specific verb and resource ('Create a Gmail send-as alias'), which an agent can distinguish from the read-only sibling google_gmail_sendas_list. It does not explicitly name or differentiate itself from siblings, but the verb+resource pairing is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus google_gmail_sendas_list or other Gmail tools. The parenthetical '(subject to domain/verification rules)' hints at a precondition but never states it as a usage condition (e.g., what must be true before creating an alias).

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

google_gmail_sendas_listList send-as aliasesB

List Gmail send-as aliases.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.

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 carries full burden. It does not disclose whether this is a read-only operation, authentication requirements, rate limits, or return format.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words.

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

Completeness2/5

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

Given no annotations, no output schema, and a simple parameter, the description should at least state that it's a read operation or what the return value contains. It omits essential behavioral context.

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 describes the single parameter 'account' with 100% coverage, so the baseline is 4. The description adds no parameter information, but the schema fully documents it.

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 a specific verb and resource: 'List Gmail send-as aliases.' It is distinct from siblings like google_gmail_sendas_create and other list operations.

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 google_gmail_sendas_create or other Gmail list tools. Usage context is implied but not explicit.

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

google_gmail_threads_getRead an email threadB

Fetch a full conversation thread with every message parsed (headers, body, attachments).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThread ID.
formatNoPayload format (default full).
accountNoAccount nickname to use.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses what a call returns (all messages, headers, body, attachments parsed), which is real behavioral context, but says nothing about read-only nature, auth/scope requirements, quota cost, or how large threads or attachment payloads are handled.

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

Conciseness5/5

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

One sentence, front-loaded with the verb 'Fetch', no redundancy, and the parenthetical efficiently enumerates the parsed payload contents. Nothing to trim.

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?

Adequate for a three-parameter read tool with a fully covered schema and no output schema — the sentence explains roughly what comes back. It nonetheless omits thread-vs-message ID provenance and any efficiency caveat for large threads, leaving the agent to discover behavior empirically.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds only marginal parameter meaning: 'full conversation thread' loosely mirrors the format enum default of 'full' but does not explain metadata/minimal tradeoffs or the account nickname parameter.

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

Purpose4/5

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

States a specific verb+resource ('Fetch a full conversation thread') and goes further by saying every message is parsed with headers, body and attachments. It clearly implies thread-level retrieval rather than message-level, but it never names the siblings it differs from (google_gmail_get, google_gmail_threads_list), so differentiation is left to inference.

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

Usage Guidelines2/5

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

No when-to-use guidance at all. An agent is not told when to pick this over google_gmail_get (single message) or google_gmail_threads_list (list threads), nor whether an ID must come from the list call. Context is implied by the name only.

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

google_gmail_threads_listList email threadsB

List conversation threads, newest first, with an optional Gmail search query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoGmail search query (e.g. from:bob, newer_than:2d).
accountNoAccount nickname to use.
maxResultsNoMax threads (default 25).

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses ordering ('newest first') but says nothing about pagination, auth/account requirements, rate limits, or what a returned thread contains beyond the schema's maxResults default.

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 well-formed sentence that front-loads the resource and ordering and tacks the optional filter on at the end. No filler 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?

For a listing tool with no annotations and no output schema, the description omits pagination behavior and any indication of what a thread object returns, which are the main things an agent needs to iterate correctly. The core facts it does state are accurate but not sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents query syntax, account nickname, and the maxResults default/limits. The description adds no parameter meaning beyond that, which is the expected baseline when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource ('List conversation threads') and adds scope ('newest first, with an optional Gmail search query'). It implicitly distinguishes itself from the message-level google_gmail_list, but never names that sibling or google_gmail_threads_get, so the agent must infer the difference.

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

Usage Guidelines2/5

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

The only usage cue is 'optional Gmail search query', which hints at filtering but gives no when-to-use guidance. Nothing tells the agent when to pick thread listing over google_gmail_list or google_gmail_threads_get.

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

google_gmail_trashTrash emailB

Move a message to trash.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
accountNoAccount nickname to use.

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 carry behavioral disclosure. It communicates the action but does not mention side effects, whether the operation is reversible via untrash, permissions required, or response behavior. 'Trash' implies recoverability, 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 a single, front-loaded sentence with no filler. Every word contributes to the core action.

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 and the schema covers both parameters, but with no output schema and no annotations, a bit more context on expected result or side effects would make it more self-contained. Overall it is minimally adequate for a straightforward action.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters id and account are already documented. The description adds no additional parameter meaning beyond the schema, which is acceptable at the baseline of 3.

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

Purpose4/5

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

The description states a specific action ('Move a message to trash') with a clear resource and destination. It is distinguishable from siblings like google_gmail_delete and google_gmail_untrash, though it does not explicitly contrast with them.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is provided. With siblings like google_gmail_delete, google_gmail_untrash, and google_gmail_modify, an agent receives no help choosing between them.

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

google_gmail_untrashRestore email from trashA

Restore a message from trash.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
accountNoAccount nickname to use.

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 of behavioral disclosure. It only restates the operation without explaining what happens to labels, whether the action is reversible, or what authentication/account considerations apply. It does at least indicate a state-changing action, so it is not completely opaque.

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, focused sentence with no filler or redundant words. The key information is front-loaded and every word earns its place.

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

Completeness3/5

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

For a simple two-parameter tool with no output schema, the description is mostly sufficient. However, with no annotations, it lacks important contextual guidance such as edge-case behavior for already-untrashed messages, account requirements, or what the agent should expect after the call.

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 fully describes both parameters ('id' as Message ID and 'account' as Account nickname), giving baseline 3. The description adds no additional parameter-level meaning beyond the schema already 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 states a specific action ('Restore'), a precise object ('a message'), and the source ('from trash'). This is unambiguous and clearly distinguishes the tool from its inverse sibling google_gmail_trash and from permanent deletion operations like google_gmail_delete.

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

Usage Guidelines3/5

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

The description implies the message must currently be in the trash, but it does not explicitly say when to prefer this over alternatives such as google_gmail_trash or google_gmail_delete. Usage context is clear but no exclusions or alternatives are stated.

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

google_gmail_vacation_getGet vacation responderC

Get the Gmail vacation (out-of-office) responder settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not say what happens when no vacation responder is configured, whether any scope/permission is required, or what the response contains. For a settings-retrieval tool with zero annotation coverage this is a real 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?

One compact sentence with no filler, front-loading the verb and resource. It is appropriately sized, though it is so short that it omits any routing or return-value 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?

With no output schema and no annotations, the description is the only place an agent could learn what the call returns, yet it never describes the settings fields (message, enable/disable state, date range). Adequate for selecting the tool, incomplete for interpreting the result.

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

Parameters3/5

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

Schema description coverage is 100% with a single 'account' parameter documented in the schema, so the baseline of 3 applies. The description adds nothing about the account parameter or multi-account behavior.

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

Purpose4/5

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

The description gives a specific verb ('Get') and resource ('Gmail vacation (out-of-office) responder settings'), and the parenthetical clarifies the ambiguous term 'vacation responder'. It does not explicitly name the read/write counterpart google_gmail_vacation_update, but the intent is unambiguous from the name alone.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus google_gmail_vacation_update or any other sibling. The read-only nature is implied by 'Get' but no context, prerequisites, or alternatives are given.

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

google_gmail_vacation_updateUpdate vacation responderC

Update the Gmail vacation (out-of-office) responder settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
endTimeNoEnd time as ms epoch string.
startTimeNoStart time as ms epoch string.
enableAutoReplyNoTurn the auto-reply on/off.
responseSubjectNoSubject of the auto-reply.
responseBodyHtmlNoHTML body of the auto-reply.
responseBodyPlainTextNoPlain-text body of the auto-reply.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden for a mutation tool, and it discloses almost nothing. It does not say whether this is a partial patch or a full replace, what happens to fields omitted from the request, whether it requires account authorization, or how to disable the responder.

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

Conciseness4/5

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

A single front-loaded sentence with zero waste. It is efficient, though the terseness is arguably under-specification rather than exemplary conciseness.

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

Completeness2/5

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

For a seven-parameter mutation tool with no annotations and no output schema, the description leaves key questions unanswered: partial vs full update semantics, required authorization, and the effect of enableAutoReply=false. It is not sufficient on its own.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (account, startTime, endTime, enableAutoReply, responseSubject, responseBodyHtml, responseBodyPlainText) is already documented in the schema. The description adds no syntax, format, or constraint detail beyond that, so the baseline of 3 applies.

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

Purpose4/5

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

The description names a specific verb and resource: 'Update the Gmail vacation (out-of-office) responder settings.' An agent can distinguish it from google_gmail_vacation_get by the update/get verb pair, though the description never explicitly contrasts them.

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 google_gmail_vacation_get (to inspect current settings) or google_gmail_send. No prerequisites, no note about needing the vacation responder feature enabled, and no mention that all seven parameters are optional.

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

google_sheets_add_sheetAdd spreadsheet tabC

Add a new tab (sheet) to a spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNo0-based position to insert at (appended at end if omitted).
titleYesTitle of the new tab.
accountNoAccount nickname to use.
spreadsheetIdYesSpreadsheet ID.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the mutation itself. It does not state whether the tab is appended or inserted, what permissions are required, whether the operation is reversible, or how the new tab is identified on return.

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

Conciseness4/5

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

A single, front-loaded sentence with no filler. It is appropriately sized, though it is arguably too terse given the lack of behavioral detail.

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 (4 params, no nested objects, no output schema) and the schema fully documents inputs, so the description is minimally sufficient. However, with zero annotations, it should do more to explain the mutation's effects and requirements.

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

Parameters3/5

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

Schema description coverage is 100% (all four parameters, including the index positioning semantics and account nickname, are documented in the schema). The description adds no parameter meaning beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb ("Add") and resource ("a new tab (sheet)") with the target container ("to a spreadsheet"), so the agent knows exactly what operation is performed. It does not, however, distinguish itself from siblings such as google_sheets_create (new spreadsheet) or google_sheets_rename_sheet/delete_sheet, so the differentiation is left to the tool name alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives like google_sheets_create or google_sheets_batch_update. Usage is only implied by the verb, which is the bare minimum.

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

google_sheets_appendAppend to spreadsheetB

Append rows below the existing data in a sheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeYesA1 range of the table to append to, e.g. Sheet1!A1.
valuesYesRows of values to append.
accountNoAccount nickname to use.
spreadsheetIdYesSpreadsheet ID.
valueInputOptionNoHow to interpret values (default USER_ENTERED).

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 behavioral burden. It states that rows are appended below existing data, which implies a non-destructive addition, but it does not disclose response behavior, whether existing data is preserved explicitly, how valueInputOption affects results, or any 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 a single concise sentence that is front-loaded with the core action and target resource. It contains no filler or redundant phrasing.

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

Completeness3/5

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

For a simple append operation, the description conveys the essential behavior, and the schema covers parameter details. However, with no annotations and no output schema, the description leaves out return-value expectations and selection guidance relative to the many sheet-related siblings.

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 already covers all five parameters with 100% description coverage, including the A1 range format, the values array of rows, and the valueInputOption enum. The description adds no additional parameter meaning, which is acceptable given the schema completeness.

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 uses a specific verb and resource: 'Append rows below the existing data in a sheet.' It clearly communicates the operation and its positional behavior. It distinguishes itself from siblings like google_sheets_write by emphasizing appending below existing data, though it does not explicitly name alternatives.

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

Usage Guidelines3/5

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

The phrase 'below the existing data' implies the tool is appropriate when adding rows without overwriting current content. However, there is no explicit guidance about when to choose this over google_sheets_write or google_sheets_batch_update, and no exclusions or conditions are stated.

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

google_sheets_batch_updateBatch update spreadsheetB

Send raw Sheets batchUpdate requests (add/delete sheets, formatting, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
requestsYesSheets API batchUpdate requests.
spreadsheetIdYesSpreadsheet ID.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that it sends raw requests and can mutate the spreadsheet (add/delete sheets, formatting), but it does not mention that this is a low-level passthrough that requires the caller to know the Sheets API format, that it can be destructive, or that it may fail if requests are invalid. The description is too thin to convey the risk and complexity of a raw batchUpdate endpoint.

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 that is concise and front-loads the key verb and resource. It includes useful examples in parentheses. It earns its place, though it could be slightly more informative without becoming 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?

For a raw passthrough tool with no annotations and no output schema, the description is incomplete. It doesn't explain that the tool is a low-level API passthrough, what the response looks like, or that the caller must construct valid Sheets API requests. An agent would need to know the Sheets API batchUpdate format to use this correctly, and the description doesn't warn about that.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds context that 'requests' are raw Sheets API batchUpdate requests, which is helpful, but it doesn't explain the structure of the request objects or the account parameter's role. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb ('Send raw Sheets batchUpdate requests') and resource ('spreadsheet'), and gives examples of what it can do ('add/delete sheets, formatting, etc.'). It is clear enough to distinguish from google_sheets_read/write/append, though it doesn't explicitly name a sibling alternative.

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: use this when you need raw Sheets API batchUpdate operations rather than simple read/write/append. However, it does not explicitly state when to use it versus alternatives like google_sheets_write or google_sheets_batch_update (which doesn't exist in siblings, but google_slides_batch_update does). No exclusions or conditions are given.

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

google_sheets_createCreate spreadsheetB

Create a new spreadsheet, optionally with pre-made sheet tabs.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesSpreadsheet title.
sheetsNoSheet tab names to create.
accountNoAccount nickname to use.

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 carries the full burden of behavioral disclosure. It only restates the action and optional tabs, without mentioning side effects like persisting a file in Drive, authentication requirements, or what the create operation returns. This is a meaningful 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.

Conciseness5/5

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

The description is a single short sentence with the core verb and noun front-loaded and no filler words. It communicates the essential action and the one optional behavior efficiently.

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 no annotations and no output schema, the description should clarify return values or side effects. It only states the action, leaving the agent unaware of what the tool returns (e.g., a spreadsheet ID/URL) or how the account parameter affects execution. A simple phrase about return value would make it 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 100%, so the schema already documents all three parameters. The description adds minimal value by noting that sheet tabs are optional ('pre-made sheet tabs'), which echoes the schema's non-required status. No further parameter semantics are needed beyond this baseline.

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

Purpose5/5

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

The description uses the specific verb 'Create' with the resource 'spreadsheet' and an optional modifier about pre-made sheet tabs. It clearly distinguishes itself from sibling read/write/append tools and other Google resource creates by naming the exact resource type.

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

Usage Guidelines3/5

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

The phrase 'Create a new spreadsheet' implies the tool is for creating rather than editing an existing spreadsheet, giving some usage context. However, it does not explicitly mention alternatives or when-not-to-use conditions, so the guidance is only implied.

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

google_sheets_delete_rowsDelete rowsC

Delete rows from a sheet starting at a 0-based row index.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
numRowsNoNumber of rows (default 1).
sheetIdYesNumeric sheet ID (from google_sheets_get metadata).
startIndexYes0-based row index of the first row to delete.
spreadsheetIdYesSpreadsheet ID.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It never states that deletion is destructive and irreversible, whether remaining rows shift up, or what permissions/account scopes are required — significant omissions for a mutation tool.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, and the critical scoping detail (0-based) comes before anything else. It is arguably too terse to be fully useful, but nothing is wasted.

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 destructive 5-parameter tool with no annotations and no output schema, the description omits irreversibility, row-shift behavior, and required-parameter guidance. An agent could invoke it correctly parameter-wise but lacks the behavioral context a mutation tool needs.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are already documented, including the 0-based startIndex and numRows default of 1. The description's '0-based row index' phrasing merely echoes the schema, adding no new semantics; baseline 3 applies.

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

Purpose4/5

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

States a specific verb (delete) and resource (rows from a sheet), and the 0-based index detail narrows the operation. It is distinguishable from siblings like google_sheets_insert_rows and google_sheets_delete_sheet by the word 'rows', though it never names those alternatives explicitly.

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

Usage Guidelines2/5

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

No guidance on when to use this versus insert_rows, write, or batch_update, and no mention of prerequisites such as needing a valid sheetId from google_sheets_get. The agent is left to infer usage entirely.

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

google_sheets_delete_sheetDelete spreadsheet tabA

Permanently delete a tab (sheet) from a spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
sheetIdYesNumeric sheet ID (from google_sheets_get metadata).
spreadsheetIdYesSpreadsheet ID.

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It correctly discloses destructive, irreversible behavior with 'Permanently delete,' which is critical for a mutation tool. However, it omits permission requirements, side effects on existing data, and any recoverability limits.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler or redundancy. It is appropriately sized for the core purpose, though its brevity contributes to gaps in usage and safety context.

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

Completeness3/5

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

For a simple three-parameter destructive tool with full schema coverage and no output schema, the description conveys the core action and permanence. It still lacks usage boundaries and safety context, but the schema covers invocation details and no return-value explanation is needed.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema itself documents spreadsheetId, sheetId (including that it comes from google_sheets_get metadata), and account. The description adds no additional parameter-level meaning, so the baseline of 3 for high schema coverage applies.

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 a specific verb ('delete') and resource ('tab (sheet) from a spreadsheet'), and 'permanently' clarifies the operation's irreversible nature. It also implicitly distinguishes this tab-level deletion from siblings like add_sheet, rename_sheet, and delete_rows.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as google_sheets_add_sheet, google_sheets_rename_sheet, or google_sheets_delete_rows. Prerequisites such as obtaining the numeric sheetId from get metadata are only in the schema, not the description.

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

google_sheets_getGet spreadsheetB

Get spreadsheet metadata and optionally cell values from a range.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeNoA1 range to also read values from, e.g. Sheet1!A1:B5.
accountNoAccount nickname to use.
spreadsheetIdYesSpreadsheet ID (from the URL).

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool can optionally read cell values, but it does not describe the return format, whether the operation is read-only, any authentication requirements, or what happens if the range is invalid. For a read operation, this is a notable 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 a single concise sentence that front-loads the primary purpose and adds the optional behavior. No wasted words, though it could be slightly more informative without becoming 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 no annotations and no output schema, the description is thin. It does not explain what 'metadata' includes, how the optional range affects the response, or any edge cases. For a tool with three parameters and no structured output documentation, this is incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds the context that 'range' is for reading cell values, which aligns with the schema. It does not add deeper semantics beyond that, so baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('spreadsheet metadata') and adds an optional behavior ('cell values from a range'). It is clear about what the tool does, though it does not explicitly differentiate from the sibling google_sheets_read, which likely also reads spreadsheet data.

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: use this tool to get metadata and optionally values from a range. However, it does not explicitly state when to prefer this over google_sheets_read or other sibling tools, nor does it mention any exclusions or alternatives.

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

google_sheets_get_named_rangesGet named rangesB

List named ranges on a spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
spreadsheetIdYesSpreadsheet ID.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'List' conveys a read-only operation, but nothing is said about permissions, the optional 'account' selection behavior, or what the response contains, leaving the behavioral profile largely undisclosed.

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 short sentence with the resource front-loaded and zero filler. Appropriately sized for a simple listing tool.

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

Completeness3/5

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

For a two-parameter read tool with no output schema, the description identifies the operation but says nothing about the returned structure of named ranges or how the account parameter affects results. Adequate but with clear gaps the agent must infer.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (account, spreadsheetId) are already documented in the schema. The description adds no additional syntax or format meaning, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('named ranges on a spreadsheet'), so the agent knows it reads named-range definitions. It implicitly contrasts with the sibling google_sheets_set_named_range (read vs. write), but never names the sibling or scope beyond the single spreadsheet, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no exclusions, and no mention of the alternative google_sheets_set_named_range for creating ranges. The read intent is only implied by the verb 'List'.

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

google_sheets_insert_rowsInsert rowsB

Insert blank rows into a sheet at a 0-based row index.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
numRowsNoNumber of rows (default 1).
sheetIdYesNumeric sheet ID (from google_sheets_get metadata).
startIndexYes0-based row index where rows are inserted.
spreadsheetIdYesSpreadsheet ID.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It conveys that inserted rows are blank and that the index is 0-based, but it never states the key mutation effect – that existing rows are shifted down – nor any permission requirements, whether the sheet must already exist, or reversibility. For a write tool with zero annotation coverage this is a significant gap.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the operation and its location constraint are stated immediately. Nothing in it is redundant or padding.

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 mutation tool with no annotations and no output schema, the description covers the core action and indexing convention, and the fully documented schema supplies the rest. It is minimally adequate but omits the insertion side effect (shifting existing rows) that an agent should know before calling 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?

Schema description coverage is 100%, so the schema already documents all five parameters including startIndex and numRows. The description echoes the 0-based index convention and the 'blank rows' nature but adds no syntax, defaults, or edge-case behavior beyond what the schema provides. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource ('insert blank rows into a sheet') plus the insertion point ('at a 0-based row index'), which clearly separates it from google_sheets_delete_rows, google_sheets_append, and google_sheets_write. It stops short of explicitly naming those siblings, so it is clear but not fully differentiated.

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 gives no when-to-use guidance: nothing says when to insert rows versus appending data (google_sheets_append) or writing to a range (google_sheets_write), and no prerequisites or constraints are mentioned. The agent must infer usage entirely from the name.

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

google_sheets_readRead spreadsheet rangeC

Read cell values from a range as rows of strings.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeYesA1 notation, e.g. Sheet1!A1:C10.
accountNoAccount nickname to use.
spreadsheetIdYesSpreadsheet ID.
majorDimensionNoRead direction (default ROWS).

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says what the tool does, not any behavioral traits such as read-only semantics, how empty cells are represented, whether formulas or values are returned, or any auth/permission requirements. This is a minimal disclosure.

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 that front-loads the verb and resource. It is appropriately concise with no filler. It could have added a bit more behavioral context, but as a concise statement it is effective.

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, the description covers the basic purpose and output format, and the schema handles parameters. However, with no output schema and no annotations, an agent is left without information on edge cases (e.g., empty cells, range formatting) or how results are structured beyond 'rows of strings', so it is minimally complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters, including A1 notation, account nickname, spreadsheet ID, and majorDimension. The description's mention of 'rows of strings' hints at the majorDimension default but does not add meaning beyond what the schema provides, matching the baseline of 3.

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

Purpose4/5

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

The description states a specific action ('Read cell values from a range') and even specifies the output format ('as rows of strings'), making the core purpose clear. It does not explicitly differentiate from google_sheets_get, which might also be a read operation, but the emphasis on range-based cell values is reasonably distinguishing.

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. The sibling list contains google_sheets_get, google_sheets_write, and google_sheets_append, but the description does not mention when this tool is the right choice, when it is not, or what the alternatives are.

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

google_sheets_rename_sheetRename spreadsheet tabC

Rename a tab (sheet) in a spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesNew tab title.
accountNoAccount nickname to use.
sheetIdYesNumeric sheet ID (from google_sheets_get metadata).
spreadsheetIdYesSpreadsheet ID.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a mutating operation, whether permissions are needed, whether the rename is reversible, or what happens if the title collides with an existing tab. For a write tool with zero annotation coverage this is a meaningful gap.

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

Conciseness4/5

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

A single front-loaded sentence that names the action and target with no wasted words. It is efficient, though arguably too sparse to count as a fully optimized definition.

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 four-parameter mutating tool with no annotations and no output schema, the description leaves the agent without behavioral context (permissions, reversibility, side effects). Rich schema coverage documents the inputs, but the description should do more to prepare an agent to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (spreadsheetId, sheetId, title, account) are documented in the schema itself, establishing the baseline of 3. The description adds no syntax, format, or constraint detail beyond what the schema already provides.

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

Purpose4/5

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

States a specific verb ('Rename') and resource ('a tab (sheet) in a spreadsheet'), so an agent can distinguish it from google_sheets_add_sheet or google_sheets_delete_sheet. It lacks explicit sibling differentiation in the text, but the title and description together make the operation unambiguous.

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

Usage Guidelines2/5

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

The description offers no when-to-use guidance, no prerequisites, and no references to alternatives like google_sheets_add_sheet or google_sheets_delete_sheet. An agent must infer the usage context entirely from the name.

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

google_sheets_set_named_rangeSet named rangeC

Create a named range over a grid region.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the named range.
rangeYesGrid region the range covers.
accountNoAccount nickname to use.
spreadsheetIdYesSpreadsheet ID.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about permissions/account requirements, idempotency, what happens on a name collision, or whether existing ranges are affected. For a mutation tool this is a notable gap, though 'create' does convey the basic write nature.

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

Conciseness4/5

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

A single, front-loaded sentence with no wasted words; the verb and resource lead. It is terse but not redundant, though its brevity leaves behavioral and usage context unaddressed.

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?

A mutation tool with no annotations, no output schema, and a nested object parameter deserves more than one sentence. Missing behavioral facts (name-collision behavior, auth/account role, reversibility) leave the agent without enough to call it confidently.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters. The description's phrase 'over a grid region' only loosely restates the range parameter and adds no syntax, format, or boundary details 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 states a specific verb and resource ('Create a named range') over a 'grid region', which is clear and distinguishable from the read-oriented sibling google_sheets_get_named_ranges. However, it does not explicitly name or contrast with that sibling, so it stops short of full 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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as google_sheets_get_named_ranges for listing existing named ranges. 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.

google_sheets_writeWrite to spreadsheetA

Write rows of values starting at a range top-left cell (overwrites in place).

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeYesA1 notation of the top-left cell, e.g. Sheet1!A1.
valuesYesRows of values to write.
accountNoAccount nickname to use.
spreadsheetIdYesSpreadsheet ID.
valueInputOptionNoHow to interpret values (default USER_ENTERED).

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 burden of behavioral disclosure. It does disclose the crucial 'overwrites in place' behavior, which is genuinely useful. However, it omits other behavioral context an agent may need, such as authentication requirements, whether the operation is reversible, or what happens to cells outside the written block.

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 sentence that is front-loaded with the core action and immediately provides the most decision-relevant nuance: overwriting rather than appending. Every word earns its place, with no redundant restatement of 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?

For a write operation with no output schema and no annotations, the description is serviceable but thin. All parameters are documented in the schema, but the description does not cover usage boundaries relative to sibling tools, auth context, or effect expectations beyond 'overwrites in place', leaving an agent with moderate but incomplete guidance.

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

Parameters3/5

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

Schema description coverage is 100%, and all parameter descriptions are already meaningful: 'top-left cell', 'Rows of values to write', and the RAW/USER_ENTERED enum. The tool description does not add parameter-level meaning beyond what the schema provides, so the baseline 3 applies.

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

Purpose5/5

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

The description clearly states a specific action ('Write rows of values') and a specific resource (a spreadsheet range), with the additional scope qualifier 'starting at a range top-left cell'. The parenthetical '(overwrites in place)' distinguishes it from sibling tools like google_sheets_append without requiring the agent to inspect schemas.

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: use this tool when writing values beginning at a top-left cell and overwriting existing content. However, it does not explicitly mention when not to use it or name alternatives such as google_sheets_append, leaving the routing decision partly to inference.

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

google_slides_add_slideAdd slideB

Add a blank slide to a presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
presentationIdYesPresentation ID.

TDQS

B3.2/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 full burden of behavioral disclosure. It only states the action ('add a blank slide') without mentioning side effects (e.g., slide appended at end), required permissions, or error handling. It is a mutation but provides no details beyond that.

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

Conciseness5/5

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

The description is a single, clear sentence with no superfluous words. It is appropriately front-loaded with the core action and resource.

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 simplicity of the tool and lack of annotations or output schema, the description is minimal but still incomplete. It does not specify return values, whether the slide is inserted at a specific position, or any prerequisites. An agent might need additional context to call it correctly, especially among similar slide-related tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters (account and presentationId). The description adds no extra meaning about parameter usage, such as format or constraints, so it meets the baseline of 3 but does not exceed it.

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 'Add a blank slide to a presentation' states a specific verb (add), resource (blank slide), and destination (presentation). It clearly distinguishes from siblings like google_slides_delete_slide and google_slides_batch_update by specifying 'blank' and 'add'.

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 like google_slides_batch_update or google_slides_get_page. The description does not mention any context, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.

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

google_slides_batch_updateBatch update presentationC

Send raw Slides batchUpdate requests (create textboxes, shapes, images, style elements, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
requestsYesSlides API batchUpdate requests array.
presentationIdYesPresentation ID.

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'send requests', which implies mutation but doesn't state that changes are irreversible, require specific permissions, or what the response contains. It's silent on auth, rate limits, and 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?

One concise sentence that front-loads the core action and gives illustrative examples. No unnecessary words, though it could include a link to documentation without harming conciseness.

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?

This is a raw API tool with a complex request array, yet the description provides no information on how to construct valid requests, what fields are supported, or how the response is structured. The schema's 'requests' property has empty items, so the agent is left with no guidance. This is severely inadequate for a low-level 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 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond the schema; it doesn't explain the structure of the 'requests' array, which is critical since the schema items are empty.

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 (send batchUpdate requests) and the resource (Slides presentation), with examples of what can be created. It distinguishes from sibling tools by being 'raw', though it doesn't explicitly contrast with the higher-level slides tools like add_slide or replace_text.

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. It doesn't mention that this is the low-level escape hatch for operations not covered by the other slides tools, nor does it suggest when to prefer it.

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

google_slides_createCreate presentationC

Create a new Google Slides presentation with a title.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPresentation title.
accountNoAccount nickname to use.

TDQS

C2.9/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 full burden of behavioral disclosure. It states that it creates a presentation, but does not mention any side effects, required permissions, account handling (despite the optional 'account' parameter), or what the tool returns (e.g., presentation ID or URL). 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.

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the verb and resource. There is no redundant wording or filler. It is appropriately concise for the simplicity of the tool.

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

Completeness2/5

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

For a create tool with no output schema and no annotations, the description is incomplete. It does not mention what the tool returns (e.g., presentation ID), how the 'account' parameter behaves if omitted, or any prerequisites. An agent would need to guess at the result format and account handling, making the description insufficient for confident invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the schema. The description adds no additional meaning beyond what the schema provides, such as clarifying the 'account' parameter's role or the format of the title. The baseline of 3 applies because the schema handles parameter documentation adequately.

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 (create) and the resource (a new Google Slides presentation), and specifies it includes a title. This distinguishes it from other slides tools like get, add_slide, or replace_text, though it doesn't explicitly name them. It is specific enough for an agent to understand 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?

There is no guidance on when to use this tool versus alternatives, nor any mention of exclusions or prerequisites. The description simply states what it does without contextual cues about when it is appropriate, such as 'use this to create a new presentation, not to edit existing ones.' This leaves 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.

google_slides_create_imageCreate imageC

Insert an image from a URL onto a slide. Sizes in points.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoLeft offset in points (default 0).
yNoTop offset in points (default 0).
urlYesPublic URL of the image.
widthNoWidth in points (default 200).
heightNoHeight in points (default 150).
accountNoAccount nickname to use.
pageObjectIdYesObject ID of the slide to add the image to.
presentationIdYesPresentation ID.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden. 'Insert' implies a mutation, but nothing is said about required scopes/permissions, whether the image is downloaded and stored, what happens on an unreachable URL, or whether the operation is reversible. Only the URL source and point-based sizing are disclosed.

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, front-loaded with the action and with zero filler. The trailing fragment 'Sizes in points' is terse but does earn its place by flagging the unit system.

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 an eight-parameter mutation tool with no annotations and no output schema, the description omits too much: no return information (e.g. whether an image object ID comes back), no auth requirements, and no failure modes. The schema covers inputs fully, but the behavioral and output surface is entirely undocumented.

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

Parameters3/5

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

Schema description coverage is 100%, so all eight parameters including defaults (x=0, y=0, width=200, height=150) are already documented. 'Sizes in points' restates the unit already present in the schema and adds no new syntax or format detail; baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource ('Insert an image ... onto a slide'), which is enough to separate it from adjacent Slides tools like add_slide or create_textbox. It does not explicitly name a sibling or disambiguate from google_docs_insert_inline_image, but the verb+resource pairing is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives (e.g. batch_update, create_textbox), and no prerequisites are stated. The requirement that the URL be publicly reachable and that the target slide already exist is left entirely to the schema.

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

google_slides_create_textboxCreate textboxC

Create a text box on a slide, optionally with initial text. Sizes in points.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoLeft offset in points (default 0).
yNoTop offset in points (default 0).
textNoInitial text content.
widthNoWidth in points (default 100).
heightNoHeight in points (default 50).
accountNoAccount nickname to use.
pageObjectIdYesObject ID of the slide to add the text box to.
presentationIdYesPresentation ID.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only says the text is optional and sizes are in points. It does not disclose permission/auth needs, whether the textbox lands at a default position when x/y are omitted, or what the tool returns (e.g., the new object ID) for a mutation.

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 tight sentences with the action front-loaded and the optional-text and units facts compactly appended. Nothing is wasted.

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 an 8-parameter mutation tool with no annotations and no output schema, the description is thin. It omits default positioning behavior, whether an empty textbox is allowed, and what is returned, leaving the agent to rely entirely on the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every parameter including units and defaults. The description's 'optionally with initial text' and 'Sizes in points' only echo what the schema provides, adding no new meaning. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Create a text box on a slide') and adds that initial text is optional, so an agent can tell this apart from google_slides_create_image or add_slide. It does not explicitly name siblings, but the action is unambiguous.

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

Usage Guidelines2/5

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

There is no indication of when to use this tool versus alternatives (e.g., batch_update, create_image, or add_slide), nor prerequisites such as needing an existing slide object ID. The description only restates what the tool does.

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

google_slides_delete_slideDelete slideB

Delete a slide by object ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
slideObjectIdYesSlide object ID to delete.
presentationIdYesPresentation ID.

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 only states 'Delete a slide,' which implies a destructive, irreversible action, but it does not disclose any side effects, permission requirements, or what happens if the slide does not exist. For a mutation with zero annotation coverage, this is a minimal disclosure.

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 sentence with no filler or redundant words. The action is front-loaded ('Delete a slide'), and the identifier method is appended. This is exemplary conciseness for a simple operation.

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 delete tool with no output schema and simple parameters, the description covers the core action. However, it does not mention that the slide belongs to a presentation (though presentationId is in the schema) or provide any context about the operation's effects. It is minimally sufficient but lacks a fuller picture that an agent might need when deciding to use 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?

Schema description coverage is 100% for all three parameters, so the schema already documents them. The description adds no extra meaning beyond the schema, such as how to obtain a slideObjectId or that presentationId is required. Baseline 3 is appropriate given the high 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 action (delete) and the resource (slide), with the specific identifier (object ID). It distinguishes from sibling tools like google_slides_add_slide or google_slides_batch_update by naming the exact operation. A concise, unambiguous 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. It does not mention that this is the direct way to remove a slide, nor does it note any exclusions (e.g., cannot delete the last slide). Without this, an agent must infer usage from the name and schema alone.

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

google_slides_duplicate_slideDuplicate slideC

Duplicate a slide and return the new slide object ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
slideObjectIdYesObject ID of the slide to duplicate.
presentationIdYesPresentation ID.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It mentions the returned object ID but says nothing about where the copy is placed, whether it requires edit permissions, or whether the operation is reversible — significant gaps for a mutation tool.

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

Conciseness4/5

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

A single tight sentence with the action and result front-loaded, no filler. It is efficient, though it omits anything that would help an agent in ambiguous cases.

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 mutation tool with no annotations and no output schema, the description should clarify behavior such as placement of the duplicate and permission requirements. As written, it is too thin for correct invocation in non-trivial cases.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (account, slideObjectId, presentationId) are already documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (duplicate) and resource (slide) plus a return value, which clearly separates it from google_slides_add_slide, google_slides_delete_slide and google_slides_move_slide. It stops short of explicitly naming those siblings, so it is clear but not maximally differentiated.

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 duplicate versus add a slide, nor any prerequisites (e.g. slide must exist, account selection). 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.

google_slides_getGet presentationB

Get a Google Slides presentation (structural JSON).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
presentationIdYesPresentation ID.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says the tool returns 'structural JSON' and does not disclose whether this is a read-only operation, whether it requires specific permissions, what the JSON structure contains, or any side effects. For a retrieval tool, the lack of explicit read-only confirmation and output detail is a notable 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 a single, short sentence that is front-loaded with the action and resource, and it adds the useful qualifier 'structural JSON'. It is appropriately concise, though it could be slightly more informative without becoming 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?

For a simple retrieval tool with two parameters and no output schema, the description is minimal. It does not explain what 'structural JSON' includes (e.g., slides, layouts, text elements), nor does it clarify the read-only nature or any prerequisites. Given the lack of annotations and output schema, the description is not fully complete for an agent to know what to expect.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('Account nickname to use.' and 'Presentation ID.'). The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('Google Slides presentation'), and clarifies the output is 'structural JSON'. It is clear enough to distinguish from siblings like google_slides_get_page, which targets a page rather than the whole presentation. However, it does not explicitly differentiate from google_docs_get or google_sheets_get beyond the resource name, so it falls short of a 5.

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

Usage Guidelines3/5

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

The description implies usage: call this when you need the full structural JSON of a Google Slides presentation. It does not state when not to use it or mention alternatives like google_slides_get_page for page-level access. The context is clear but no exclusions or alternative routing are provided.

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

google_slides_get_pageGet slide pageA

Get the contents of a single slide page by object ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageObjectIdYesSlide page object ID.
presentationIdYesPresentation ID.

TDQS

A3.5/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 of indicating behavior. 'Get' clearly signals a read-only retrieval, but it does not disclose response format, error behavior, or any other operational details beyond the action itself.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. It states the action, target, and identifier without wasting tokens.

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 getter, the description covers the core operation and the required object ID. However, with no output schema and no mention of what 'contents' includes, an agent may not know exactly what to expect, and the lack of sibling differentiation is a small gap.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema already explains presentationId and pageObjectId. The description adds only 'by object ID,' which is already captured in the schema, so it provides no extra semantic value.

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 uses a specific verb ('Get') and resource ('contents of a single slide page'), and identifies the key selector ('by object ID'). It is clear on its own but does not explicitly contrast with google_slides_get, so it misses the top score.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving one slide page's contents, which is a use case. However, it does not state when to prefer this over google_slides_get or any other sibling, nor does it mention alternatives or exclusions.

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

google_slides_move_slideMove slideB

Move a slide to a new position in the deck by insertion index.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
slideObjectIdYesObject ID of the slide to move.
insertionIndexYes0-based index where the slide should be inserted.
presentationIdYesPresentation ID.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden for a mutation tool. It does not disclose write requirements, side effects on other slide indices, reversibility, or error behavior; it only restates the action and key 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?

A single front-loaded sentence with no filler. It states the action and mechanism immediately and contains no redundant 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?

For a simple reorder mutation, the core action and required parameters are clear from the schema. However, with no annotations or output schema, the description should compensate with behavioral context such as permissions or effects on other slides, and it does not. It is minimally adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already documented. The phrase 'by insertion index' mirrors the schema's own description of insertionIndex and adds no new syntax or constraints. The baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (Move) and resource (slide) plus the mechanism (insertion index), so the agent can identify the action. It does not explicitly contrast with sibling slide operations like add, delete, or duplicate, so it falls short of full 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?

There is no when-to-use, when-not-to-use, or alternative guidance. The description does not mention sibling tools such as google_slides_duplicate_slide or batch_update, nor any prerequisite like write access. Usage is only implied by the action itself.

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

google_slides_replace_textReplace text in presentationB

Replace all occurrences of a string across a presentation (template filling).

ParametersJSON Schema
NameRequiredDescriptionDefault
findYesText to find (e.g. {{name}}).
accountNoAccount nickname to use.
replaceYesReplacement text.
matchCaseNoMatch case (default true).
presentationIdYesPresentation ID.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral disclosure burden. It conveys that all occurrences are replaced, but for a mutating tool it does not disclose that the operation permanently modifies the presentation, that write permissions are required, or what happens when no matches are found.

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 one efficient sentence with a useful parenthetical. Every word earns its place, and the core behavior 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?

The schema covers parameters and the description states the core behavior, so an agent can probably invoke it correctly. However, with no annotations, no output schema, and no guidance about mutation effects or alternatives, the description is adequate 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?

Schema description coverage is 100%, so the schema already documents all five parameters. The description adds no new parameter-level meaning beyond the obvious find/replace concept, keeping it at the baseline of 3.

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

Purpose4/5

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

The description names a specific verb (replace), resource (presentation), and scope (all occurrences), with a useful template-filling hint. It is clear, though it does not explicitly distinguish itself from sibling tools like google_docs_replace_text or google_slides_batch_update.

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 parenthetical '(template filling)' implies a common use case, but the description does not state when to use this tool versus alternatives such as google_slides_batch_update or per-slide edits. It provides implied context but no exclusions or alternative routing.

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

google_tasks_completeComplete taskB

Mark a task as completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesTask ID.
accountNoAccount nickname to use.
tasklistIdNoTask list ID (default @default).

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, so the description alone must disclose behavioral traits. It only names the state transition and says nothing about reversibility, idempotency, effects on subtasks/timestamps, or response format, which leaves meaningful ambiguity for a mutating 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 extremely short and front-loaded, with no wasted words. However, it essentially restates the title ('Complete task') and adds no information, so it is under-specified rather than clearly value-adding.

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 3-parameter mutation with no output schema and no annotations, the description is incomplete: it doesn't state prerequisites, how account/tasklist selection works beyond the schema, or what happens after completion. An agent must infer context from sibling tool names and parameter names.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters and the baseline is 3. The description adds no additional parameter context, but the schema's brief field descriptions for taskId, account, and tasklistId are 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 states a clear, specific action ('mark a task as completed') on a well-defined resource, so an agent can tell it completes rather than creates, deletes, or lists tasks. It does not explicitly contrast with siblings, but the action is unambiguous among the Google Tasks family.

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 verb phrase implies the intended use (when a task is done), so there is some implicit usage context. It provides no explicit when-to-use guidance, no prerequisites, and no mention of sibling tools like google_tasks_list for obtaining task IDs or the @default task list semantics.

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

google_tasks_createCreate taskB

Create a task, optionally with notes, due date, or as a subtask.

ParametersJSON Schema
NameRequiredDescriptionDefault
dueNoDue date (RFC3339, e.g. 2026-08-15T17:00:00Z).
notesNo
titleYesTask title.
accountNoAccount nickname to use.
tasklistIdNoTask list ID (default @default).
parentTaskIdNoParent task ID to create a subtask.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a mutating write but says nothing about required scopes/auth, what happens if tasklistId is omitted (the schema mentions @default but the description does not), error behavior, 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?

A single front-loaded sentence with no filler; every clause maps to a real capability of the tool.

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

Completeness3/5

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

For a 6-parameter mutation tool with no annotations and no output schema, the description is adequate but thin. It omits side effects, auth requirements, and default behavior for the task list, which an agent would need to invoke reliably.

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 83%, so the schema already documents due (RFC3339), tasklistId (@default), parentTaskId, and account. The description only echoes notes/due/parentTaskId at a high level and adds no format or constraint detail beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (Create) and resource (task) and names the optional facets (notes, due date, subtask). It does not distinguish itself from sibling google_tasks_create_list, which creates a list rather than a task, so it falls short of the 5 benchmark.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, no mention of prerequisites (e.g. an existing tasklist), and no routing to alternatives such as google_tasks_update or google_tasks_complete. The agent gets no help choosing between this and its siblings.

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

google_tasks_create_listCreate task listC

Create a new Google Tasks list.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTask list title.
accountNoAccount nickname to use.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full disclosure burden and says nothing beyond the bare action. It does not say whether the list becomes the default, what identifier comes back, whether account must pre-exist, or any mutation 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?

A single efficient sentence with the action front-loaded and no filler. It is appropriately sized for a simple create call, though it is arguably too terse to be fully useful.

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 two-parameter create with no annotations and no output schema, the definition is minimally sufficient – the agent knows what it creates from the name and schema. It omits the return value (e.g., the new list's ID) and the account-default behavior, which the missing output schema leaves unexplained.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (title, account) are already documented in the schema; baseline 3 applies. The description adds no extra meaning such as how 'account' resolves to a nickname or what happens if omitted.

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

Purpose4/5

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

The description gives a specific verb (Create) and resource (Google Tasks list), and 'new' distinguishes it from update_list/delete_list siblings. It doesn't explicitly name alternatives, but the create semantics are unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this versus google_tasks_update_list, google_tasks_list_lists, or the more generic google_tasks_create. No mention of prerequisites such as which account is needed or whether one must exist first.

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

google_tasks_deleteDelete taskC

Delete a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesTask ID.
accountNoAccount nickname to use.
tasklistIdNoTask list ID (default @default).

TDQS

C2.2/5.0
Behavior2/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 of behavioral disclosure. It only states 'Delete a task.' without mentioning permanence, side effects on subtasks, required permissions, or reversibility. While 'delete' implies destruction, the description omits critical behavioral context.

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

Conciseness2/5

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

The description is extremely brief, but it is under-specified rather than concise. It provides only a bare phrase with no structure or additional information. It fails to earn its place by adding any value beyond the title.

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 three parameters and no output schema or annotations, the description is inadequate. It does not explain what happens after deletion, whether the tasklistId is required for certain scenarios, or any error conditions. An agent would have no context for calling this tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (taskId, account, tasklistId) are already documented. The description adds no extra meaning or context about parameters, but the schema sufficiently covers them. Baseline 3 is appropriate.

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

Purpose2/5

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

The description 'Delete a task.' is essentially a tautology with the tool name (google_tasks_delete) and title (Delete task). It states the verb and resource but does not distinguish from siblings like google_tasks_complete or google_tasks_create, and adds no specificity beyond the title.

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, exclusions, or comparisons to related task tools such as google_tasks_list or google_tasks_complete. An agent must infer usage entirely from the tool name.

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

google_tasks_delete_listDelete task listC

Delete a Google Tasks list (removes its tasks).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
tasklistIdYesTask list ID.

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 carries the full burden. It partially conveys destructive behavior by saying 'Delete... (removes its tasks)', which hints at the cascade effect—a useful behavioral detail. However, it omits critical information such as whether the list can be recovered, what permissions are required, or what happens to shared lists.

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 that front-loads the action and resource. It is appropriately sized, though it could be slightly more informative without becoming 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?

For a destructive mutation tool with no annotations, no output schema, and only two parameters, the description is insufficiently complete. It doesn't clarify required permissions, irreversibility, or how it differs from sibling tools like google_tasks_delete and google_tasks_update_list.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional parameter meaning beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose3/5

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

The description states a clear verb 'Delete' and resource 'Google Tasks list', making the purpose understandable. However, it does not distinguish this tool from the sibling google_tasks_delete (which deletes tasks within a list) or google_tasks_update_list, so an agent must infer the 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 when-to-use guidance is provided. The description doesn't mention prerequisites like ownership, required permissions, or the fact that deletion is irreversible. There is no mention of alternatives 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.

google_tasks_listList tasksC

List tasks in a task list (default list if not specified).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
dueAfterNoOnly tasks due at or after this RFC3339 datetime.
dueBeforeNoOnly tasks due at or before this RFC3339 datetime.
tasklistIdNoTask list ID (default @default).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses only that a default list is used when none is specified; there is no mention of pagination, result ordering, completion filtering, or auth requirements for a list endpoint that likely returns many rows.

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

Conciseness4/5

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

A single tight sentence with the key scope ('in a task list') front-loaded. It is efficient but borders on under-specification rather than true conciseness.

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

Completeness3/5

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

A simple read-only list tool with fully documented parameters and no output schema, so the description need not explain return values. However, with zero annotations and no output schema, the absence of any pagination or result-shape context leaves a gap for an agent calling a potentially large list endpoint.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (account, dueAfter, dueBefore, tasklistId) are already documented in the schema. The description adds nothing beyond restating the tasklistId default, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('List tasks in a task list') that clearly identifies the operation. It implicitly distinguishes itself from google_tasks_list_lists (which lists the containers), but does not name that sibling or otherwise explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use this versus google_tasks_list_lists or the other task tools. The parenthetical about a default list is a behavioral hint, not usage guidance or an alternative-selection rule.

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

google_tasks_list_listsList task listsB

List the account's Google Tasks lists.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. The verb 'List' clearly signals a read-only operation, and the scope is stated as the account's task lists. However, it does not disclose output shape, pagination, ordering, or what happens when the optional account parameter is 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?

The description is a single front-loaded sentence that states the action and resource with zero filler. Every word earns its place.

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

Completeness3/5

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

For a one-parameter, read-only tool, the description is minimally sufficient, but it does not mention return values or the default account behavior, and there is no output schema to fill that gap. It is adequate for invocation but leaves some ambiguity around expected results and account selection.

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 100% description coverage for its single parameter, so the schema already documents that 'account' is the account nickname to use. The description adds no additional parameter meaning beyond what the schema provides, matching the baseline for high schema coverage.

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 uses a specific verb ('List') and a clear resource ('the account's Google Tasks lists'), so an agent can tell this returns the user's task lists. It is clear, but it does not explicitly contrast itself with the similarly named sibling google_tasks_list, which likely lists tasks within a specific 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 states what the tool does but gives no guidance on when to use it over alternatives. There is no mention of google_tasks_list or any other sibling, nor any condition indicating when this tool should be preferred.

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

google_tasks_updateUpdate taskC

Update a task's title, notes, due date, or status (partial).

ParametersJSON Schema
NameRequiredDescriptionDefault
dueNoDue date (RFC3339, e.g. 2026-08-15T17:00:00Z).
notesNoNew task notes.
titleNoNew task title.
statusNoTask status.
taskIdYesTask ID.
accountNoAccount nickname to use.
tasklistIdNoTask list ID (default @default).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. The '(partial)' qualifier usefully signals partial-update semantics, but there is no disclosure of auth/permission requirements, whether unspecified fields are preserved or cleared, or how the account/tasklistId scoping affects the 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?

A single front-loaded sentence with no waste. It is appropriately sized for a short description, though it is arguably terse given a seven-parameter mutation tool.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description does too little. It omits the account/tasklistId scoping, permission requirements, and any confirmation of what the call returns, leaving an agent with only field names already present in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the schema, including the RFC3339 due format, the status enum, and the tasklistId default. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (update) and resource (a task) and enumerates the mutable fields (title, notes, due date, status). It is clear what the tool does, though it does not distinguish itself from the sibling google_tasks_complete, which also sets status to completed.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given. An agent must infer from the '(partial)' hint that unspecified fields are left unchanged, and nothing routes it between this tool and google_tasks_complete, google_tasks_create, or google_tasks_update_list.

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

google_tasks_update_listRename task listC

Rename a Google Tasks list.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesNew task list title.
accountNoAccount nickname to use.
tasklistIdYesTask list ID.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, and it discloses nothing about permissions, idempotency, whether existing tasks are preserved, or the return behavior. For a mutation tool with zero annotation coverage this is a clear gap, though the operation is low-risk and self-evident.

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

Conciseness4/5

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

A single front-loaded sentence with no waste. It is appropriately terse for a simple rename, though it is arguably spare even for its scope.

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 minimal rename with full schema coverage the description is minimally viable, but with no annotations and no output schema it leaves the mutation's behavior and result entirely undocumented.

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

Parameters3/5

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

Schema description coverage is 100%, so tasklistId, title, and account are already documented by the schema. The description adds no extra syntax, format, or constraint detail, so the baseline 3 applies.

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

Purpose4/5

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

The description gives a specific verb ('Rename') and resource ('Google Tasks list'), and productively clarifies that the generic 'update_list' name really means a rename, distinguishing it from google_tasks_update on tasks. It does not, however, explicitly name sibling tools to confirm the boundary.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives, no prerequisites (e.g., needing an existing list ID), and no exclusions. The agent must infer usage entirely from the name and schema.

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

google_youtube_add_to_playlistAdd video to playlistC

Add a video to a playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
videoIdYesVideo ID to add.
playlistIdYesPlaylist ID.

TDQS

C2.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 the full burden. It discloses the core mutation (adding a video) but does not mention side effects, such as whether the video is appended to the end of the playlist, whether duplicates are allowed, or whether authentication/account selection is required. The 'account' parameter hints at multi-account support but the description does not explain its role.

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. It is appropriately sized for a simple operation, though it could add a brief usage note without becoming 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?

For a mutation tool with no annotations and no output schema, the description is too thin. It does not explain the account parameter, the expected result, or any constraints (e.g., playlist ownership). An agent would need to infer too much to invoke it correctly in a multi-account context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no extra meaning beyond the schema, but the baseline of 3 applies because the schema handles the heavy lifting. The 'account' parameter's purpose is still unclear from both schema and description.

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

Purpose3/5

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

The description states a clear verb and resource ('Add a video to a playlist'), which is unambiguous. However, it does not differentiate from sibling tools like google_youtube_create_playlist or google_youtube_list_playlists, though the action is distinct enough that an agent can infer the 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. It does not mention prerequisites like needing an existing playlist, or that the video must exist, nor does it reference any sibling tools. The context is minimal and leaves usage entirely to inference.

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

google_youtube_create_playlistCreate YouTube playlistC

Create a private playlist for the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPlaylist title.
accountNoAccount nickname to use.
descriptionNoPlaylist description.
privacyStatusNoPrivacy (default private).

TDQS

C2.9/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 full burden of behavioral disclosure. It only says 'Create a private playlist' without mentioning side effects, authentication needs, that the privacy is configurable, or that this is a write operation. It also implies a fixed privacy level that contradicts the schema's configurable privacyStatus.

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

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded with the action and resource. No redundant or filler content exists, and it is appropriately sized for the tool's simplicity.

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 create operation with no annotations and no output schema, the description is insufficiently complete. It fails to mention that the playlist is created in the user's YouTube account, that privacy is configurable via the privacyStatus parameter, and does not indicate any return value or side effects. The misleading 'private' claim adds to the incompleteness.

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 schema provides 100% description coverage for all parameters, so the baseline is 3. The description adds no additional meaning beyond what the schema already states; it merely repeats the default privacy setting without explaining parameter usage or relationships.

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 'Create' and the resource 'playlist', and specifies it is for the user. However, it incorrectly claims the playlist is always private, while the schema allows public and unlisted options via the privacyStatus parameter. This is a minor inaccuracy but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus sibling tools like google_youtube_delete_playlist, google_youtube_add_to_playlist, or google_youtube_list_playlists. There is no mention of prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_delete_playlistDelete YouTube playlistB

Delete a playlist by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
playlistIdYesPlaylist ID.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations available, the description carries the full burden of behavioral disclosure. 'Delete' signals a destructive operation, but there is no statement of irreversibility, required permissions, or side effects on the playlist's contents, which is important for a deletion 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?

A single, front-loaded sentence with no filler. Every word contributes to the core meaning and it is as concise as the operation allows.

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 destructive action this is minimally viable: it states the operation and the key parameter, and the schema documents the parameters. However, it omits behavioral context such as irreversibility and how to discover the playlist ID, and there is no output schema to clarify the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters adequately. The description adds no new parameter meaning beyond reinforcing that deletion is by playlist ID, so the baseline of 3 applies.

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 names a specific action (Delete), a specific resource (a playlist), and the required key (by ID). It is unambiguous and clearly distinct from sibling playlist tools like google_youtube_create_playlist and google_youtube_list_playlists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives or what prerequisites are needed. It does not mention that a valid playlist ID is needed, how to obtain it (e.g., via list_playlists), or any account considerations, so the agent is left to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_get_videoGet YouTube video detailsA

Get details, statistics and content details for a video.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
videoIdYesYouTube video ID.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the disclosure burden. The verb 'Get' signals a read-only operation and the phrase 'details, statistics and content details' gives a basic sense of the response. It does not mention authorization requirements, account usage, rate limits, error behavior, or response format, but for a simple video lookup this is minimally adequate.

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 short sentence that front-loads the action and the resource. Every word earns its place, and there is 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?

This is a low-complexity tool with one required parameter, so the description is close to sufficient. However, there is no output schema and the description does not clarify what shape the details/statistics take or whether the optional account parameter affects which video data is accessible, leaving some ambiguity for an 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 description coverage is 100%, so the schema already explains videoId and account. The description adds no additional meaning beyond what the parameters already convey, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and a clear resource ('a video'), and even hints at the data categories returned: details, statistics, and content details. It does not explicitly differentiate from sibling YouTube tools such as search or my_videos, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the name and the required videoId: this is for retrieving details of a specific video. However, there is no explicit guidance about when to prefer this over get_video alternatives like google_youtube_search or google_youtube_my_videos, and no stated exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_insert_commentPost a YouTube commentC

Post a top-level comment on a video.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesComment text.
accountNoAccount nickname to use.
videoIdYesYouTube video ID.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, and it discloses almost nothing: no auth/permission requirements, no mention of moderation state, rate limits, or whether the comment is immediately visible to others. For a write/mutation tool with zero annotation coverage this is a substantial gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste. It is efficient, though arguably terse enough that it leaves useful context unstated.

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?

A mutation tool with no annotations, no output schema, and three parameters needs more than one sentence: nothing covers permissions, the meaning of the optional account nickname, moderation behavior, or the result of the call. The definition is not complete enough for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents videoId, text, and account; the baseline is 3. The description adds no format hints or account-selection semantics beyond what the schema provides, so it earns no bonus.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (post) and resource (comment) with the scope qualifier 'top-level', which distinguishes it from reply-style tools and from siblings like google_youtube_list_comments, set_comment_moderation, and mark_comment_spam. It is clear but does not explicitly name any sibling it differs from.

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 statement of when to use this tool versus alternatives, no prerequisites, and no conditions or exclusions. The only guidance is the implicit 'if you want to comment, use this', which is minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_list_commentsList YouTube video commentsB

List comment threads for a video, most recent first.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
videoIdYesYouTube video ID.
maxResultsNoMax results (default 20).

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 behavioral burden. It adds only ordering ('most recent first'); it says nothing about pagination, result caps, authentication/account requirements, or whether replies are included in threads. For a list tool with zero annotation coverage, that is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the ordering constraint appended; no filler or redundancy. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with a fully-described schema and no output schema, the definition is minimally sufficient, but with no annotations and no output schema it should mention pagination behavior and the default/max results to be fully callable without guesswork.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters (videoId, account, maxResults) are already documented in the schema. The description's 'for a video' only loosely reinforces the required videoId and adds no format or range detail beyond the schema. Baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (list) and resource (comment threads for a video), which is clear and distinguishable from write-side siblings like google_youtube_insert_comment or google_youtube_mark_comment_spam. It falls short of a 5 because it doesn't explicitly name what it is not (e.g., it doesn't clarify thread vs. reply structure) beyond the verb.

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 purpose implies the reading context (fetch comments for a given video), so usage is inferable, but there is no explicit when-to-use, no exclusions, and no pointers to siblings such as insert_comment for posting. Adequate but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_list_playlistsList my playlistsB

List the user's YouTube playlists.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
maxResultsNoMax playlists (default 25).

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 must carry the full burden of behavioral disclosure. It only states the action without mentioning that it is read-only, that it requires authentication, or any details about the response format or pagination. For a simple list operation this is a moderate gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no fluff. It directly states the action and resource, making it concise and appropriately sized for the tool's simplicity.

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 operation with two well-documented parameters and no output schema, the description is adequate but minimal. It does not explicitly describe the return value structure or mention any special considerations like pagination, though the maxResults parameter hints at it. Given the simplicity, a 3 is appropriate.

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?

Both parameters have schema descriptions covering account and maxResults, so the baseline is 3. The tool description does not add any additional meaning beyond what the schema already provides, but it does not need to since the schema is fully descriptive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and the resource ('user's YouTube playlists'), making it distinct from sibling tools like google_youtube_search or google_youtube_my_videos. It is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention conditions, exclusions, or how it differs from related tools such as google_youtube_my_videos or google_youtube_search. Usage is only implied by the name and resource type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_mark_comment_spamMark YouTube comment as spamC

Mark a comment as spam.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
commentIdYesComment ID to mark as spam.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden but only says 'Mark a comment as spam.' It doesn't disclose whether this is reversible, requires specific permissions, or what happens after marking. This is a mutation tool with no behavioral detail.

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, clear sentence with no waste. It's front-loaded and to the point, though extremely brief.

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 that this is a mutation tool with no annotations and no output schema, the description is inadequate. It lacks information about side effects, reversibility, permissions, and return behavior, leaving significant gaps for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds no parameter details beyond the schema, which is acceptable but doesn't enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: marking a comment as spam. It aligns with the tool name and title, but doesn't distinguish itself from its sibling google_youtube_set_comment_moderation, which may also handle comment moderation status.

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 google_youtube_set_comment_moderation. There's no mention of prerequisites, side effects, or context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_my_videosList my YouTube videosB

List the user's uploaded videos.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
maxResultsNoMax videos (default 25).

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the operation is a read/list, but it does not disclose pagination behavior, default ordering, whether it returns only published videos, or any rate limits. The description adds minimal behavioral context beyond the tool name and title.

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 short sentence that is front-loaded and to the point. It earns its place by stating the core function, though it could add a bit more context without becoming 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?

For a list tool with no output schema and no annotations, the description is thin. It does not mention what the response contains (e.g., video IDs, titles, thumbnails), pagination, or how the account parameter works. An agent would need to infer these details from the schema and sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (account and maxResults). The description adds no additional meaning beyond what the schema provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List the user's uploaded videos' clearly states the verb (list) and resource (the user's uploaded videos), which distinguishes it from sibling tools like google_youtube_search (searching videos) and google_youtube_get_video (getting a single video). It is concise and specific, though it doesn't explicitly contrast with 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 implies usage: it lists the authenticated user's own uploaded videos, which is distinct from search or playlist tools. However, it does not explicitly state when to use this tool versus alternatives like google_youtube_search or google_youtube_list_playlists, nor does it mention any prerequisites (e.g., authentication, account selection).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_remove_from_playlistRemove video from playlistC

Remove a video from a playlist by playlist item ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
playlistItemIdYesPlaylist item ID to remove.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It reveals only that the operation targets a playlist item ID, but says nothing about irreversibility, whether the video itself is deleted or merely unlinked, permission/auth requirements, or what happens on an invalid ID.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the resource and identifier front-loaded; nothing is wasted. It is on the terse side, but terse is not verbose, and the core action reads clearly.

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 mutation tool with no output schema, the description is minimally adequate. However, with zero annotation coverage it should disclose more about the mutating effect (reversibility, side effects) to fully support correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (account, playlistItemId) are already documented in the schema. The phrase 'by playlist item ID' reinforces which ID is expected but adds no syntax or format detail beyond the structured data. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (remove) plus resource (video from playlist) and the key identifier mechanism (by playlist item ID). It is inherently distinguishable from siblings like add_to_playlist and delete_playlist, though it never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of related tools such as add_to_playlist or delete_playlist. The agent must infer all usage context 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.

google_youtube_set_comment_moderationSet YouTube comment moderation statusC

Hold, reject, or flag a comment as likely spam.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
commentIdYesComment ID to moderate.
moderationStatusYesModeration status to apply.

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing: it does not state that this mutates state, whether the change is reversible, what permissions are required, or how it differs from spam-marking. The one behavioral claim it makes ('flag as likely spam') is misleading relative to the documented enum values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence and front-loaded, so it wastes no words. However, its brevity stems from under-specification rather than discipline, so it is only adequately sized given the tool's needs.

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 mutation tool with no annotations and no output schema, the description is too thin: it should at least cover state effects, reversibility, and permission requirements. The omission of the 'published' action makes it incomplete even against its own enum.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so commentId and moderationStatus are already well documented by the schema, including the enum values. The description adds no parameter detail beyond a loose and inconsistent mapping ('hold'→heldForReview, 'reject'→rejected), leaving the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the moderation actions (hold, reject, flag as spam) but conflates them with a sibling tool: 'flag a comment as likely spam' overlaps with google_youtube_mark_comment_spam, and it omits the schema's 'published' state entirely. It broadly signals what the tool does but does not cleanly distinguish it from neighboring YouTube comment tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites (channel ownership, permissions), and no routing to alternatives such as mark_comment_spam vs. this status-setting tool. The reader is left to infer intent 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.

google_youtube_subscriptionsList channel subscriptionsC

List the channels the user subscribes to.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoAccount nickname to use.
maxResultsNoMax results (default 50).

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavior. It states only the action (list) but does not indicate read-only nature, pagination, authentication requirements, or any side effects. An agent cannot infer safety or performance characteristics from this minimal text.

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, front-loaded sentence with no wasted words. It is concise and to the point, though it sacrifices informative detail. For a simple list tool, this level of brevity is acceptable, but it could include more context without becoming 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?

Given that the tool has no output schema and no annotations, the description is the sole source of context. It explains what it does but omits when to use it, what happens with default values, and whether any side effects occur. For a read-only list operation, this may be sufficient, but in a large toolset it feels incomplete without usage guidance.

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 covers both parameters (account and maxResults) with descriptions, achieving 100% coverage. The description adds no additional meaning beyond what the schema already provides, so the baseline of 3 applies. No extra context is given for how to format values or what constitutes a valid account.

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 (List) and resource (channels the user subscribes to), which is distinct from other YouTube tools like list_playlists or my_videos. However, it doesn't explicitly differentiate from siblings beyond the resource name, and the title already conveys the same information. The purpose is clear but minimal.

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. There is no mention of scenarios, prerequisites (e.g., account must be added), or exclusions. Given the large sibling set with several YouTube list tools, this is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_update_videoUpdate YouTube video metadataC

Update a video's title, description, tags or privacy status.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoNew video tags.
titleNoNew video title.
accountNoAccount nickname to use.
videoIdYesYouTube video ID.
descriptionNoNew video description.
privacyStatusNoNew privacy status.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, but it discloses only which fields are mutable. It omits whether this is a partial or full update (whether unspecified fields are cleared), auth/scope requirements, quota implications, and whether changes 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?

A single efficient sentence with the verb and target up front and no wasted words. Appropriately sized, though its brevity is partly under-specification rather than pure conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is too thin. It lacks update semantics (partial vs full overwrite), permission requirements, and any note about the return or confirmation behavior an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each of the six parameters is already documented in the schema. The description merely enumerates four of those fields and adds no format, constraint, or default detail beyond them, matching the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Update') and resource ('video's title, description, tags or privacy status'), making it clear this edits an existing video's metadata. It is distinguishable from google_youtube_upload (new content) and google_youtube_get_video (read), though it does not explicitly name those 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?

The description gives no when-to-use guidance, no prerequisites, and no contrast with sibling tools such as google_youtube_upload. An agent must infer that this only modifies already-uploaded videos rather than creating new ones.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_youtube_uploadUpload YouTube videoB

Upload a video to YouTube. Provide a local file path (preferred) or base64 content. Defaults to private.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoLocal file path of the video (preferred).
tagsNoVideo tags.
titleYesVideo title.
accountNoAccount nickname to use.
contentNoBase64-encoded video bytes (small files only). Mutually exclusive with path.
categoryIdNoYouTube category ID.
descriptionNoVideo description.
privacyStatusNoPrivacy (default private).
notifySubscribersNoNotify subscribers (default false).

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 the full behavioral burden. 'Defaults to private' is the only behavioral disclosure, and that merely restates the privacyStatus schema default. Nothing is said about the quota-heavy nature of YouTube uploads, permission requirements, file-size limits, or the result of the call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and free of filler. The final sentence duplicates a schema default, which is a slight redundancy but not wasteful enough to drop below a 4.

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 9-parameter mutation tool with no annotations and no output schema, the description is thin. The schema covers inputs well, but the agent gets no insight into auth/account requirements, quota cost, or failure behavior for a potentially expensive upload operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 9 parameters. The description reiterates the path-vs-content preference and the private default, adding only marginal emphasis over what the schema states. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Upload a video to YouTube'), which is clearly distinct from siblings like google_youtube_update_video, google_youtube_get_video, or google_youtube_add_to_playlist. It just doesn't explicitly name those alternatives to help disambiguate.

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?

It gives parameter-choice guidance ('local file path (preferred) or base64 content'), which steers the agent toward the better input. However, it offers no guidance on when to use this tool versus alternatives, nor any prerequisites such as auth or account selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 67 tool updatesv0.1.60
    • Addedgoogle_calendar_create
    • Changedgoogle_calendar_create_event8 fields changed
      • addedInput schema / properties / colorId
        Added value: +{
        +  "description": "Event color ID (1-11).",
        +  "type": "string"
        +}
      • addedInput schema / properties / recurrence
        Added value: +{
        +  "description": "RRULE strings, e.g. [\"RRULE:FREQ=WEEKLY;BYDAY=TH\"].",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / reminderMethod
        Added value: +{
        +  "description": "Reminder delivery method.",
        +  "enum": [
        +    "email",
        +    "popup"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / reminderMinutes
        Added value: +{
        +  "description": "Minutes before event.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / remindersUseDefault
        Added value: +{
        +  "description": "Use calendar default reminders instead of overrides.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / sendUpdates
        Added value: +{
        +  "description": "Control attendee notification emails.",
        +  "enum": [
        +    "all",
        +    "externalOnly",
        +    "none"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / timeZone
        Added value: +{
        +  "description": "IANA time zone, e.g. America/Denver. Required for recurring timed events.",
        +  "type": "string"
        +}
      • addedInput schema / properties / transparency
        Added value: +{
        +  "description": "Show as busy (opaque) or free (transparent).",
        +  "enum": [
        +    "opaque",
        +    "transparent"
        +  ],
        +  "type": "string"
        +}
    • Addedgoogle_calendar_delete
    • Addedgoogle_calendar_free_busy
    • Addedgoogle_calendar_respond
    • Addedgoogle_calendar_update
    • Changedgoogle_calendar_update_event8 fields changed
      • addedInput schema / properties / colorId
        Added value: +{
        +  "description": "Event color ID (1-11).",
        +  "type": "string"
        +}
      • addedInput schema / properties / recurrence
        Added value: +{
        +  "description": "RRULE strings, e.g. [\"RRULE:FREQ=WEEKLY;BYDAY=TH\"].",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / reminderMethod
        Added value: +{
        +  "description": "Reminder delivery method.",
        +  "enum": [
        +    "email",
        +    "popup"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / reminderMinutes
        Added value: +{
        +  "description": "Minutes before event.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / remindersUseDefault
        Added value: +{
        +  "description": "Use calendar default reminders instead of overrides.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / sendUpdates
        Added value: +{
        +  "description": "Control attendee notification emails.",
        +  "enum": [
        +    "all",
        +    "externalOnly",
        +    "none"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / timeZone
        Added value: +{
        +  "description": "IANA time zone, e.g. America/Denver. Required when updating to recurring timed events.",
        +  "type": "string"
        +}
      • addedInput schema / properties / transparency
        Added value: +{
        +  "description": "Show as busy (opaque) or free (transparent).",
        +  "enum": [
        +    "opaque",
        +    "transparent"
        +  ],
        +  "type": "string"
        +}
    • Changedgoogle_contacts_create3 fields changed
      • addedInput schema / properties / address
        Added value: +{
        +  "description": "Freeform postal address.",
        +  "type": "string"
        +}
      • addedInput schema / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / photoBytes
        Added value: +{
        +  "description": "Base64-encoded photo bytes (JPEG/PNG).",
        +  "type": "string"
        +}
    • Addedgoogle_contacts_delete
    • Addedgoogle_contacts_get
    • Addedgoogle_contacts_update
    • Addedgoogle_docs_delete_range
    • Addedgoogle_docs_insert_inline_image
    • Addedgoogle_docs_insert_table
    • Addedgoogle_drive_delete_permission
    • Changedgoogle_drive_download1 field changed
      • addedInput schema / properties / saveToPath
        Added value: +{
        +  "description": "Local path to write the raw bytes to (returns { savedTo } instead of data).",
        +  "type": "string"
        +}
    • Addedgoogle_drive_list_permissions
    • Addedgoogle_drive_move
    • Addedgoogle_drive_restore
    • Changedgoogle_drive_share6 fields changed
      • addedInput schema / properties / domain
        Added value: +{
        +  "description": "Domain for type=domain, e.g. example.com.",
        +  "type": "string"
        +}
      • changedInput schema / properties / email / description
        Previous value: -"Recipient email."New value: +"Recipient email (required for type user/group)."
      • changedInput schema / properties / role / enum
        Previous value: -[
        -  "reader",
        -  "writer",
        -  "commenter"
        -]New value: +[
        +  "reader",
        +  "writer",
        +  "commenter",
        +  "owner"
        +]
      • addedInput schema / properties / transferOwnership
        Added value: +{
        +  "description": "Transfer ownership to the recipient (requires role=owner).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / type
        Added value: +{
        +  "description": "Permission type (default user).",
        +  "enum": [
        +    "user",
        +    "group",
        +    "anyone",
        +    "domain"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "fileId",
        -  "email",
        -  "role"
        -]New value: +[
        +  "fileId",
        +  "role"
        +]
    • Addedgoogle_drive_trash
    • Changedgoogle_drive_update1 field changed
      • addedInput schema / properties / path
        Added value: +{
        +  "description": "Local file path to upload as new content (reads raw bytes; use instead of content).",
        +  "type": "string"
        +}
    • Changedgoogle_drive_upload2 fields changed
      • changedInput schema / properties / mimeType / description
        Previous value: -"MIME type (e.g. text/plain, application/vnd.google-apps.document)."New value: +"MIME type (e.g. text/plain, image/png, application/vnd.google-apps.document)."
      • addedInput schema / properties / path
        Added value: +{
        +  "description": "Local file path to upload (reads raw bytes from disk; use instead of content).",
        +  "type": "string"
        +}
    • Addedgoogle_forms_delete
    • Addedgoogle_forms_delete_question
    • Addedgoogle_forms_export_responses
    • Addedgoogle_forms_move_question
    • Addedgoogle_forms_rename
    • Addedgoogle_forms_update_question
    • Changedgoogle_gmail_drafts_create5 fields changed
      • addedInput schema / properties / attachments / items / properties / cid
        Added value: +{
        +  "description": "Content-ID for inline parts so HTML can reference them as cid:<cid>.",
        +  "type": "string"
        +}
      • addedInput schema / properties / attachments / items / properties / disposition
        Added value: +{
        +  "description": "How the part is presented (default attachment; inline embeds it in the body).",
        +  "enum": [
        +    "attachment",
        +    "inline"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / driveFileIds
        Added value: +{
        +  "description": "Drive file IDs to attach by reference (downloaded under the Gmail size limit).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / from
        Added value: +{
        +  "description": "Send-as alias or address to set as the From header.",
        +  "type": "string"
        +}
      • addedInput schema / properties / replyTo
        Added value: +{
        +  "description": "Address to set as the Reply-To header.",
        +  "type": "string"
        +}
    • Addedgoogle_gmail_drafts_update
    • Addedgoogle_gmail_filters_create
    • Addedgoogle_gmail_filters_delete
    • Addedgoogle_gmail_filters_list
    • Addedgoogle_gmail_labels_update
    • Changedgoogle_gmail_reply5 fields changed
      • addedInput schema / properties / attachments / items / properties / cid
        Added value: +{
        +  "description": "Content-ID for inline parts so HTML can reference them as cid:<cid>.",
        +  "type": "string"
        +}
      • addedInput schema / properties / attachments / items / properties / disposition
        Added value: +{
        +  "description": "How the part is presented (default attachment; inline embeds it in the body).",
        +  "enum": [
        +    "attachment",
        +    "inline"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / driveFileIds
        Added value: +{
        +  "description": "Drive file IDs to attach by reference (downloaded under the Gmail size limit).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / from
        Added value: +{
        +  "description": "Send-as alias or address to set as the From header.",
        +  "type": "string"
        +}
      • addedInput schema / properties / replyTo
        Added value: +{
        +  "description": "Address to set as the Reply-To header.",
        +  "type": "string"
        +}
    • Changedgoogle_gmail_send5 fields changed
      • addedInput schema / properties / attachments / items / properties / cid
        Added value: +{
        +  "description": "Content-ID for inline parts so HTML can reference them as cid:<cid>.",
        +  "type": "string"
        +}
      • addedInput schema / properties / attachments / items / properties / disposition
        Added value: +{
        +  "description": "How the part is presented (default attachment; inline embeds it in the body).",
        +  "enum": [
        +    "attachment",
        +    "inline"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / driveFileIds
        Added value: +{
        +  "description": "Drive file IDs to attach by reference (downloaded under the Gmail size limit).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / from
        Added value: +{
        +  "description": "Send-as alias or address to set as the From header.",
        +  "type": "string"
        +}
      • addedInput schema / properties / replyTo
        Added value: +{
        +  "description": "Address to set as the Reply-To header.",
        +  "type": "string"
        +}
    • Addedgoogle_gmail_sendas_create
    • Addedgoogle_gmail_sendas_list
    • Addedgoogle_gmail_threads_get
    • Addedgoogle_gmail_threads_list
    • Addedgoogle_gmail_vacation_get
    • Addedgoogle_gmail_vacation_update
    • Addedgoogle_sheets_add_sheet
    • Addedgoogle_sheets_delete_rows
    • Addedgoogle_sheets_delete_sheet
    • Addedgoogle_sheets_get_named_ranges
    • Addedgoogle_sheets_insert_rows
    • Addedgoogle_sheets_rename_sheet
    • Addedgoogle_sheets_set_named_range
    • Addedgoogle_slides_create_image
    • Addedgoogle_slides_create_textbox
    • Addedgoogle_slides_duplicate_slide
    • Addedgoogle_slides_move_slide
    • Changedgoogle_tasks_create1 field changed
      • addedInput schema / properties / parentTaskId
        Added value: +{
        +  "description": "Parent task ID to create a subtask.",
        +  "type": "string"
        +}
    • Addedgoogle_tasks_create_list
    • Addedgoogle_tasks_delete_list
    • Changedgoogle_tasks_list2 fields changed
      • addedInput schema / properties / dueAfter
        Added value: +{
        +  "description": "Only tasks due at or after this RFC3339 datetime.",
        +  "type": "string"
        +}
      • addedInput schema / properties / dueBefore
        Added value: +{
        +  "description": "Only tasks due at or before this RFC3339 datetime.",
        +  "type": "string"
        +}
    • Addedgoogle_tasks_update
    • Addedgoogle_tasks_update_list
    • Addedgoogle_youtube_insert_comment
    • Addedgoogle_youtube_list_comments
    • Addedgoogle_youtube_mark_comment_spam
    • Addedgoogle_youtube_remove_from_playlist
    • Addedgoogle_youtube_set_comment_moderation
    • Addedgoogle_youtube_update_video
    • Addedgoogle_youtube_upload
  2. 77 tool updatesv0.1.30
    • Changedgoogle_account_add1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_account_remove1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_account_set_default1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_calendar_create_event2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / attendees / items / pattern
        Added value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedgoogle_calendar_create_meet2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / attendees / items / pattern
        Added value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedgoogle_calendar_delete_event1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_calendar_get_event1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_calendar_list_calendars1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_calendar_list_events1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_calendar_update_event2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / attendees / items / pattern
        Added value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedgoogle_contacts_create2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / email / pattern
        Added value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedgoogle_contacts_list1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_contacts_search1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_docs_batch_update2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / requests / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedgoogle_docs_create1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_docs_get1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_docs_insert_text2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / index / maximum
        Added value: +9007199254740991
    • Changedgoogle_docs_read1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_docs_replace_text1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedgoogle_drive_copy
    • Addedgoogle_drive_create_folder
    • Changedgoogle_drive_delete1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedgoogle_drive_download
    • Addedgoogle_drive_export
    • Changedgoogle_drive_get1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_drive_list1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_drive_share2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / email / pattern
        Added value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedgoogle_drive_update1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_drive_upload1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_forms_add_question1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_forms_create1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_forms_get1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_forms_responses1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedgoogle_gmail_delete
    • Addedgoogle_gmail_drafts_create
    • Addedgoogle_gmail_drafts_delete
    • Addedgoogle_gmail_drafts_get
    • Addedgoogle_gmail_drafts_list
    • Addedgoogle_gmail_drafts_send
    • Changedgoogle_gmail_get1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedgoogle_gmail_get_attachment
    • Addedgoogle_gmail_labels_create
    • Addedgoogle_gmail_labels_delete
    • Addedgoogle_gmail_labels_list
    • Changedgoogle_gmail_list1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedgoogle_gmail_list_attachments
    • Changedgoogle_gmail_modify1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_gmail_reply2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / attachments
        Added value: +{
        +  "description": "Local files to attach to the reply.",
        +  "items": {
        +    "properties": {
        +      "filename": {
        +        "description": "Attachment filename shown to recipients (defaults to the basename of path).",
        +        "type": "string"
        +      },
        +      "mimeType": {
        +        "description": "MIME type override (defaults to a guess from the filename).",
        +        "type": "string"
        +      },
        +      "path": {
        +        "description": "Local filesystem path of the file to attach.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedgoogle_gmail_send2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / attachments
        Added value: +{
        +  "description": "Local files to attach to the email.",
        +  "items": {
        +    "properties": {
        +      "filename": {
        +        "description": "Attachment filename shown to recipients (defaults to the basename of path).",
        +        "type": "string"
        +      },
        +      "mimeType": {
        +        "description": "MIME type override (defaults to a guess from the filename).",
        +        "type": "string"
        +      },
        +      "path": {
        +        "description": "Local filesystem path of the file to attach.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Addedgoogle_gmail_trash
    • Addedgoogle_gmail_untrash
    • Changedgoogle_sheets_append1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_sheets_batch_update2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / requests / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedgoogle_sheets_create1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_sheets_get1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_sheets_read1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_sheets_write1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_slides_add_slide1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedgoogle_slides_batch_update
    • Changedgoogle_slides_create1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_slides_delete_slide1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_slides_get1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Addedgoogle_slides_get_page
    • Changedgoogle_slides_replace_text1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_tasks_complete1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_tasks_create1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_tasks_delete1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_tasks_list1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_tasks_list_lists1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_add_to_playlist1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_create_playlist1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_delete_playlist1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_get_video1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_list_playlists1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_my_videos1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_search1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedgoogle_youtube_subscriptions1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  3. 60 tool updatesv0.1.0
    • First observedgoogle_account_add
    • First observedgoogle_account_list
    • First observedgoogle_account_remove
    • First observedgoogle_account_set_default
    • First observedgoogle_account_status
    • First observedgoogle_calendar_create_event
    • First observedgoogle_calendar_create_meet
    • First observedgoogle_calendar_delete_event
    • First observedgoogle_calendar_get_event
    • First observedgoogle_calendar_list_calendars
    • First observedgoogle_calendar_list_events
    • First observedgoogle_calendar_update_event
    • First observedgoogle_contacts_create
    • First observedgoogle_contacts_list
    • First observedgoogle_contacts_search
    • First observedgoogle_docs_batch_update
    • First observedgoogle_docs_create
    • First observedgoogle_docs_get
    • First observedgoogle_docs_insert_text
    • First observedgoogle_docs_read
    • First observedgoogle_docs_replace_text
    • First observedgoogle_drive_delete
    • First observedgoogle_drive_get
    • First observedgoogle_drive_list
    • First observedgoogle_drive_share
    • First observedgoogle_drive_update
    • First observedgoogle_drive_upload
    • First observedgoogle_forms_add_question
    • First observedgoogle_forms_create
    • First observedgoogle_forms_get
    • First observedgoogle_forms_responses
    • First observedgoogle_gmail_get
    • First observedgoogle_gmail_list
    • First observedgoogle_gmail_modify
    • First observedgoogle_gmail_reply
    • First observedgoogle_gmail_send
    • First observedgoogle_sheets_append
    • First observedgoogle_sheets_batch_update
    • First observedgoogle_sheets_create
    • First observedgoogle_sheets_get
    • First observedgoogle_sheets_read
    • First observedgoogle_sheets_write
    • First observedgoogle_slides_add_slide
    • First observedgoogle_slides_create
    • First observedgoogle_slides_delete_slide
    • First observedgoogle_slides_get
    • First observedgoogle_slides_replace_text
    • First observedgoogle_tasks_complete
    • First observedgoogle_tasks_create
    • First observedgoogle_tasks_delete
    • First observedgoogle_tasks_list
    • First observedgoogle_tasks_list_lists
    • First observedgoogle_youtube_add_to_playlist
    • First observedgoogle_youtube_create_playlist
    • First observedgoogle_youtube_delete_playlist
    • First observedgoogle_youtube_get_video
    • First observedgoogle_youtube_list_playlists
    • First observedgoogle_youtube_my_videos
    • First observedgoogle_youtube_search
    • First observedgoogle_youtube_subscriptions

TDQS

C2.9/5.0

Scored across 134 tools

Disambiguation4/5

Service-prefixed names and specific descriptions make most tools easy to distinguish (e.g., drive_list vs drive_list_permissions, docs_get vs docs_read). Minor overlaps exist, such as tasks_complete vs tasks_update(status) and calendar_create_event vs calendar_create_meet, but they are usually resolvable from descriptions.

Naming Consistency4/5

Names follow a strong google_<service>_<action>_<object> snake_case convention, with clear verbs for most operations. Deviations like google_account_status, google_youtube_my_videos, and Gmail's resource-first names (google_gmail_threads_list, google_gmail_drafts_list) keep it from being perfect.

Tool Count1/5

134 tools is far beyond a manageable MCP surface, even for a multi-service Google integration. The breadth forces agents to sift through many near-neighbor operations and creates high selection overhead.

Completeness4/5

Coverage is broad: Gmail, Calendar, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube, Forms, and account management all have core CRUD/lifecycle operations. Gaps remain for some secondary areas (e.g., Drive comments/revisions, Calendar ACLs, Gmail forwarding/delegates), though raw batch_update tools provide escape hatches.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    MCP server integrating multiple Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Tasks, People, Forms, and Slides, enabling users to manage emails, events, files, documents, and more through natural language.
    15
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Local MCP server for reading/sending email via Gmail and managing Google Calendar events, enabling an AI agent to handle email and calendar operations through natural language.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that enables AI assistants to manage Google Workspace (Gmail and Calendar) through natural language, including reading/sending emails, managing events, and checking availability.
    -