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 when a merge to main changes something the package ships

  • beta — preview builds, not a snapshot of main. The tag moves to whichever build ran last: a PR branch (each push to a non-draft PR, including the moment it is marked ready for review), a v*-beta* tag, or a manual run from main. Installing @beta gets you unmerged code that is currently under review.

Install a stable version unless you specifically want to try a branch:

npx -y google-services-mcp@latest --version   # stable
npx -y google-services-mcp@beta --version     # preview build

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)
# A client secret supplied through the environment is never written to
# config.json; an invalid port fails at startup instead of binding a NaN port.
# 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 — a merge to main that changes shipping files 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. Preview — the beta dist-tag points at the last preview build, and is advanced by three things:

    • a push to a non-draft PR in this repository (including the ready-for-review transition), as <version>-beta.<run_number>

    • a v*-beta* tag push

    • a manual run: Actions → CI → Run workflow, which publishes a 0.x.x-beta.X build of main

    beta therefore tracks whichever build ran last, not main. Use latest for anything you rely on.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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/busyA

Query busy intervals across calendars to find free meeting windows. A calendar that could not be read returns errors instead of looking free.

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

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, and it does disclose one genuinely valuable failure mode: an unreadable calendar surfaces errors rather than appearing free, which prevents false 'available' conclusions. It leaves out whether the call is strictly read-only, permission/auth expectations, and what the response shape looks like.

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 sentences, zero filler, with the core purpose front-loaded and the caveat about partial failures placed immediately after. Every clause carries information.

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

Completeness4/5

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

For a 5-parameter read tool with full schema coverage and no output schema, the description covers purpose and the key error behavior. It could go slightly further in describing the returned busy-interval structure or timezone/range edge cases, but nothing critical for correct invocation 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%, so all five parameters (items, account, timeMin, timeMax, timeZone) are already documented in the schema. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema does the work.

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

Purpose4/5

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

States a specific verb and resource ('Query busy intervals across calendars') and adds the practical intent ('find free meeting windows'), which distinguishes it from google_calendar_list_events at a conceptual level. It never names that sibling explicitly, so differentiation relies on the agent inferring the busy-vs-detailed-events distinction.

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

Usage Guidelines3/5

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

The phrase 'to find free meeting windows' implies the usage context, but there is no explicit when-to-use/when-not guidance and no mention of alternatives such as google_calendar_list_events for event details. Usage must be inferred from the purpose sentence.

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.

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 calendarsB

List calendars the account can access.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageTokenNoPage token from a previous result's nextPageToken.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only discloses access scoping ('the account can access'). It omits pagination behavior despite a pageToken parameter, whether the primary calendar is included, ordering, and any read-only/safety context. This is thin for an unannotated tool.

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

Conciseness5/5

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

A single front-loaded sentence with zero wasted words. It states purpose and scope immediately.

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 read tool with full schema coverage, the description covers the core action. However, it lacks pagination guidance and any behavioral context that would be needed in the absence of annotations, leaving it 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 both parameters (account, pageToken) are already documented in the schema. The description adds no parameter-level meaning beyond what structured data provides, which is the baseline for full 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?

States a specific verb (List) and resource (calendars) with the scope 'the account can access,' which inherently distinguishes it from sibling tools like google_calendar_list_events. It does not explicitly call out the sibling comparison, but the resource noun is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., list_events, free_busy) or what prerequisites exist. The scope clause hints at account filtering but does not say when the tool should be selected.

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 eventsB

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

NameRequiredDescriptionDefault
qNoFree-text search (e.g. meeting).
accountNoAccount nickname to use.
timeMaxNoEnd of range (ISO 8601).
timeMinNoStart of range (ISO 8601, default now).
pageTokenNoPage token from a previous result's nextPageToken.
calendarIdNoCalendar ID (default primary).
maxResultsNoMax events (default 25).

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 must carry the behavioral burden. 'List' implies read-only and non-destructive, which is useful, but it omits pagination behavior (despite pageToken/nextPageToken in the schema), the default result cap of 25, and how recurring events or 'upcoming' are resolved.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is appropriately sized for the message it delivers, though that brevity leaves the other useful details (paging, defaults, account scope) 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?

Seven parameters, no annotations, and no output schema mean the description should do more work. It never explains pagination (pageToken fields exist), the default 25/250 limits, the account-vs-calendarId relationship, or what an event record looks like on return.

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 seven parameters are already documented inline (q, account, timeMin/timeMax, pageToken, calendarId, maxResults). The description only restates the time-range and query filters, adding no meaning 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.

Purpose4/5

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

The description states a specific verb and resource ('List upcoming events in a calendar') plus the optional filtering dimension. It's clear enough to distinguish from get_event or create_event, but never names those siblings or clarifies how it differs from google_calendar_free_busy or google_calendar_list_calendars.

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 by 'List upcoming events' and 'optionally filtered'. There is no explicit when-to-use guidance, no exclusions (e.g. use get_event for a single event, free_busy for availability), and no mention of prerequisites like which account is used.

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 inviteA

Accept, decline, or mark tentative an event invite by setting the attendee responseStatus. The address must already be on the invite.

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

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 disclosure burden. It does add real behavioral context — that the response is recorded against an attendee already on the invite — but says nothing about notification side effects (the sendUpdates default of 'none'), permission requirements, or whether the organizer can respond for others.

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 sentences, zero waste, with the action and the hard precondition front-loaded. Nothing is redundant with the title.

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

Completeness3/5

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

With six parameters, no annotations, and no output schema, the description is on the thin side. It covers the core action and one failure mode, but omits notification behavior and the fact that responses can be set for other attendees via the email parameter — both relevant to calling 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 the baseline is 3. The description adds only marginal meaning, tying 'responseStatus' to attendance and constraining 'email' to an existing invitee; the other four parameters 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 set (accept, decline, mark tentative) and a specific resource (an event invite's attendee responseStatus), so the agent knows exactly what the operation does. It does not name or differentiate from the closest sibling, google_calendar_update_event, which could also plausibly touch attendance state.

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 'The address must already be on the invite' is a genuine precondition that tells the agent when this call will fail. However, there is no explicit guidance on when to use this versus google_calendar_update_event, and no statement about whether the caller must be an attendee.

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

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

NameRequiredDescriptionDefault
endNoNew end RFC3339 datetime (or YYYY-MM-DD for all-day). Given alone, the start keeps the current duration.
startNoNew start RFC3339 datetime (or YYYY-MM-DD for all-day). Given alone, the end keeps the current duration.
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 burden and delivers almost nothing: it doesn't say that attendee updates replace the whole list, that changes may trigger notification emails (sendUpdates), whether changes apply to recurring instances, or whether the operation is reversible. The only behavioral disclosure is the '(partial update)' note.

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 repetition. It is efficient, though its brevity is partly under-specification rather than true density.

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

Completeness2/5

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

For a 17-parameter mutation tool with zero annotations and no output schema, one sentence is not enough: risks of overwriting attendees/recurrence, notification side effects, and account/calendar scoping all go unaddressed. Only the schema carries the 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%, so the schema already documents nearly all 17 parameters, including the subtle start/end duration behavior and enum meanings. The description adds no parameter meaning of its own, 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 ('Update fields of an existing event') and clarifies the partial-update semantics, which is a meaningful distinction. It doesn't differentiate from nearby siblings like google_calendar_update or google_calendar_create_event, 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 when-to-use guidance, no prerequisites (eventId required, calendarId defaulting to primary), and no mention of when to prefer this over google_calendar_update or how it relates to google_calendar_get_event. '(partial update)' is the only usage hint and it is inferred 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_contacts_createCreate contactC

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

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.

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

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 contactsC

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

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageSizeNoMax contacts (default 100).
pageTokenNoPage token from a previous result's nextPageToken.

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. 'List' implies a read-only operation, but there is no mention of pagination limits, ordering, permission scoping, or how nextPageToken results behave — the schema mentions the token but the description does not explain the paging loop an agent must run.

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 no filler, and the core resource is front-loaded. It is appropriately sized, though the space saved could have been spent on paging or sibling differentiation.

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

Completeness3/5

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

For a simple 3-optional-parameter read tool with full schema coverage and no output schema, the description minimally suffices and usefully hints at returned fields. However, it omits result paging behavior (nextPageToken) and how many records come back by default, which matter in practice.

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 account, pageSize, and pageToken are already documented in structured data. The description adds no meaning beyond the schema and does not clarify default account behavior when 'account' is omitted — 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 (list contacts) plus the fields returned (names, emails, phones). It does not explicitly differentiate from the sibling google_contacts_search or google_contacts_get, so an agent must infer the distinction 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?

The description gives no indication of when to prefer this over google_contacts_search or google_contacts_get, and no guidance on paging through results. It says nothing about when NOT to use it or what prerequisites (account selection/default) apply.

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

google_contacts_updateUpdate contactB

Update a contact's name, email, phone, address, organization or photo. Multi-valued fields keep their other entries.

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

B3.3/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. It does disclose one genuinely useful behavior — multi-valued fields keep their other entries, i.e. partial/additive semantics — but never says what happens to fields not supplied (cleared vs. preserved), whether the operation is reversible, or what auth/permissions are needed.

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

Conciseness5/5

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

Two sentences, no waste, with the mutable-field scope front-loaded before the behavioral caveat. 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 an 8-parameter mutation tool with no annotations and no output schema, the description covers which fields can change but omits the key open questions: partial vs. full replacement for omitted fields, failure behavior for an invalid resourceName, and confirmation of what is returned.

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 name, email, phone, account, address, photoBytes, organization, and resourceName. The description only echoes the field list and adds the multi-valued retention nuance, which is marginal value on top of an already well-documented schema.

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

Purpose4/5

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

States a specific verb ('Update') and resource ('a contact's') and enumerates the mutable fields, so the agent can tell it apart from google_contacts_create, google_contacts_get, and google_contacts_delete. It does not explicitly name those siblings, but the operation is unambiguous.

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

Usage 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_contacts_create or google_contacts_search, and no mention that resourceName must come from a prior list/search call (that hint lives only in the schema). Usage is only implied by the word 'update'.

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

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.

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.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
endIndexYes1-based end index (exclusive).
documentIdYesDocument ID.
startIndexYes1-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. It implies a destructive mutation but says nothing about irreversibility, permission requirements, or how document indices shift after a deletion, which is the single most important behavioral fact for a range-delete tool.

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

Conciseness4/5

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

One front-loaded sentence with no filler. It is efficient, though its brevity comes partly from omitting behavior an agent needs rather than from disciplined editing.

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

Completeness2/5

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

This is a destructive mutation tool with no annotations and no output schema. The description should warn about index invalidation after deletion and about the operation being irreversible, and it covers neither.

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 that startIndex is 1-based inclusive and endIndex is 1-based exclusive. The description adds nothing beyond that, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb ('Delete') and a specific resource ('a range of content from a document'), so an agent knows exactly what the tool does. It does not distinguish itself from siblings that can also remove content, such as google_docs_batch_update or google_docs_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?

There is no guidance on when to use this tool versus google_docs_batch_update or google_docs_replace_text, and no statement of prerequisites. Usage is only implied by the verb 'delete'.

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

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.

NameRequiredDescriptionDefault
uriYesPublicly accessible PNG/JPEG/GIF URI (< 50MB, <= 25MP).
indexYes1-based index inside an existing paragraph.
accountNoAccount nickname to use.
documentIdYesDocument 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 disclosure burden. It implies a mutation by saying 'insert' and mentions the returned object id, but it does not state permission requirements, reversibility, failure behavior, or rate limits for a write 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 definition is a single front-loaded sentence with no wasted words. It states the action, source, and return value efficiently.

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

Completeness3/5

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

The description covers the essential action and return value, and the schema fully documents parameters. However, for a mutation tool with no annotations, it should say more about operational context such as authentication needs or constraints on insertion position.

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 four parameters are already documented. The description adds little beyond the schema: it implies URI source and object-id return, but does not clarify index placement or account selection semantics beyond what the schema 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?

The description names a specific verb and resource: insert an inline image. It also specifies the source (public URI) and return value (created object id). It is clearly distinguishable from google_docs_insert_text and google_docs_insert_table, 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 gives no explicit guidance on when to use this tool versus alternatives such as google_slides_create_image or google_docs_insert_text. It also omits prerequisites, like whether the document must already exist or the index must fall inside an existing paragraph.

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

NameRequiredDescriptionDefault
rowsYesNumber of rows.
indexYes1-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, the description carries the full behavioral burden. It usefully discloses that the inserted table is empty and that a newline is added before it, but it does not mention write permissions, what happens to existing content at the index, failure behavior, or the response shape.

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 text. The parenthetical side-effect note is compact and 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 mutation tool with no annotations and no output schema, the description is too thin. It explains the core insert action but omits permission requirements, return behavior, and error or edge-case context an agent would need before invoking 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?

The input schema has 100% description coverage for all five parameters, so the baseline is 3. The description does not add parameter-level meaning beyond the schema, such as index constraints or 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 states a specific verb and resource: insert an empty table. The word 'table' distinguishes it from sibling tools like google_docs_insert_text and google_docs_insert_inline_image, though the phrase 'model index' is somewhat ambiguous and 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 tool versus alternatives such as google_docs_insert_text or google_docs_batch_update, and no stated preconditions. Usage is only implied by the purpose.

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 documentB

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

NameRequiredDescriptionDefault
textYesText to insert.
indexNo1-based character index to insert at (default end of document).
accountNoAccount nickname to use.
documentIdYesDocument 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-disclosure burden. 'Insert' implies a write operation, but the description omits edit-permission requirements, effects on existing content or index shifting, and return behavior; only the default end-of-document location is 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?

A single front-loaded sentence with no redundancy, efficiently stating the action and insertion location.

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 insert operation with fully documented parameters, the description covers the action and target location. However, with no annotations and no output schema, it leaves mutation side effects, permissions, and response behavior undisclosed.

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 echoes the index-or-end behavior already present in the schema and adds no further format or constraint details.

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 (insert) and resource (text into a document), plus the insertion location (index or end). This distinguishes it from replace_text and insert_table by operation, but it does not explicitly route among the docs-editing siblings.

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

Usage Guidelines2/5

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

The description provides no when-to-use guidance, prerequisites, or alternatives. An agent must infer from sibling tools whether to use this versus google_docs_replace_text or google_docs_batch_update.

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.

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

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.

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.

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

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.

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.

NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.
saveToPathNoLocal path to write the raw bytes to (returns { savedTo }). Must be inside the save root: GOOGLE_MCP_SAVE_ROOT, default ~/Downloads.

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, and it does add real value by specifying the conditional return shape (decoded text vs. base64). However, it omits what happens when the file IS Google-native (error? empty?), whether saveToPath overwrites an existing file, and any size/permission constraints on large binaries.

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, front-loaded with the core action and scope, then the return-variant rule, then the optional output destination. Nothing is padded and each clause adds distinct 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?

For a 3-parameter tool with no output schema and no annotations, the description covers the primary return shapes but leaves the Google-native edge case, overwrite behavior, and size limits unstated. Adequate to invoke on the happy path, thin on failure modes.

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 fileId, account and saveToPath are already fully documented, including the save-root restriction. The description restates saveToPath's effect without adding constraints 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.

Purpose4/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 narrows the scope with '(non-Google-native files)'. That scope carve-out implicitly separates it from google_drive_export, but the sibling is never named, so the agent must infer the boundary.

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

Usage Guidelines3/5

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

The '(non-Google-native files)' parenthetical implies that Google-native docs belong elsewhere, and the saveToPath sentence gives one usage pattern, but neither is framed as an explicit when-to-use rule. There is no routing to google_drive_export for Docs/Sheets/Slides and no guidance on when returning bytes vs. writing to disk is preferred.

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). Pass saveToPath to write the exported bytes to a local file instead.

NameRequiredDescriptionDefault
fileIdYesDrive file ID.
accountNoAccount nickname to use.
mimeTypeYesTarget MIME type (e.g. application/pdf).
saveToPathNoLocal path to write the exported bytes to (returns { savedTo }). Must be inside the save root: GOOGLE_MCP_SAVE_ROOT, default ~/Downloads.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral load. It discloses the destination behavior and mentions the { savedTo } return shape, but says nothing about auth requirements, the roughly 10MB Drive export size limit, whether the source file is modified, or error behavior on unsupported MIME conversions.

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 sentences, zero padding, with the capability and its file-type scope front-loaded before the optional output-routing behavior. Every sentence carries information.

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

Completeness4/5

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

For a 4-param tool with full schema coverage and no output schema, the description covers what it does, what it accepts, and the two output modes. It falls short only on operational limits and MIME-compatibility caveats that an agent might need to avoid failed calls.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all four parameters including the save-root constraint. The description only restates mimeType examples and saveToPath's purpose, adding no format rules or validation 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+resource with an explicit scope restriction (Google-native Docs/Sheets/Slides/Drawings only), which effectively separates it from google_drive_download for binary files. It does not name the sibling outright, so the differentiation is inferred rather than declared.

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 applicability context: only Google-native files can be exported, and passing saveToPath switches from returning bytes to writing a local file. No explicit when-not-to-use or named alternative (e.g. 'for non-native binary files use google_drive_download') is provided.

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.

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 filesB

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

NameRequiredDescriptionDefault
queryNoDrive query (e.g. 'name contains "report"').
accountNoAccount nickname to use.
pageSizeNoMax files (default 25).
pageTokenNoPage token from a previous result's nextPageToken.

TDQS

B3.3/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 burden, and it does disclose the default sort order ('newest first') — genuine behavioral context. It omits what a result contains, how pagination behaves beyond the schema's own pageToken/pageSize fields, and what happens with no query (full listing, presumably). Useful but incomplete for an unannotated tool.

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

Conciseness5/5

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

One short sentence with the resource and the default ordering front-loaded and zero filler. Nothing could be removed without losing 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?

A 4-parameter listing tool with no annotations and no output schema leaves the agent guessing at what a returned file record looks like and how to page through large result sets. The schema covers parameter syntax well, but the description does nothing to fill the behavioral and return-shape 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% and every parameter is documented there, including the query example, account nickname, page size default, and page token usage. The description adds only that the query is optional, 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 and resource ('List files in Drive') plus a default ordering ('newest first'), which is enough to distinguish it from google_drive_get, google_drive_export, and the many write-side Drive siblings. It stops short of naming a specific alternative, but the operation is unambiguous.

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

Usage Guidelines2/5

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

It says what the tool does but never when to choose it over google_drive_get (single file) or google_drive_export (export to another format). There are no prerequisites, no exclusions, and no mention of how a query narrows results versus listing everything.

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.

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.

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

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.

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.

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

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

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 questionC

Append a text or multiple-choice question to the end of a form.

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

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, yet it says nothing about required write permissions, whether the form must be unpublished, whether the append is reversible, or what identifier is returned. Only the positional behavior (append at end) 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.

Conciseness5/5

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

A single economical sentence with the key action and placement constraint front-loaded and zero filler.

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 omits what matters most operationally: what is returned (e.g., a question ID needed for later update/move/delete) and any preconditions. It is too thin for the tool's complexity.

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

Parameters3/5

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

Schema coverage is 100%, so every parameter is already documented in the schema; the description adds only the 'text or multiple-choice' type hint, which restates the enum. Parameters such as options, required, description, and account are left entirely to the schema, which is acceptable given full 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 names a specific verb (append) and resource (question) and gives positional scope (end of a form). It stops short of distinguishing append from the sibling google_forms_update_question or google_forms_move_question, so an agent must infer the difference from the names 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 or when-not-to-use guidance and no reference to alternatives like update_question, move_question, or delete_question. The only implicit cue is the word 'append', which hints at position but not at tool selection.

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.

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.

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.

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 SheetsA

Append form responses to Sheets with a __google_forms_response_id column for deduplication by response ID. Existing rows are migrated by answer matching; added questions go after the ID column, while reordered columns fail safely.

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

TDQS

A3.8/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 load and does a solid job: it discloses deduplication semantics, row migration by answer matching, placement of newly added questions, and a failure mode (reordered columns fail safely). It omits permission/scope requirements and whether the destination sheet must already exist, which keeps it below a 5.

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 dense sentences with zero filler, front-loaded with the core action and then the non-obvious migration semantics. Every clause carries information an agent would otherwise have to discover at runtime.

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 4-parameter mutation with no output schema, the description covers the hard parts (dedup, migration, failure mode) but leaves open whether the tab is created when absent and what an export returns (row counts, new vs. migrated). Those gaps are minor given the otherwise rich behavioral 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 100%, so formId, account, sheetName and spreadsheetId are already documented in the schema. The description's mention of the ID column and column ordering adds context about write behavior but nothing about parameter formats or the default tab behavior. 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 opens with a specific verb+resource pair ("Append form responses to Sheets") and adds a distinctive implementation detail (a __google_forms_response_id column). An agent can distinguish it from google_forms_responses (read) and google_sheets_append, though it never names those siblings 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?

There is no explicit when-to-use statement or named alternative. Usage is only implied through behavior: the dedup column and row migration tell an agent that repeated exports are safe, but nothing says when to call google_forms_responses instead or what preconditions exist.

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.

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.

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.

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.

NameRequiredDescriptionDefault
formIdYesForm ID.
accountNoAccount nickname to use.
pageSizeNoMax responses (default 100).
pageTokenNoToken from a previous page's nextPageToken.

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. 'List responses' implies a read operation, but it does not disclose permissions, ordering, whether answers are included, or any rate-limit or pagination behavior beyond the schema parameters.

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 is appropriately sized for a simple list operation, even if more details would improve other dimensions.

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, no output schema, and a closely related sibling (google_forms_export_responses), the description is too thin. It does not explain return content, pagination behavior, or when export is the better alternative.

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 in the schema. The description adds no extra meaning about formId, account, pageSize, or pageToken, which is the expected baseline when the schema does the parameter 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 states a specific verb and resource: list responses submitted to a form. That is clear enough to distinguish it from mutation or form-editing siblings, but it does not explicitly differentiate it from google_forms_export_responses.

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

Usage Guidelines2/5

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

It gives no guidance on when to use this tool rather than google_forms_export_responses, nor prerequisites such as permissions or form ownership. The only implied usage is that an agent should call it when it wants form responses.

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.

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

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

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.

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.

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.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageTokenNoToken from a previous page's nextPageToken.
maxResultsNoMax drafts (default 25).

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 does not state that this is a read-only operation, what the default account behavior is when 'account' is omitted, how pagination behaves beyond the schema's nextPageToken hint, or what the returned items contain. For a no-annotation tool 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.

Conciseness3/5

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

The single sentence is front-loaded and free of waste, but it is under-specified rather than genuinely concise — there is room to add scoping or pagination context without bloat.

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

Completeness3/5

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

With a fully described 3-parameter schema and no output schema, the definition is minimally sufficient to call the tool. It does not explain return shape (draft IDs, message snippets) or default account resolution, which an agent would need to interpret results or omit parameters safely.

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, pageToken, maxResults with its default of 25 and 1-100 bounds) are already documented in the schema. The description adds nothing beyond that, so the baseline 3 applies.

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

Purpose3/5

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

The description names a specific verb and resource ("List draft emails"), and the word "drafts" distinguishes it from the message-oriented siblings like google_gmail_list and google_gmail_threads_list. However, it is essentially a restatement of the title "List email drafts" and adds no scope detail such as which account or whether all drafts are returned.

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_list, google_gmail_threads_list, or google_gmail_drafts_get. The agent must infer the distinction 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_gmail_drafts_sendSend email draftB

Send an existing draft email.

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

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

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.

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

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.

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. Attachments that would produce an inline result over 6 MB are rejected — pass saveToPath to write the raw bytes to a local file instead. The limit is measured on the JSON-RPC frame, not the raw bytes.

NameRequiredDescriptionDefault
idYesMessage ID.
partIdNoStable part ID (from list_attachments); preferred over attachmentId for lookup.
accountNoAccount nickname to use.
maxBytesNoInline size limit in bytes (default 6 MB), measured on the JSON-RPC frame the client receives. Escaping can inflate a payload (base64 ~1.33x, NUL-heavy text ~7x). Ignored when saving to disk.
saveToPathNoLocal path to write the raw bytes to (returns savedTo and kind "saved" instead of an inline payload). Must be inside the save root: GOOGLE_MCP_SAVE_ROOT, default ~/Downloads.
attachmentIdYesAttachment ID (from list_attachments).

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 load and does well: it discloses that oversized attachments are rejected, how the limit is measured (JSON-RPC frame, not raw bytes), and the escape hatch. It leaves the read-only nature and any permission/account requirements implicit.

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 tight sentences, each earning its place: identification, return encoding, then the failure mode and its workaround. The size constraint arrives before the caveat about how it is measured.

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?

No output schema exists, and the description covers the inline return encoding (text vs base64) and the saved-path alternate mode, which is what an agent most needs. It stops short of describing the actual response envelope for the inline case.

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 id, partId, maxBytes, saveToPath, and account in detail. The description reinforces the saveToPath/maxBytes trade-off but adds no syntax or format information beyond what the schema states, making 3 the correct 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?

States a specific verb and resource — 'Download a single attachment by message ID and attachment ID' — and immediately clarifies the decoding behavior for text vs binary. This cleanly separates it from its sibling google_gmail_list_attachments, which enumerates rather than fetches.

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 a genuine routing rule: attachments that would exceed 6 MB inline must instead be written via saveToPath. It does not, however, point the agent at google_gmail_list_attachments as the source of the required IDs, nor mention the partId preference noted in the 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_createCreate email labelC

Create a custom Gmail label.

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.

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.

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

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 emailsB

List messages from the inbox, newest first, with an optional Gmail search query.

NameRequiredDescriptionDefault
queryNoGmail search query (e.g. from:bob, newer_than:2d).
accountNoAccount nickname to use.
pageTokenNoPage token from a previous result's nextPageToken.
maxResultsNoMax messages (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') and inbox scoping, but says nothing about what the result set contains (IDs/snippets vs full bodies), whether pagination is needed (the schema hints at it via pageToken), or whether spam/trash/other labels are included — an agent can't tell whether a follow-up google_gmail_get call is required.

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 with the resource and ordering front-loaded and zero filler. 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?

With four parameters, no annotations, and no output schema, the description should say what a returned message looks like and whether it's a summary or full payload. It covers scope and ordering adequately but leaves the return shape and follow-up path (get vs list) 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 the schema already documents query, account, pageToken, and maxResults with examples and a default. The description adds no parameter detail beyond restating that the query is optional; 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 plus resource ('List messages from the inbox') with scope qualifiers (newest first, optional search query). It distinguishes itself from google_gmail_send/get/drafts by its inbox-listing nature, but never names a sibling such as google_gmail_threads_list or google_gmail_list_attachments, which a reader must infer.

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 a list operation with an optional query, but gives no explicit when-to-use or when-not guidance. Nothing tells the agent when to pick this over google_gmail_threads_list, google_gmail_drafts_list, or google_gmail_get for retrieving mail content.

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

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

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.

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.

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

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.

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

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.

NameRequiredDescriptionDefault
queryNoGmail search query (e.g. from:bob, newer_than:2d).
accountNoAccount nickname to use.
pageTokenNoPage token from a previous result's nextPageToken.
maxResultsNoMax threads (default 25).

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It does disclose two useful behaviors the schema does not: results are ordered newest-first and the query filter is optional, which implies an unfiltered full-listing mode. It omits pagination mechanics beyond the pageToken field and whether results are thread summaries, IDs, or full messages.

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 12-word sentence with no filler, front-loading the resource and its ordering. It is efficient but so terse that useful routing information was cut.

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 read-only list call with fully documented params, but with no output schema the description should say what a returned item looks like (thread ID, snippet, message count) and how it differs from google_gmail_list. Those gaps matter for an agent choosing among ~10 Gmail listing 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 description coverage is 100%, so all four parameters (query, account, pageToken, maxResults) are already documented with defaults and limits. The description only echoes that query is optional; 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 ("List conversation threads") plus ordering ("newest first"), which is clear on its own. It never contrasts itself with the closely-related siblings google_gmail_list (messages) or google_gmail_threads_get (single thread), so the message-vs-thread distinction is left implicit.

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?

"with an optional Gmail search query" hints at filtering but gives no guidance on when to pick this over google_gmail_list or google_gmail_threads_get, and no preconditions (account selection, auth). Usage must be inferred 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_gmail_trashTrash emailB

Move a message to trash.

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.

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.

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.

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.

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.

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

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.

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 rowsB

Delete rows from a sheet starting at a 0-based row index.

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

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 must carry the full behavioral burden. It identifies deletion but does not disclose that it is destructive/irreversible, required permissions, or what happens to existing data and formulas.

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?

It is a single front-loaded sentence with no filler. The key operation and indexing semantics are stated 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 mutation with five parameters and no annotations or output schema, the description is too thin. It should at least clarify destructive behavior, default row count, and any permission or irreversibility considerations.

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 restates the 0-based startIndex semantics already documented in the schema and does not add meaning for spreadsheetId, sheetId, numRows, or account.

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 gives a specific verb and resource: "Delete rows from a sheet." It also states the deletion is scoped by a 0-based row index, which clearly distinguishes it from deleting a whole sheet or inserting 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?

It does not explain when to use this tool versus alternatives such as google_sheets_insert_rows or google_sheets_delete_sheet. The index semantics imply row deletion, but no explicit usage conditions or exclusions are provided.

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.

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.

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.

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 rowsC

Insert blank rows into a sheet at a 0-based row index.

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

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 existing rows shift down, whether surrounding formulas/references are adjusted, whether any formatting is applied to the new blank rows, or what permissions are required. Only the bare mutation is conveyed.

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; the index semantic is included because it is operationally important. It is arguably too terse for a mutation tool, but nothing in it is wasted.

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

Completeness3/5

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

Parameters are fully covered by the schema, so the only real gap is behavioral: row-shifting effects and side effects of the insert are undocumented for a write operation with zero annotations and no output schema. Minimum viable for a simple insert, but not 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%, and the description only restates the '0-based row index' detail already documented on startIndex. It adds no 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 and resource ('Insert blank rows into a sheet') and a location semantic, which cleanly separates it from google_sheets_delete_rows and google_sheets_append. It does not name any sibling explicitly, so differentiation is implicit rather than stated.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus google_sheets_append (add at end) or google_sheets_write (overwrite existing cells), which are the two obvious confusable siblings. The agent must infer the choice 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_sheets_readRead spreadsheet rangeC

Read cell values from a range as rows of strings.

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.

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.

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

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.

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

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.

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.

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.

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.

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.

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

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.

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.

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

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.

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.

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.

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.

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

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 tasksB

List tasks in a task list (default list if not specified).

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
dueAfterNoOnly tasks due at or after this RFC3339 datetime.
dueBeforeNoOnly tasks due at or before this RFC3339 datetime.
pageTokenNoPage token from a previous result's nextPageToken.
tasklistIdNoTask list ID (default @default).

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. 'List' implies a read-only operation, but the description says nothing about pagination behavior (despite pageToken existing), what fields are returned, ordering, or whether completed tasks are included. For a 5-parameter tool this leaves notable 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.

Conciseness5/5

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

A single short sentence with zero waste, front-loading the action and resource. Nothing in it is redundant 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 simple read-only list operation with fully documented parameters and no output schema, the description is minimally sufficient, but it omits filtering/pagination context that would help an agent use the dueAfter/dueBefore and pageToken parameters together.

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 (account, dueAfter, dueBefore, pageToken, tasklistId) are already documented in the schema. The description only restates the default tasklistId behavior, adding no semantics beyond what structured data 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 and resource ('List tasks in a task list') and clarifies the default target list. It does not explicitly distinguish itself from the sibling google_tasks_list_lists (which lists the lists themselves), so an agent must infer that difference from the name, but the purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives such as google_tasks_list_lists or how to combine it with google_tasks_complete. The only contextual hint is the parenthetical default-list behavior, which is usage of a parameter rather than selection guidance.

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 listsC

List the account's Google Tasks lists.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageTokenNoPage token from a previous result's nextPageToken.

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 delivers almost nothing beyond the name. It does not state that the call is read-only, that results are paginated (pageToken exists only in the schema), what the default account behavior is, or roughly what a result 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?

A single front-loaded sentence with no waste, which is the right shape for a simple list operation. It is efficient but also so terse that the brevity costs it on other dimensions.

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?

There is no output schema and no annotations, so the description is the only place to explain that the response is a paged collection of list objects with ids and titles. None of that is present, leaving the agent without enough to plan the follow-up call 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 coverage is 100%, so both 'account' and 'pageToken' are fully documented in the schema, and the description adds no parameter meaning of its own. The baseline 3 applies 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?

States a specific verb and resource ('List the account's Google Tasks lists'), so the agent knows it enumerates task lists rather than tasks. However, it never disambiguates from the very similarly named sibling 'google_tasks_list', which lists tasks inside a list; a one-clause note would have made the distinction airtight.

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention of the natural next step (use google_tasks_list with a returned list id), and no exclusion against the similarly named task-listing sibling. The agent must infer the whole workflow 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_tasks_updateUpdate taskC

Update a task's title, notes, due date, or status (partial).

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.

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.

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.

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.

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.

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.

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 commentsC

List comment threads for a video, most recent first.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
videoIdYesYouTube video ID.
pageTokenNoPage token from a previous result's nextPageToken.
maxResultsNoMax results (default 20).

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 only discloses the sort order ('most recent first'). It says nothing about whether replies are nested in threads, how pagination terminates, quota/rate-limit costs of the YouTube Data API, or what happens when comments are disabled.

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 its brevity leaves the behavioral gaps noted elsewhere rather than being 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 read-only list tool with full schema coverage, the description covers the core intent, but with no output schema and no annotations it should at least hint at the response shape (threads containing replies, nextPageToken) and quota implications.

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 account, videoId, pageToken, and maxResults are all already documented in the schema. The description adds nothing parameter-specific beyond implying the ordering of results; baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb (List) and resource (comment threads for a video), which clearly separates it from google_youtube_insert_comment and google_youtube_set_comment_moderation. It does not explicitly name those siblings, but the read-vs-write distinction is obvious from 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 Guidelines2/5

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

No guidance on when to use this versus alternatives, no prerequisites (e.g., comments must be enabled on the video, required OAuth scope), and no mention of how to continue pagination. 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_youtube_list_playlistsList my playlistsC

List the user's YouTube playlists.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageTokenNoToken from a previous page's nextPageToken.
maxResultsNoMax playlists (default 25).

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, yet it says nothing about whether results are owned playlists or subscriptions, what order they come back in, or how pagination terminates. Only the safe-read nature is implicitly conveyed by "List".

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, front-loaded sentence with zero waste. It is efficient, though it verges on under-specification rather than being richly concise.

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

Completeness2/5

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

No output schema and no annotations; the description never indicates what a playlist record contains (ID, title) or how to use nextPageToken to continue, which matters for chaining into add_to_playlist or delete_playlist. For a 3-param list tool this leaves real 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% and all three parameters (account, pageToken, maxResults) are documented in the schema, so the baseline is 3. The description adds no additional meaning about parameter behavior or defaults.

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 the user's YouTube playlists"), which is distinguishable from siblings like google_youtube_create_playlist or google_youtube_add_to_playlist. It does not clarify scope versus google_youtube_my_videos or what "the user's" means (owned vs subscribed).

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention of alternatives, and no hint about paging through results or choosing an account. The agent must infer that pageToken/maxResults exist for pagination purely from the schema.

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.

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 videosC

List the user's uploaded videos.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageTokenNoToken from a previous page's nextPageToken.
maxResultsNoMax videos (default 25).

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, yet it says nothing about pagination behavior, result ordering, quota/rate limits, or what a response contains. For a read-only list this is lower risk, but the description adds essentially no behavioral context beyond the verb 'List'.

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 repetition. It is efficiently sized, though its brevity reflects under-specification rather than disciplined compression.

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 should explain at least the shape of returned items (video IDs, titles) and that results are paginated via pageToken. None of that is present, leaving the agent unable to predict the response or paging loop.

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 account, pageToken, and maxResults all documented in the schema, so the schema does the heavy lifting and a baseline 3 applies. The description adds nothing about how account selection or paging interacts with results.

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 the user's uploaded videos'), and the possessive 'user's' usefully distinguishes it from the general google_youtube_search tool. However, it does not explicitly name or differentiate against google_youtube_get_video or google_youtube_list_playlists, so the agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus google_youtube_search or google_youtube_get_video, and no mention of prerequisites such as needing an authenticated account or the account parameter selecting among multiple accounts. The agent is left to infer everything 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_youtube_remove_from_playlistRemove video from playlistC

Remove a video from a playlist by playlist item ID.

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.

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.

NameRequiredDescriptionDefault
accountNoAccount nickname to use.
pageTokenNoToken from a previous page's nextPageToken.
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 behavioral disclosure. It only states 'List the channels the user subscribes to,' implying a read operation but omitting any details about authentication requirements, pagination behavior, return format, or rate limits.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is as concise as possible for stating the core action, though it could add minimal value with one more sentence of context without becoming bloated.

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?

There is no output schema and no annotations. While the tool is a simple read-only list operation, the description does not explain what the list returns (e.g., channel objects) or how pagination works, leaving the agent to infer these from the schema parameters alone.

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, pageToken, maxResults) are already well documented in the schema. The description adds no meaning beyond the schema, which is acceptable given the high coverage, 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 the specific verb 'List' and the resource 'channels the user subscribes to,' which clearly identifies the operation. It implicitly distinguishes itself from siblings like google_youtube_my_videos and google_youtube_list_playlists by focusing on subscriptions, 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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The agent must infer usage 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_youtube_update_videoUpdate YouTube video metadataC

Update a video's title, description, tags or privacy status.

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.

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. 25 tool updatesv0.1.95
    • Changedgoogle_calendar_list_calendars1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_calendar_list_events1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_calendar_update_event2 fields changed
      • changedInput schema / properties / end / description
        Previous value: -"New end RFC3339 datetime."New value: +"New end RFC3339 datetime (or YYYY-MM-DD for all-day). Given alone, the start keeps the current duration."
      • changedInput schema / properties / start / description
        Previous value: -"New start RFC3339 datetime."New value: +"New start RFC3339 datetime (or YYYY-MM-DD for all-day). Given alone, the end keeps the current duration."
    • Changedgoogle_contacts_list1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_docs_delete_range4 fields changed
      • changedInput schema / properties / endIndex / description
        Previous value: -"0-based end index (exclusive)."New value: +"1-based end index (exclusive)."
      • changedInput schema / properties / endIndex / minimum
        Previous value: --9007199254740991New value: +2
      • changedInput schema / properties / startIndex / description
        Previous value: -"0-based start index (inclusive)."New value: +"1-based start index (inclusive)."
      • changedInput schema / properties / startIndex / minimum
        Previous value: --9007199254740991New value: +1
    • Changedgoogle_docs_insert_inline_image2 fields changed
      • changedInput schema / properties / index / description
        Previous value: -"0-based index inside an existing paragraph."New value: +"1-based index inside an existing paragraph."
      • changedInput schema / properties / index / minimum
        Previous value: --9007199254740991New value: +1
    • Changedgoogle_docs_insert_table2 fields changed
      • changedInput schema / properties / index / description
        Previous value: -"0-based index where the table is inserted."New value: +"1-based index where the table is inserted."
      • changedInput schema / properties / index / minimum
        Previous value: --9007199254740991New value: +1
    • Changedgoogle_docs_insert_text2 fields changed
      • changedInput schema / properties / index / description
        Previous value: -"Character index to insert at (default end of document)."New value: +"1-based character index to insert at (default end of document)."
      • changedInput schema / properties / index / minimum
        Previous value: -0New value: +1
    • Changedgoogle_drive_download1 field changed
      • changedInput schema / properties / saveToPath / description
        Previous value: -"Local path to write the raw bytes to (returns { savedTo } instead of data)."New value: +"Local path to write the raw bytes to (returns { savedTo }). Must be inside the save root: GOOGLE_MCP_SAVE_ROOT, default ~/Downloads."
    • Changedgoogle_drive_export1 field changed
      • addedInput schema / properties / saveToPath
        Added value: +{
        +  "description": "Local path to write the exported bytes to (returns { savedTo }). Must be inside the save root: GOOGLE_MCP_SAVE_ROOT, default ~/Downloads.",
        +  "type": "string"
        +}
    • Changedgoogle_drive_list1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_forms_responses1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Token from a previous page's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_gmail_drafts_list1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Token from a previous page's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_gmail_get_attachment2 fields changed
      • addedInput schema / properties / maxBytes
        Added value: +{
        +  "description": "Inline size limit in bytes (default 6 MB), measured on the JSON-RPC frame the client receives. Escaping can inflate a payload (base64 ~1.33x, NUL-heavy text ~7x). Ignored when saving to disk.",
        +  "exclusiveMinimum": 0,
        +  "maximum": 9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / saveToPath
        Added value: +{
        +  "description": "Local path to write the raw bytes to (returns savedTo and kind \"saved\" instead of an inline payload). Must be inside the save root: GOOGLE_MCP_SAVE_ROOT, default ~/Downloads.",
        +  "type": "string"
        +}
    • Changedgoogle_gmail_list1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_gmail_threads_list1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_sheets_delete_rows1 field changed
      • changedInput schema / properties / startIndex / minimum
        Previous value: --9007199254740991New value: +0
    • Changedgoogle_sheets_insert_rows1 field changed
      • changedInput schema / properties / startIndex / minimum
        Previous value: --9007199254740991New value: +0
    • Changedgoogle_tasks_list1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_tasks_list_lists1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_youtube_list_comments1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Page token from a previous result's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_youtube_list_playlists1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Token from a previous page's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_youtube_my_videos1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Token from a previous page's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_youtube_search1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Token from a previous page's nextPageToken.",
        +  "type": "string"
        +}
    • Changedgoogle_youtube_subscriptions1 field changed
      • addedInput schema / properties / pageToken
        Added value: +{
        +  "description": "Token from a previous page's nextPageToken.",
        +  "type": "string"
        +}
  2. 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
  3. 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
  4. 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

Disambiguation3/5

Most tools are scoped to a service plus action, but several pairs overlap: google_sheets_get vs google_sheets_read, google_docs_get vs google_docs_read, and google_calendar_create vs google_calendar_create_event. Descriptions differentiate most cases, but with 134 tools the agent still faces meaningful selection ambiguity.

Naming Consistency4/5

The set consistently uses snake_case with a google_<service>_<action> prefix, making most names predictable. Minor deviations such as google_gmail_threads_list, google_gmail_drafts_create, google_youtube_subscriptions, and google_youtube_my_videos keep it from perfect consistency.

Tool Count1/5

At 134 tools, this is far beyond any well-scoped range; even a multi-service aggregator would typically be split into per-service servers. The enormous surface creates high cognitive load and makes tool selection expensive.

Completeness4/5

Coverage is broad across Gmail, Calendar, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube, and Forms, with CRUD/lifecycle operations for most resources. Minor gaps remain, such as YouTube playlist item listing, comment deletion/update, and some Gmail send-as/filter update operations.

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