Skip to main content
Glama
bypixels

SEO MCP PRO

by bypixels

SEO MCP PRO

npm version CI License: MIT Node.js Version TypeScript

A Model Context Protocol (MCP) server that provides Claude with 121 tools for website operations, Google Marketing, SEO, performance analysis, security auditing, monitoring, accessibility testing, and more.


Table of Contents


Related MCP server: InfraOps MCP Server

Overview

seo-mcp-pro is a comprehensive MCP server built with TypeScript in strict mode. It connects Claude to the full spectrum of website management tasks -- from Google Analytics reporting and Tag Manager configuration to SSL analysis, Core Web Vitals monitoring, and WCAG accessibility audits.

  • 121 tools across 17 modules

  • Zero external runtime frameworks -- uses node:http for the optional dashboard

  • Built-in credential management with AES-256-GCM encryption (Pro)

  • Per-service rate limiting and in-memory caching


Free vs Pro

SEO MCP PRO follows a hybrid open source model. The core MCP tools are free and open source. Advanced reporting, the web dashboard, and credential management require a Pro license.

Feature

Free

Pro

Google Analytics 4 (GA4) tools

Yes

Yes

Google Tag Manager (GTM) tools

Yes

Yes

Google Search Console (GSC) tools

Yes

Yes

Google Ads tools

Yes

Yes

Google Business Profile tools

Yes

Yes

Indexing API tools

Yes

Yes

PageSpeed Insights / Lighthouse

Yes

Yes

Core Web Vitals / CrUX

Yes

Yes

Security auditing (SSL, headers, Safe Browsing)

Yes

Yes

SEO technical (robots, sitemaps, canonicals, etc.)

Yes

Yes

Monitoring (uptime, DNS, certificates)

Yes

Yes

Accessibility (WCAG, contrast, images)

Yes

Yes

Cloudflare integration

Yes

Yes

Utilities (tech detection, broken links, WHOIS)

Yes

Yes

Dashboard overview tool

Yes

Yes

Site Health Report (report_site_health)

--

Yes

SEO Audit Report (report_seo_audit)

--

Yes

Executive Summary (report_executive_summary)

--

Yes

Web Dashboard (browser UI on port 3737)

--

Yes

Encrypted Credential Store (AES-256-GCM)

--

Yes

SSE Real-time Monitoring

--

Yes

Activating Pro

Set your license key as an environment variable:

SEO_MCP_PRO_KEY=SMCP-XXXX-XXXX-XXXX-XXXX

Or add it to your .env file. The server logs the active tier on startup.


Quick Start

Install from npm

# Run directly with npx (no install needed)
npx seo-mcp-pro

# Or install globally
npm install -g seo-mcp-pro
seo-mcp-pro

Install from source

git clone https://github.com/bypixels/SEO-MCP-PRO.git
cd SEO-MCP-PRO
pnpm install
pnpm build
pnpm start

Development

pnpm dev         # Development mode with hot reload

Tool Modules

The server organizes its tools into 17 modules spanning 14 core categories:

Module

Description

Example Tools

Google Tag Manager

Accounts, containers, workspaces, tags, triggers, variables, versions

gtm_list_containers, gtm_create_tag, gtm_publish_version

Google Analytics 4

Accounts, properties, reports, realtime, funnels, custom dimensions/metrics, audiences, data streams, conversion events

ga4_run_report, ga4_run_realtime_report, ga4_run_funnel_report

Google Search Console

Sites, performance queries, top queries/pages, sitemaps, URL inspection, coverage

gsc_query_performance, gsc_top_queries, gsc_inspect_url

Google Ads

Customers, campaigns, ad groups, keywords, budgets, performance, search terms, keyword ideas

ads_list_campaigns, ads_create_campaign, ads_get_keyword_ideas

Google Business Profile

Accounts, locations, reviews, posts, insights, media

gbp_list_locations, gbp_reply_review, gbp_create_post

Indexing API

Submit URLs for indexing, check status, batch operations

indexing_publish, indexing_get_status, indexing_batch_publish

PageSpeed Insights

Page performance analysis via PSI API

psi_analyze

CrUX

Chrome UX Report data queries and historical trends

crux_query, crux_history

Core Web Vitals

LCP, INP, CLS aggregate reports

cwv_report

Lighthouse

Full Lighthouse audits via PSI API

lighthouse_audit

Security

SSL analysis, security headers, Safe Browsing, comprehensive audits

security_ssl_analyze, security_headers_check, security_audit

SEO Technical

Robots.txt, sitemaps, canonicals, redirects, structured data, headings, meta tags

seo_robots_analyze, seo_sitemap_analyze, seo_structured_data

Monitoring

Uptime, response time, DNS lookup/propagation, certificate checks

monitor_check_uptime, monitor_dns_lookup, monitor_certificate

Accessibility

WCAG audits, contrast checking, image alt text validation

a11y_audit, a11y_check_contrast, a11y_check_images

Utilities

Tech stack detection, broken link scanning, WHOIS, headers, screenshots

util_tech_detection, util_broken_links, util_whois_lookup

Cloudflare

Zones, DNS records, analytics, cache purge, firewall events

cf_get_zones, cf_create_dns_record, cf_purge_cache

Reports

Aggregated site health, SEO audit, executive summary

report_site_health, report_seo_audit, report_executive_summary


Configuration

All configuration is handled through environment variables. Create a .env file in the project root:

SEO MCP PRO License

Variable

Description

SEO_MCP_PRO_KEY

Pro license key (SMCP-XXXX-XXXX-XXXX-XXXX)

Google OAuth 2.0

Variable

Description

GOOGLE_CLIENT_ID

OAuth 2.0 client ID

GOOGLE_CLIENT_SECRET

OAuth 2.0 client secret

GOOGLE_REDIRECT_URI

OAuth redirect URI

GOOGLE_REFRESH_TOKEN

OAuth refresh token

Google Service Account

Variable

Description

GOOGLE_SERVICE_ACCOUNT_KEY_FILE

Path to service account JSON key file

GOOGLE_SERVICE_ACCOUNT_IMPERSONATE

Email address for domain-wide delegation

API Keys

Variable

Description

GOOGLE_PAGESPEED_API_KEY

PageSpeed Insights API key

GOOGLE_SAFE_BROWSING_API_KEY

Safe Browsing API key

Google Ads

Variable

Description

GOOGLE_ADS_DEVELOPER_TOKEN

Google Ads API developer token

GOOGLE_ADS_LOGIN_CUSTOMER_ID

Manager account customer ID

Cloudflare

Variable

Description

CLOUDFLARE_API_TOKEN

Cloudflare API token (preferred)

CLOUDFLARE_EMAIL

Cloudflare account email (legacy auth)

CLOUDFLARE_API_KEY

Cloudflare global API key (legacy auth)

Dashboard (Pro)

Variable

Description

Default

DASHBOARD_ENABLED

Enable the web dashboard

false

DASHBOARD_PORT

Dashboard HTTP port

3737

DASHBOARD_API_KEY

API key for dashboard access

--

DASHBOARD_AUTH_REQUIRED

Require authentication for dashboard

false


Claude Desktop Integration

Add the server to your claude_desktop_config.json:

{
  "mcpServers": {
    "seo-mcp-pro": {
      "command": "npx",
      "args": ["-y", "seo-mcp-pro"],
      "env": {
        "GOOGLE_PAGESPEED_API_KEY": "your-api-key",
        "SEO_MCP_PRO_KEY": "SMCP-XXXX-XXXX-XXXX-XXXX"
      }
    }
  }
}

Or if installed from source:

{
  "mcpServers": {
    "seo-mcp-pro": {
      "command": "node",
      "args": ["/path/to/SEO-MCP-PRO/dist/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret",
        "GOOGLE_REFRESH_TOKEN": "your-refresh-token",
        "GOOGLE_PAGESPEED_API_KEY": "your-api-key"
      }
    }
  }
}

Once configured, Claude will have access to all available tools. Ask Claude to analyze your website's performance, check SEO issues, audit security headers, or manage your Google Marketing stack -- all through natural language.


Web Dashboard (Pro)

The server includes an optional self-contained web dashboard for browser-based access to all tools and reports. Requires a Pro license.

SEO_MCP_PRO_KEY=SMCP-... pnpm dashboard

Or set DASHBOARD_ENABLED=true and SEO_MCP_PRO_KEY in your .env file and run pnpm start.

The dashboard is available at http://localhost:3737 and provides:

  • Tool browser -- Browse and execute all available tools

  • Site reports -- Site health, SEO audit, and executive summary reports

  • Real-time monitoring -- Server-Sent Events for live status updates

  • Credential management -- Save and manage API keys through the UI (AES-256-GCM encrypted at rest)

  • Status overview -- Authentication state, cache statistics, rate limit status


Dashboard REST API

When the dashboard is enabled (Pro), the following HTTP endpoints are available:

Health and Status

Method

Endpoint

Description

GET

/api/health

Server health check

GET

/api/status/auth

Authentication status

GET

/api/status/cache

Cache statistics

GET

/api/status/rate-limits

Rate limit status per service

Tools and Reports

Method

Endpoint

Description

GET

/api/tools

List all available tools

POST

/api/tool/:name

Execute a tool (JSON body = tool input)

GET

/api/dashboard?url=X

Dashboard overview for a URL

GET

/api/report/site-health?url=X

Site health report

GET

/api/report/seo-audit?url=X

SEO audit report

Settings and Credentials

Method

Endpoint

Description

GET

/api/settings/schema

Configuration schema

GET

/api/settings/credentials

Retrieve saved credentials

POST

/api/settings/credentials

Save credentials

POST

/api/settings/credentials/validate

Validate credentials

Monitoring

Method

Endpoint

Description

GET

/api/sse?url=X

Server-Sent Events stream for real-time monitoring


Architecture

src/
├── index.ts                  # Entry point
├── server.ts                 # MCP server setup and tool registration
├── licensing/                # License management (free vs pro)
│   ├── index.ts              # Key validation, isPro(), getLicenseTier()
│   └── tiers.ts              # Pro tool and feature definitions
├── auth/                     # Authentication layer
│   ├── oauth.ts              # Google OAuth 2.0 flow
│   ├── service-account.ts    # Service account authentication
│   └── token-manager.ts      # Automatic token refresh
├── tools/                    # 14 tool modules
│   ├── google/               # GTM, GA4, GSC, Ads, Business Profile, PageSpeed, Indexing
│   ├── performance/          # Core Web Vitals, CrUX, Lighthouse
│   ├── security/             # SSL, headers, Safe Browsing
│   ├── seo-technical/        # Structured data, robots, sitemaps, canonicals
│   ├── accessibility/        # WCAG audits, contrast checking
│   ├── monitoring/           # Uptime, DNS, certificates
│   ├── integrations/         # Cloudflare
│   ├── utilities/            # Screenshots, tech detection, broken links
│   └── reports/              # Site health, SEO audit, executive summary
├── dashboard/                # Optional HTTP dashboard (Pro)
│   ├── http-server.ts        # node:http server (zero frameworks)
│   ├── routes/               # API, SSE, and settings route handlers
│   ├── services/             # Credential store (AES-256-GCM), data orchestration
│   └── ui/                   # Self-contained HTML dashboard
├── utils/                    # Shared utilities
│   ├── rate-limiter.ts       # Per-service rate limiting (bottleneck)
│   ├── cache.ts              # In-memory + file cache
│   └── logger.ts             # Structured JSON logging (winston)
├── config/                   # Google API scopes, default values
└── types/                    # TypeScript type definitions

Design Principles

  • Zod validation on all tool inputs and outputs

  • Per-service rate limiting via bottleneck (e.g., GTM: 50 req/min, GA4: 100 req/min, GSC: 1200 req/day)

  • In-memory caching with 5-minute TTL (1000-item limit) and file cache fallback (1-hour TTL)

  • Structured logging with Winston in JSON format

  • Automatic token refresh for all Google API interactions

  • stdio transport for Claude Desktop; optional HTTP transport for the dashboard


Commands

Command

Description

pnpm install

Install dependencies

pnpm build

Build with tsup (ESM)

pnpm start

Run the MCP server (stdio transport)

pnpm dashboard

Run with web dashboard enabled (Pro)

pnpm dev

Development mode with hot reload

pnpm test

Run tests with vitest

pnpm lint

Lint with ESLint

pnpm typecheck

TypeScript type checking


OAuth Token Helper

To obtain a Google OAuth refresh token for local development:

node get-token.cjs

This interactive script reads GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET from your .env file, opens a browser for the OAuth consent flow, and writes the resulting refresh token back to .env.


License

MIT

Available Tools

121 tools
a11y_auditC

Runs an accessibility audit on a webpage using Lighthouse accessibility checks

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to audit
standardNo
includeHiddenNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the function without revealing traits such as network activity, runtime expectations, public-URL requirements, or whether the audit affects the target site. It does not contradict any annotations, but it adds little behavioral context beyond the one-line purpose.

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, direct sentence with no filler. It front-loads the action and resource, making it easy to parse quickly.

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, no output schema, and close siblings, the description is underspecified. It omits how the standard parameter changes the audit, what includeHidden does, and what kind of results the agent should expect. An agent can call it with only the required URL, but cannot make informed choices about optional inputs or interpret behavior confidently.

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

Parameters2/5

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

Schema description coverage is only 33%, so the description must compensate for the undocumented 'standard' and 'includeHidden' parameters. It does not, leaving the agent to guess what WCAG standards are selectable and what 'includeHidden' controls. The enum on 'standard' provides some self-documentation, but the description adds no parameter 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?

The description states a specific verb ('Runs an accessibility audit'), a resource ('a webpage'), and the method ('using Lighthouse accessibility checks'). It is clear and distinct from the focused a11y_check_contrast and a11y_check_images siblings, though it does not explicitly differentiate itself from the broader lighthouse_audit sibling.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as lighthouse_audit, psi_analyze, or a11y_check_contrast. An agent must infer when a full Lighthouse accessibility audit is preferred over more targeted checks or other analysis tools.

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

a11y_check_contrastC

Checks color contrast ratios for WCAG compliance

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
isBoldNo
fontSizeNo
backgroundNo
foregroundNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'checks', which implies a read-only operation, but it does not disclose whether a URL is required, whether direct color values suffice, whether a network request is made, or what the tool returns. This is minimal behavior information.

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, direct sentence with no wasted words. It front-loads the main purpose and does not repeat information already present in the tool name.

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

Completeness2/5

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

Given five undocumented parameters, no output schema, and no annotations, the description is too sparse to guide correct invocation. It does not clarify how 'url' relates to 'background' and 'foreground', whether WCAG AA/AAA levels are reported, or what response an agent should expect. The description is adequate only as a label, not as a complete tool contract.

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

Parameters2/5

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

Schema description coverage is 0%, and the input schema has no descriptions for any of the five parameters. The description gives a high-level hint that foreground/background colors are involved and that isBold/fontSize may matter for WCAG thresholds, but it does not explain any parameter's meaning, syntax, or which combinations are valid.

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 ('Checks') and resource ('color contrast ratios for WCAG compliance'), which clearly identifies the tool's core function. It is distinguishable from siblings like a11y_audit and a11y_check_images, though it does not explicitly name 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 alternatives, such as a11y_audit or a11y_check_images. The description implies its purpose but provides no context about which scenarios warrant calling it or what the tool requires.

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

a11y_check_imagesB

Checks images for proper alt text and accessibility

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check for image accessibility

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. 'Checks' implies read-only analysis, but it doesn't disclose return format, whether it reports issues, or any side effects, leaving the agent to infer behavior.

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

Conciseness4/5

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

One sentence, no filler, front-loaded with the core action. It is concise, though too terse to include richer context.

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

Completeness2/5

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

Simple tool with one param and no output schema, but the description doesn't describe the result shape or what 'proper alt text' analysis entails, so the agent may not know what to expect from 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?

Schema covers the only parameter with a description ('URL to check for image accessibility'), so the tool description adds no additional meaning beyond the schema. 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?

Description states a specific verb 'Checks' with resource 'images' and the target concern 'proper alt text and accessibility'. It distinguishes from siblings like a11y_audit (broader) and a11y_check_contrast (contrast-specific), though it doesn't name 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 Guidelines3/5

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

No explicit when/when-not guidance or alternative routing. The intended situation (verify image alt text on a page) is implied by the purpose, but there are no exclusions or comparisons to sibling audit tools.

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

ads_account_summaryC

Gets a summary of account performance metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
dateRangeYes
customerIdYesGoogle Ads Customer ID

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Gets a summary' implies a read-only operation, but it does not explain what metrics are included, how date ranges are interpreted, whether authentication/account access is required, or what limitations exist.

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 with no wasted words. It is front-loaded with the main action and resource, making it easy to parse quickly.

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 output schema, no annotations, and only a one-sentence description, the definition is incomplete. An agent is not told what metrics the summary contains, what the response structure looks like, or what edge cases may apply to the date range or customer ID.

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

Parameters2/5

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

Schema description coverage is only 50%, and the description adds no paramter-level meaning beyond the schema. It does not clarify the expected format of customerId beyond the schema's 'Google Ads Customer ID' or the semantics of the dateRange object, such as inclusivity or timezone handling.

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 ('Gets') and resource ('account performance metrics'), making the core purpose clear. It hints at account-level scope, which loosely distinguishes it from campaign-level ad tools, but it does not explicitly name or contrast any sibling tool.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool over alternatives like ads_campaign_performance or ads_get_campaign. The account-level phrasing implies a context, but no when-to-use or when-not-to-use information is provided.

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

ads_add_keywordsC

Adds keywords to an ad group

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYesKeywords to add
adGroupIdYesAd Group ID
customerIdYesGoogle Ads Customer 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 of explaining behavior. It only states that keywords are added and does not disclose consequences for duplicates, whether existing keywords are modified, required permissions, error conditions, or whether the operation is idempotent. For a mutation 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.

Conciseness4/5

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

The description is a single short sentence with no filler or redundancy. It is front-loaded and easy to parse, though it sacrifices useful context 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?

The tool is relatively simple and the schema fully documents the required parameters, but with no annotations and no output schema the description leaves behavioral questions open, such as duplicate handling, bid defaults, and whether finalUrl or status are optional. It is minimally sufficient but not complete for a mutating tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already documented in the input schema. The description adds no new semantic meaning beyond the schema, which is acceptable but earns only the baseline score.

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 (adds), the object (keywords), and the target context (ad group). It is specific enough to distinguish this from listing or fetching keywords among the sibling tools, though it does not name the platform or mention any constraints that would set it apart from similar create 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?

There is no guidance about when to use this tool versus related tools such as ads_list_keywords, ads_get_keyword_ideas, or ads_update_campaign. No preconditions, restrictions, or alternative conditions are mentioned, so an agent must infer appropriate 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.

ads_campaign_performanceC

Gets campaign performance metrics for a date range

ParametersJSON Schema
NameRequiredDescriptionDefault
dateRangeYes
campaignIdNo
customerIdYesGoogle Ads Customer ID

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral disclosure burden, but it only says 'Gets... metrics for a date range.' Read-only intent is implied by the word 'Gets,' but nothing is disclosed about aggregation level, which metrics are included, date-range limits, timezone handling, or the shape of the response.

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 wasted words: verb, object, and scope in that order. The brevity is clean and readable. The thinness of content is a completeness problem, not a structure problem, so it isn't double-penalized here.

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 metrics tool with 3 parameters, a nested dateRange object, and no output schema, a one-sentence description is insufficient. An agent needs to know what metrics are returned (impressions, clicks, conversions, cost), what the optional campaignId does, and which of the many performance-report siblings this replaces. The contract of the tool remains underspecified.

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

Parameters2/5

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

Schema description coverage is only 33% (customerId is the only described parameter; campaignId has no description and dateRange sub-fields only carry format strings). The description mentions 'date range' and 'campaign,' loosely mapping to two parameters, but it adds no semantics for the optional campaignId filter or what happens when it's omitted. Low schema coverage requires more compensation than this.

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+resource: 'Gets campaign performance metrics for a date range.' The 'performance metrics' phrasing clearly signals aggregated metrics data rather than campaign administration. However, it doesn't explicitly differentiate from near-siblings like ads_get_campaign, ads_list_campaigns, or ads_account_summary, so the 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?

There is no when-to-use guidance at all. The description never explains when to choose this over ads_search_term_report, ads_account_summary, gsc_query_performance, or gbp_performance_report, nor does it note that campaignId is an optional filter. The only hint is the 'date range' scope, which is implicit context rather than guidance.

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

ads_create_budgetB

Creates a campaign budget that can be assigned to campaigns

ParametersJSON Schema
NameRequiredDescriptionDefault
budgetYes
customerIdYesGoogle Ads Customer 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 carries the full behavioral burden. It states only that a budget is created; it does not disclose permissions, side effects, idempotency, defaults, or what the result of the creation looks like. This is insufficient for a mutation tool with no 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.

Conciseness4/5

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

The description is a single concise sentence with no filler. It front-loads the primary action and adds a useful qualifier, though it is somewhat repetitive with the tool name.

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

Completeness2/5

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

The tool has no output schema, no annotations, and a nested budget object, which raises the description's burden. The description is too sparse to fully guide an agent on delivery method semantics, defaults, required relationships, or expected results beyond what the schema already provides.

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

Parameters2/5

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

The schema already documents customerId and amountMicros, but schema coverage is only 50%, leaving deliveryMethod and explicitlyShared unexplained. The description adds no per-parameter meaning beyond the resource concept, so it fails to compensate for the gaps in the optional nested fields.

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

Purpose5/5

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

The descripton uses a specific verb and resource: 'Creates a campaign budget'. The added qualifier 'that can be assigned to campaigns' distinguishes it from ads_create_campaign and other ads tools.

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

Usage Guidelines3/5

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

The description implies a budgeting workflow — budgets are created so they can later be attached to campaigns — but it does not explicitly state when to choose this tool over ads_create_campaign or how it relates to ads_list_budgets. No alternatives or exclusions are named.

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

ads_create_campaignA

Creates a new Google Ads campaign with budget and bidding strategy

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignYes
customerIdYesGoogle Ads Customer ID

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool creates a campaign with budget and bidding strategy, but does not mention auth requirements, response behavior, whether a separate budget resource is created, or what side effects occur.

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 with no filler. It front-loads the primary verb and resource and earns its place without redundancy.

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 complex mutation tool with a nested campaign object, no output schema, and no annotations. The description is too minimal to fully guide the agent: it omits usage boundaries, behavior after creation, and guidance on conditionally relevant parameters like bidding strategy and targets.

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

Parameters3/5

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

The description adds high-level context that budget and bidding strategy are part of creation, which maps to schema fields like budgetAmountMicros and biddingStrategyType. However, schema description coverage is only 50%, and the description does not clarify optional fields such as targetRoas, targetCpaMicros, startDate, or endDate.

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: 'Creates a new Google Ads campaign.' It clearly differentiates itself from sibling tools like ads_update_campaign and ads_list_campaigns by emphasizing creation of a new campaign.

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

Usage Guidelines4/5

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

The description makes the creation use case clear, implying it is the right tool when a new campaign is needed. It does not explicitly name alternatives or state when not to use it, but the contrast with update/list siblings is reasonably evident.

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

ads_get_campaignA

Gets details of a specific Google Ads campaign

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYesCampaign ID
customerIdYesGoogle Ads Customer ID

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It clearly indicates a read-only 'get' operation, but provides no additional context about required authorization, possible errors, or what exactly is returned in the campaign details.

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

Conciseness5/5

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

The description is a single, well-formed sentence with no wasted words. It immediately identifies the action, resource, and 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 simple two-parameter getter with no output schema, the description is minimally adequate: an agent can infer that it should provide both IDs and expect campaign details. However, the vague term 'details' leaves ambiguity about response structure or filtering behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 both campaignId and customerId described in the schema. The description adds no extra meaning about the parameters, 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 ('Gets') and resource ('details of a specific Google Ads campaign'), which clearly distinguishes it from sibling tools like ads_list_campaigns or ads_get_customer. It conveys exactly what the tool does without ambiguity.

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

Usage Guidelines3/5

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

The description implies this tool is for retrieving a single campaign's details rather than listing campaigns, but it does not explicitly state when to use it versus alternatives like ads_list_campaigns. There is no clear exclusion or alternative guidance.

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

ads_get_customerB

Gets details of a specific Google Ads customer account

ParametersJSON Schema
NameRequiredDescriptionDefault
customerIdYesGoogle Ads Customer ID (without dashes)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description must carry the behavioral disclosure burden. It only states 'Gets details,' which implies a read operation, but does not mention auth requirements, rate limits, error behavior, or what fields are included in the 'details.' For a tool with no annotations, this is insufficient.

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

Conciseness5/5

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

One direct sentence with no filler. It is front-loaded with the verb and resource and is appropriately sized for a single-parameter getter.

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 no output schema, so the description should indicate what 'details' means (e.g., account name, currency, time zone, status). It does not, leaving the return shape underspecified. For a simple tool with one parameter, this is a notable gap, though the tool's low complexity prevents a lower score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 customerId as a string without dashes. The description adds no additional meaning to the parameter; it only refers to the customer account generally. Baseline 3 applies because the schema carries the 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 uses a specific verb ('Gets') and a specific resource ('details of a specific Google Ads customer account'). It clearly differentiates from siblings like ads_list_customers (specific vs list) and ads_get_campaign (customer account vs campaign). No ambiguity about what the tool acts on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 ads_list_customers or ads_account_summary. No exclusions or prerequisites are mentioned, leaving the agent to infer the use case 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.

ads_get_keyword_ideasC

Gets keyword suggestions based on seed keywords or URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlSeedNo
languageYesLanguage criterion ID (e.g., 1000 for English)
pageSizeNo
customerIdYesGoogle Ads Customer ID
keywordSeedNo
geoTargetConstantsYesLocation criterion IDs

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 indicates a read-only intent via 'Gets', but does not disclose output format, authentication requirements, rate limits, seed-selection behavior, or how errors 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.

Conciseness4/5

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

The description is a single front-loaded sentence with no filler. It is appropriately concise, but given the tool's parameter complexity, slightly more structured context would have been beneficial.

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 six parameters, nested objects, no output schema, and no annotations. The description only conveys the high-level purpose and leaves out important contextual details such as seed selection rules, return value shape, and pagination behavior, making it incomplete for reliable 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 50%, and the description adds some useful context by linking 'seed keywords or URL' to the keywordSeed and urlSeed parameters. However, it does not clarify whether one seed is required, whether both may be supplied, or what pageSize semantics are beyond the schema's min/max.

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 (gets keyword suggestions) and the inputs ('based on seed keywords or URL'). It is clear enough to identify what the tool does, though it does not explicitly distinguish it from sibling tools like ads_list_keywords or ads_add_keywords.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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, such as ads_list_keywords for existing keywords or ads_add_keywords for adding keywords. The intended use case is implied by the name but not explicitly stated.

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

ads_list_ad_groupsC

Lists ad groups in a Google Ads account

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
campaignIdNo
customerIdYesGoogle Ads Customer ID

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Lists' implies a read operation, but nothing is disclosed about default result limits, whether campaignId scopes the results or is optional, whether the status filter defaults to a specific value, or whether all accounts' ad groups are returned. The min/max on limit hints at a 10,000-cap, but the description itself is silent on behavior that an agent would need to know to call this correctly.

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 single sentence 'Lists ad groups in a Google Ads account' is efficiently front-loaded and free of filler. However, it errs on the side of under-specification rather than genuine conciseness — it is short because it omits valuable information, not because it has distilled everything important into few 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?

For a tool with 4 parameters, 25% schema coverage, no output schema, and no annotations, one clause is insufficient. It does not explain the customer → campaign → ad group hierarchy (whether campaignId is needed to disambiguate), the interaction between status and limit, default behaviors, or how the response is shaped. An agent cannot fully determine correct invocation parameters beyond the required customerId.

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

Parameters2/5

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

Schema description coverage is only 25% — only customerId has a description ('Google Ads Customer ID'). The description adds no meaning for campaignId (what does it filter by?), status (what does filtering do?), or limit (what is the default?). A 4-parameter tool with a bare description and sparse schema documentation leaves most parameter semantics undefined, which is a significant gap the description fails to compensate for.

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 ('Lists') with a clear resource ('ad groups') and scope ('Google Ads account'). It distinguishes itself from sibling tools like ads_list_campaigns and ads_list_keywords by naming 'ad groups' explicitly, so an agent can tell them apart. It could add more context about the campaign hierarchy, 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 given on when to use this tool versus the many ads_* siblings such as ads_list_campaigns, ads_list_keywords, or ads_get_campaign. There are no exclusions, no alternative recommendations, and no mention of the Google Ads hierarchy (customers → campaigns → ad groups) that would help an agent decide when a campaignId is necessary. The usage context must be entirely inferred 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.

ads_list_budgetsB

Lists campaign budgets in a Google Ads account

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
customerIdYesGoogle Ads Customer 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 carries the full burden of behavioral disclosure. It only states the operation ('Lists campaign budgets') and does not mention pagination, default limit, response shape, or whether shared budgets are included. The description does not contradict anything, but it leaves important behavior unspecified.

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 the action and resource front-loaded and no filler. Every word contributes to defining what the tool does.

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 list operation, the description plus schema is nearly sufficient for selecting and calling the tool. However, there is no output schema and the description does not specify default limits, pagination behavior, or return value shape, leaving some gaps an agent would need to resolve.

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

Parameters2/5

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

Schema description coverage is 50%, with customerId described but limit left to its min/max constraints. The description adds no parameter-level meaning, so the agent gets no help understanding how limit affects the listing or what customerId format is expected beyond the schema's one-line description.

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 ('Lists'), a distinct resource ('campaign budgets'), and an account scope. This clearly distinguishes it from sibling tools such as ads_list_campaigns and ads_create_budget without needing to inspect their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when to choose this tool over related Ads tools. It does not mention how it relates to ads_list_campaigns, ads_account_summary, or ads_create_budget, nor any prerequisites or exclusions, so 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.

ads_list_campaignsC

Lists campaigns in a Google Ads account

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
limitNo
statusNo
customerIdYesGoogle Ads Customer ID

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Lists' implies a read-only operation, but the description says nothing about whether removed campaigns are returned, what the default limit or pagination behavior is, how filters combine, or what access is required. Almost no behavioral detail is disclosed.

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

Conciseness4/5

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

A single seven-word sentence with no filler; every word earns its place and the purpose is front-loaded. Its brevity is appropriate for a simple list operation, though a second sentence on usage or defaults would have been more helpful.

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 tool has four parameters, two enums, no annotations, no output schema, and only 25% schema description coverage — so the description is the only channel for explaining defaults, filter interaction, pagination (the limit max of 10000 hints at it), and return shape. The single sentence covers none of these, leaving an agent to guess at runtime behavior.

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

Parameters2/5

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

Schema description coverage is only 25% (only customerId is described), so the description needed to compensate for the undocumented type, limit, and status parameters—but it does not. It adds no meaning about how these filters shape the result set; whatever semantics exist come from the enum values in the schema itself.

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

Purpose4/5

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

The description uses a specific verb ('Lists') and a specific resource ('campaigns in a Google Ads account'), making the core operation clear. However, it does not explicitly differentiate itself from sibling tools such as ads_get_campaign (single campaign) or ads_campaign_performance (metrics), 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 guidance on when to use this tool versus alternatives. It never mentions ads_get_campaign for retrieving one campaign, ads_campaign_performance for reporting, or ads_list_ad_groups for a different resource level, leaving the agent to infer selection purely 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.

ads_list_customersA

Lists all Google Ads customer accounts accessible to the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations available, the description carries the full behavioral burden. 'Lists' clearly signals a read-only operation, and 'accessible to the authenticated user' explains the authorization-based scope. It does not mention pagination or output details, but for a zero-parameter list tool the essential behavior 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?

The description is a single, front-loaded sentence with no filler. Every word contributes meaning: the action, the resource, the scope, and the authentication context.

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

Completeness4/5

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

For a simple zero-parameter list tool with no output schema, the description is largely sufficient. It clearly states what is returned conceptually—all accessible customer accounts—though it could optionally note that the returned customer identifiers are used by downstream ads_* tools.

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

Parameters4/5

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

The tool has zero parameters, so the input schema is trivially complete with 100% coverage. The description correctly does not try to invent parameter guidance. Per the guideline, 0 parameters warrants a baseline of 4.

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, 'Lists', and a specific resource, 'Google Ads customer accounts', while adding the important scope qualifier 'accessible to the authenticated user.' This clearly distinguishes it from sibling tools like ads_get_customer, which targets a single customer.

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

Usage Guidelines4/5

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

The description clearly conveys the context: use this when you need to enumerate all Google Ads customer accounts the current user can access. It does not explicitly name alternatives or exclusions, but the all-vs-single distinction is strongly implied by the wording.

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

ads_list_keywordsC

Lists keywords in a Google Ads account

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
adGroupIdNo
campaignIdNo
customerIdYesGoogle Ads Customer ID

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden for behavioral disclosure. It only states that the tool lists keywords, with no mention of read-only behavior, pagination, default filters, ordering, or required authentication context. This is a minimal statement of operation rather than a disclosure of behavioral traits.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no redundant content. It earns its place but is limited in substance; however, for a simple list operation, the structure is appropriate and 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?

With no output schema and no behavioral annotations, the description is too sparse to fully inform an agent. It does not clarify return format, whether adGroupId or campaignId are required filter contexts, what status defaults to, or how limits behave. The tool has five parameters, so the single-sentence description leaves significant gaps.

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

Parameters2/5

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

Schema description coverage is only 20%, with customerId being the only documented parameter. The description adds no meaning to limit, status, adGroupId, or campaignId, and does not explain how filters combine or affect results. Although the parameter names are somewhat self-explanatory, the description fails to compensate for the low schema coverage.

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

Purpose4/5

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

The description clearly states the verb 'lists' and the resource 'keywords in a Google Ads account,' making the basic purpose obvious. It does not explicitly differentiate from sibling tools like ads_add_keywords or ads_get_keyword_ideas, but the listing 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?

No guidance is provided about when to use this tool versus alternatives, nor are any exclusions or related tools mentioned. The description simply states what it does, leaving the agent to infer appropriate usage from the 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.

ads_search_term_reportC

Gets search terms report showing actual user queries

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
adGroupIdNo
dateRangeYes
campaignIdNo
customerIdYesGoogle Ads Customer ID
minImpressionsNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It indicates a read-only report, but does not mention pagination via limit, filtering by campaign/ad group, date range handling, report latency, data aggregation, or output shape. This is too thin for a report 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 short and front-loaded, with no wasted words. However, it is under-specified for a tool with six parameters and a nested object; the brevity reads more as omission than as disciplined conciseness.

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

Completeness2/5

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

Given the absence of annotations and output schema, plus low parameter coverage, the description is not complete enough for an agent to invoke the tool confidently. It lacks guidance on required inputs, filters, pagination, and what the returned report contains beyond 'actual user queries.'

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

Parameters1/5

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

Schema description coverage is only 17%, and the description adds no parameter-level meaning. It does not explain customerId, dateRange, campaignId, adGroupId, or limit. With such low coverage, the description was expected to compensate but instead merely restates the report's content.

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 ('Gets') and a concrete resource ('search terms report'), and adds clarifying context ('showing actual user queries') that distinguishes it from keyword-related tools like ads_list_keywords. However, it does not explicitly compare against sibling tools, so differentiation is implied 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 tool instead of alternatives such as ads_list_keywords or ads_get_keyword_ideas. The phrase 'actual user queries' hints at one use case, but no explicit context, 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.

ads_update_campaignC

Updates an existing Google Ads campaign settings

ParametersJSON Schema
NameRequiredDescriptionDefault
updatesYes
campaignIdYesCampaign ID to update
customerIdYesGoogle Ads Customer ID

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool updates an existing campaign, disclosing nothing about whether updates are partial (PATCH-like) or full replacement, what happens to omitted fields like name or endDate, required permissions, idempotency, or failure 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?

The description is a single efficient sentence with the verb front-loaded and no wasted words. The minor grammatical awkwardness of 'campaign settings' (rather than 'campaign's settings') is trivial and does not impede understanding.

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

Completeness2/5

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

This is a write operation with a nested schema, no output schema, and no annotations, yet the description is one sentence. It omits what the response contains, whether updates apply atomically or partially, and behavior on invalid campaignId or customerId. An agent lacks enough context to anticipate side effects or validate success.

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 67%: customerId and campaignId are described in the schema, but the nested 'updates' object has no schema description and is the most complex parameter. The description's phrase 'campaign settings' only vaguely maps to the updates object and adds no semantic detail such as budgetAmountMicros being in micros or endDate format expectations. The description fails to compensate for the undocumented nested parameter.

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

Purpose4/5

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

The description states a specific verb ('Updates') and resource ('existing Google Ads campaign settings'), and the word 'existing' implicitly distinguishes it from ads_create_campaign while the update verb separates it from read-only siblings like ads_get_campaign and ads_list_campaigns. However, it never names a sibling explicitly and 'campaign settings' is slightly vague about scope, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The sibling list contains ads_create_campaign and ads_create_budget, which are natural alternatives for create-versus-update and budget scenarios, but the description never references them or states any exclusion conditions. An agent must guess when an existing campaign requires update rather than creation.

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

auth_statusA

Get current authentication status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/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 without revealing what 'status' includes, whether it performs a network request, or what kind of response the agent should expect. This is a significant gap for a status-checking 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 meaning, making it appropriately concise for a simple status-checking 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 zero-parameter tool this is mostly complete, but with no output schema and no annotations, the agent has no idea what the return value looks like (e.g., a boolean, a status string, or an object with per-provider status). A brief note on the response shape would make it fully self-sufficient.

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 100% schema coverage, so there is nothing for the description to add. Per the rubric, a zero-parameter tool earns a baseline of 4, and the description satisfies that 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 a specific verb ('Get') and resource ('current authentication status'), making the tool's purpose immediately clear. It is distinct from sibling status tools like rate_limit_status and indexing_get_status, which reference different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 call this tool, such as verifying credentials before making authenticated requests or troubleshooting 401 errors. There are no stated alternatives or exclusions, leaving the agent to infer the context entirely.

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

cache_statsC

Get cache statistics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.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 of behavioral disclosure. It only implies a read operation via the word 'Get' but discloses nothing about what the statistics represent, what scope they cover, whether authentication is needed, or what the return format 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.

Conciseness2/5

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

The description contains only two substantive words, which is under-specification rather than genuine conciseness. There is no structure to evaluate — no scoping constraint, no example, no clarification of what 'cache statistics' means.

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 output schema and no annotations, the description needs to explain what the tool returns and why an agent would call it. 'Cache statistics' is too ambiguous to be complete — an agent cannot tell whether this is a Cloudflare metric, a server-level stat, or something else entirely.

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

Parameters4/5

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

The input schema is empty with zero parameters, so there is nothing for the description to clarify. The 0-parameter baseline of 4 applies; the description cannot add meaning where no parameters exist.

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 'Get cache statistics' is essentially a verb-prefixed restatement of the tool name 'cache_stats' — it expands 'stats' to 'statistics' but adds no new information. It never specifies which cache (e.g., Cloudflare, given the cf_purge_cache sibling) or which statistics are returned, so it borders on tautology rather than a genuine purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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. Sibling tools include cf_purge_cache, cf_get_analytics, and various monitor_* tools, but the description gives no context about how cache_stats relates to them or what situation calls for it.

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

cf_create_dns_recordB

Creates a new DNS record in a Cloudflare zone

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNo
nameYesRecord name (e.g., @ for root, www for subdomain)
typeYesRecord type
zoneIdYesCloudflare Zone ID
contentYesRecord content (IP, hostname, or text)
proxiedNo
priorityNo

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, but it only discloses that the tool mutates state by creating a record. It does not mention side effects, duplicate handling, propagation delays, permission requirements, or expected response behavior.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or redundancy. It conveys the core action and resource efficiently, though it sacrifices semantic richness 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 7 parameters, no annotations, and no output schema, this description is incomplete. It does not clarify return values, record-type-specific behavior, defaults for optional fields, or the relationship to other Cloudflare tools, leaving the agent with only the schema to work from.

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

Parameters2/5

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

The description adds no parameter information beyond what the schema already provides. With schema coverage at 57%, the description fails to compensate for undocumented fields like proxied, ttl, and priority, which are meaningful for DNS record creation.

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 ('Creates'), a concrete resource ('new DNS record'), and a scoped context ('in a Cloudflare zone'). This clearly distinguishes the tool from read-only siblings like cf_list_dns_records and cf_get_zones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 this tool should be used versus alternatives, no prerequisites (e.g., needing a zone ID from cf_get_zones), and no mention of when a different tool would be more appropriate. Usage context is only implied by the name and action.

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

cf_firewall_eventsC

Gets firewall events for a Cloudflare zone

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
untilNo
actionNo
zoneIdYesCloudflare Zone ID

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely restates that the tool fetches events and adds no context about pagination, date/time semantics, limits, rate restrictions, or possible failure modes.

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

Conciseness4/5

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

The description is a single sentence with no filler and leads with the verb and resource. It is concise, though the brevity comes at the cost of helpful detail.

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

Completeness2/5

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

With five parameters, no output schema, and no annotations, the description is too sparse. The optional filters 'since', 'until', 'limit', and 'action' are left ambiguous, so an agent cannot confidently construct a correct call beyond providing a zoneId.

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

Parameters2/5

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

Schema description coverage is only 20%, with only zoneId explained. The description does not define 'since', 'until', 'limit', or the intended meaning of 'action' despite the enum, so it fails to compensate for the low schema coverage.

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

Purpose4/5

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

The description identifies a specific action (Gets) and resource (firewall events for a Cloudflare zone), which is enough to distinguish it from unrelated siblings like cf_list_dns_records or cf_purge_cache. However, it does not explicitly contrast it with partially overlapping tools like cf_get_analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 about when to use this tool versus alternatives, nor any stated exclusions or prerequisites beyond the implied need for a zone. The description only conveys the resource type, leaving selection entirely to inference.

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

cf_get_analyticsC

Gets analytics data for a Cloudflare zone

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceYesStart time (ISO 8601 or relative like -1440 for last 24h in minutes)
untilNo
zoneIdYesCloudflare Zone ID

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden for behavioral disclosure. It only restates the basic operation without revealing metric types, granularity, rate limits, auth needs, or what 'analytics' actually contains.

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 concise and front-loaded, with no filler words. However, it is so minimal that it conveys little beyond the tool name itself, reducing its informational value.

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 too sparse for an agent to know what analytics metrics will be returned, how since and until interact, or what errors are possible. A caller is left mostly to inference.

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 67%: since and zoneId have descriptions, but until is only typed as a string with no explanation. The tool description adds no additional meaning about the parameters or their 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 uses a clear verb ('Gets') and identifies the resource ('analytics data for a Cloudflare zone'). It distinguishes the tool from sibling Cloudflare tools like cf_get_zones and cf_list_dns_records, though it does not specify which analytics metrics or time windows are included.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 tools such as dashboard_overview, cache_stats, or cf_get_zones. The description does not mention prerequisites like zone access, nor does it exclude any alternatives.

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

cf_get_zonesB

Lists Cloudflare zones accessible to the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
statusNo
perPageNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure, and it does convey that this is a read-only listing operation scoped to the authenticated user. However, it does not mention pagination behavior, default per-page values, rate-limit implications, or what fields the returned zones contain.

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 core action and scope 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, no output schema, and no parameter descriptions, this description is too thin. It does not explain what a returned zone looks like, how filtering or pagination works in practice, or how this list might feed into later Cloudflare operations. An agent can invoke it, but not confidently reason about its results.

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

Parameters1/5

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

Schema description coverage is 0%, and the tool description provides no explanation of the 'name', 'page', 'status', or 'perPage' parameters. The schema only gives types/enums, so the agent receives no semantic guidance beyond raw parameter names.

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

Purpose5/5

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

The description names a specific verb ('Lists'), a precise resource ('Cloudflare zones'), and a scope ('accessible to the authenticated user'). It is immediately distinguishable from sibling Cloudflare tools like cf_list_dns_records or cf_purge_cache.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 about when to use this tool versus alternatives, no suggested workflow, and no mention of sibling tools that might serve related purposes. The intended use is implied but never stated.

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

cf_list_dns_recordsC

Lists DNS records for a Cloudflare zone

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
typeNo
zoneIdYesCloudflare Zone ID
perPageNo

TDQS

C2.6/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. 'Lists' implies a non-destructive read, but nothing is said about pagination behavior, filtering semantics, rate limits, or what the response contains. For a tool with page/perPage parameters, the absence of any pagination note 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.

Conciseness3/5

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

One efficient sentence with no wasted words, but it largely restates the tool name (cf_list_dns_records → 'Lists DNS records'). This is under-specification rather than deliberate brevity; there was room to add filtering or pagination context without bloating the description.

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 5 parameters, no output schema, and no annotations, a single sentence is inadequate. Missing guidance on how zoneId is obtained, what type/name filters do, and pagination behavior leaves the agent to experiment or read the schema. The definition is not catastrophic (the resource is clear), but it is far from complete for a tool with this parameter count.

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

Parameters2/5

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

Schema description coverage is only 20%, so the description should compensate, but it mentions no parameters at all. Only zoneId has an inline description in the schema; name, page, type, and perPage are left to inference. The description adds zero value beyond what the parameter names already convey.

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 ('Lists') and resource ('DNS records for a Cloudflare zone'), clearly identifying a read operation scoped to Cloudflare. It is distinguishable from cf_create_dns_record (write) and cf_get_analytics by resource, though it doesn't explicitly contrast with monitor_dns_lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 cf_get_zones would be needed to obtain the zoneId, nor how it differs from monitor_dns_lookup or monitor_dns_propagation for DNS inspection. The agent must infer the use case 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.

cf_purge_cacheC

Purges Cloudflare cache for a zone

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
filesNo
hostsNo
zoneIdYesCloudflare Zone ID
prefixesNo
purgeEverythingNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It states that cache is purged, which signals a state-changing operation, but it does not mention whether the purge is irreversible, whether purgeEverything and selective purging are mutually exclusive, or what the impact is on cached content. This is a material gap for a destructive operation.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no wasted words. It is concise and readable, though it sacrifices useful detail; the brevity is a strength structurally but contributes to the incompleteness already penalized.

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 state-changing operation with no annotations, no output schema, and low parameter documentation. The description covers only the high-level action and scope, leaving out parameter relationships, expected return values, and operational constraints, so it is not complete enough for an agent to invoke reliably.

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

Parameters1/5

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

Schema description coverage is only 17%, with zoneId being the only documented parameter. The description adds nothing about tags, files, hosts, prefixes, or purgeEverything, and fails to explain the selective-versus-full purge relationship. An agent cannot determine the semantics of five of the six parameters from the description or 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 uses a specific action verb ('Purges') with a clear resource ('Cloudflare cache') and scope ('for a zone'). It is unambiguous about what the tool does, but it does not explicitly distinguish itself from sibling cache-related tools like cache_stats or cf_get_analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 rather than an alternative, when not to use it, or prerequisites such as zone ownership. The only implied context is that it is for purging cache, which is not enough to help an agent choose among the many sibling tools.

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

crux_historyC

Gets historical Chrome UX Report data for trend analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
originNo
metricsNo
formFactorNo

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. It discloses only the temporal nature of the data ('historical') and implies read-only via 'Gets'. It says nothing about how far back data goes, time-range granularity, whether both url and origin can be supplied, API quota limits, or failure behavior — all material for a data-fetching 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?

An 11-word single sentence with zero waste, front-loaded with the verb and resource. It is efficient, though the brevity trades away the parameters and alternatives value that other dimensions require.

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 four undocumented parameters, zero annotations, and no output schema, a one-liner is not enough. The agent is left without param semantics, valid metric values, usage boundaries vs crux_query, or any sense of the return shape — gaps that the description was the only place to fill.

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

Parameters1/5

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

Schema description coverage is 0% with four undocumented parameters, yet the description compensates not once by mentioning url, origin, metrics, or formFactor. An agent cannot know the difference between URL-level and origin-level CrUX data, which metrics are valid, or the meaning of the optional formFactor enum beyond its literal values.

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 ('Gets') and resource ('historical Chrome UX Report data') plus an explicit purpose ('for trend analysis'). The word 'historical' differingentiates it at least implicitly from the sibling crux_query, though it never names that tool and leaves the contrast to inference.

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

Usage Guidelines3/5

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

The phrase 'for trend analysis' provides implied usage guidance — an agent can infer it should be selected when historical/trend analysis is the goal rather than single-point queries. However, it gives no explicit when-not-to-use guidance and names no alternative (cRux_query, cWyv_report, psi_analyze), so the routing decision is left to the agent.

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

crux_queryC

Queries Chrome UX Report data for real-world performance metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
originNo
metricsNo
formFactorNo

TDQS

C2.6/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 burden of explaining behavior. It implies a non-destructive read operation, but it does not disclose whether authentication is needed, whether at least one of url/origin is required, how much data is returned, or what performance metrics are actually included. This is minimal transparency beyond the bare action.

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

Conciseness4/5

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

The description is a single concise sentence with no filler and the core action is front-loaded. However, it is short mainly because it omits important usage and behavioral details, so it is concise but not richly informative.

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 four parameters, no required flags, no output schema, and no annotations, the description leaves the agent unsure about how to form a valid call, what the response looks like, and what constraints apply. It communicates the basic purpose but is not complete enough for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to the four parameters: url, origin, metrics, and formFactor. It does not explain what each parameter controls, whether url and origin are mutually exclusive, or what metric strings are valid beyond the enum values already visible in the schema. The description entirely fails to compensate for the missing schema descriptions.

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

Purpose4/5

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

The description uses a specific verb, 'Queries', and identifies the resource, 'Chrome UX Report data', along with the purpose, 'real-world performance metrics'. This clearly states what the tool does, but it does not differentiate it from sibling tools like crux_history, cwv_report, or psi_analyze, which could 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?

No guidance is provided about when to use crux_query versus alternatives. There is no mention of whether to pass a url or origin, whether both are needed, what kind of report this returns, or when a sibling like crux_history would be more appropriate. The agent receives no routing help.

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

cwv_reportC

Generates a comprehensive Core Web Vitals report for a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze
includeHistoryNo

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 reveals nothing about data source (CrUX field data vs. synthetic measurement), what 'comprehensive' means (which metrics: LCP, INP, CLS), whether it performs external API calls subject to rate limits, how includeHistory alters behavior, or the format/latency of the report.

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

Conciseness4/5

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

A single sentence with no filler, front-loading the core action and resource. It is appropriately terse for a two-parameter tool, though the brevity does contribute to the under-specification penalized in 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?

With no output schema, no annotations, and a sibling cluster of performance tools (crux_query, crux_history, psi_analyze, lighthouse_audit), the description should do more to contextualize what the report contains and how it differs. An agent cannot determine whether this is the right tool for field-data CWV analysis, historical trends, or lab audits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 50%: the 'url' parameter is documented in the schema, and 'includeHistory' is self-explanatory from its name. The description adds little parameter-level insight beyond 'for a URL', which merely echoes the schema, but it does not actively mislead and the parameter meanings are reasonably inferable.

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 ('Generates'), a resource ('Core Web Vitals report'), and a target ('for a URL'), so the agent knows what the tool produces. However, it does not distinguish itself from performance-related siblings such as psi_analyze, crux_query, crux_history, or lighthouse_audit, which an agent could reasonably confuse it 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 the many overlapping performance and monitoring siblings. The description does not mention data source differences (e.g., field data from CrUX vs. lab data), speed, or any conditions under which an alternative would be preferable.

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

dashboard_overviewB

Generates a unified dashboard overview combining site health and SEO audit data with formatted markdown output

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze

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 does reveal that output is formatted markdown, which is useful, but it does not disclose whether the tool performs live checks, what data sources it aggregates, any authentication requirements, or failure behavior. For a tool combining multiple data categories, this lack of behavioral context 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.

Conciseness5/5

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

The description is one efficient sentence with no filler words. It front-loads the primary action and outcome, then adds the markdown format detail that is relevant for an agent choosing and invoking 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?

There is no output schema, so the description should clarify what the returned markdown contains, but it only vaguely references 'site health' and 'SEO audit data'. An agent cannot predict the structure, length, or key sections of the output, nor whether multiple network calls or specific permissions are needed. For a tool that aggregates diverse data, this is insufficient 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?

The input schema has 100% description coverage and the single parameter 'url' is already described as 'URL to analyze'. The tool description adds no additional meaning about how the URL is used or validated beyond schema information. Baseline 3 is appropriate since the schema fully documents the parameter.

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

Purpose4/5

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

The description specifies a clear action ('Generates') and resource ('unified dashboard overview') while indicating it combines site health and SEO audit data into markdown output. This distinguishes it from the many single-purpose sibling tools like seo_meta_analyze or monitor_check_uptime. It could be more precise about what 'site health' encompasses, but the core purpose is understandable.

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 phrasing implies this tool is for getting a consolidated overview rather than individual metric details, but it does not explicitly state when to use it versus calling monitor_* or seo_* tools directly. No alternatives are named and no exclusion criteria are given. The usage context is only implied, not explicitly guided.

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

ga4_get_accountB

Gets details of a specific GA4 account

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGA4 Account ID (numeric ID or full resource name)

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 burden of behavioral disclosure. It only states that details are retrieved, with no mention of authentication expectations, error behavior, response shape, or any consequences. For a simple read operation this is sparse 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.

Conciseness4/5

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

The description is a single concise sentence with no fluff or redundant wording. It is front-loaded with the main action and resource, though its brevity leaves room for additional helpful 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 one-parameter getter, the description is minimally viable but not complete. Since there is no output schema, the agent is not told what 'details' are returned, and no guidance is given about how this tool relates to the GA4 account listing 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%, and the accountId parameter is already described as 'GA4 Account ID (numeric ID or full resource name)'. The description adds no additional meaning or context about the parameter beyond what the schema already 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 identifies the verb ('Gets') and resource ('details of a specific GA4 account'), which makes the tool's purpose understandable. However, it does not explicitly distinguish it from sibling tools like ga4_list_accounts or ga4_get_property beyond the word 'specific'.

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 'specific GA4 account' implies this tool should be used when the caller already knows the account ID, rather than listing accounts. No explicit guidance is given about when to use this tool versus ga4_list_accounts or ga4_get_property, so the usage context is only implied.

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

ga4_get_metadataA

Gets available dimensions and metrics for a GA4 property

ParametersJSON Schema
NameRequiredDescriptionDefault
propertyIdYesGA4 Property ID

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 clearly indicates a read-only metadata operation, but it does not describe the response structure, whether custom dimensions/metrics are included, or how the propertyId is validated. The core behavior is visible, but deeper behavioral context is missing.

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 redundant phrasing. Every word contributes to defining the operation and the object it operates on.

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 low-complexity tool with one fully documented required parameter and no output schema, the description states both the action and the expected output type ('available dimensions and metrics'). It is nearly complete, though adding a note about using this before running GA4 reports would strengthen it further.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 documents the single parameter with 'GA4 Property ID', so schema coverage is 100%. The description adds no extra semantic detail about the parameter beyond what the schema already 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.

Purpose5/5

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

The description uses a specific verb ('Gets') and a precise resource ('available dimensions and metrics for a GA4 property'), making the tool's purpose immediately clear. It also distinguishes itself from sibling tools like ga4_get_property and ga4_run_report by focusing on metadata discovery rather than property settings or report 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 the tool is used when an agent needs to know which dimensions and metrics are available for a GA4 property, but it does not explicitly state when to prefer this over related tools such as ga4_list_custom_dimensions or ga4_run_report. There are no usage exclusions or alternative tool references.

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

ga4_get_propertyB

Gets details of a specific GA4 property

ParametersJSON Schema
NameRequiredDescriptionDefault
propertyIdYesGA4 Property ID (numeric ID or full resource name)

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 burden of behavioral disclosure, but it only says 'Gets details'. It does not mention auth requirements, rate limits, side effects, or what details are returned.

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 extraneous text. Every word contributes to defining the 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 one-parameter getter with no output schema, the description plus fully documented schema is sufficient for an agent to select and invoke it correctly. It is thin on behavioral expectations, but the operation is simple and non-destructive.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 propertyId, including accepted value forms, so the description adds no new parameter semantics. Baseline 3 applies because schema description coverage is 100%.

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

Purpose5/5

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

Description uses a specific verb ('Gets') and resource ('details of a specific GA4 property'), clearly distinguishing it from list-style siblings like ga4_list_properties and ga4_get_account. The scope 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 ga4_list_properties or ga4_get_account. The intended use is inferable from the name, but the description does not state prerequisites, alternatives, or exclusions.

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

ga4_list_accountsA

Lists all Google Analytics 4 accounts accessible to the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the disclosure burden. 'Lists' implies a read-only operation and the scope is stated, but there is no mention of pagination behavior, response structure, or any rate-limit considerations. The behavior is safe and predictable but not richly described.

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

Conciseness5/5

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

The description is a single sentence with no filler. The key verb, resource, and scope are front-loaded, making it immediately actionable for an agent.

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

Completeness3/5

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

For a simple list tool with no required parameters, the description covers the core purpose. However, the absence of an output schema and the lack of any mention of pagination means the agent is left to infer how to retrieve all accounts, especially when using pageSize and pageToken.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not mention pageSize or pageToken at all. While those parameter names are fairly self-explanatory and the schema provides min/max constraints, the description adds no semantic value about pagination or how these parameters affect the returned account list.

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

Purpose5/5

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

The description uses a specific verb 'Lists' and identifies the exact resource: all Google Analytics 4 accounts accessible to the authenticated user. This clearly distinguishes it from ga4_get_account, ga4_list_properties, and similar list tools for other systems like GTM or GBP.

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

Usage Guidelines3/5

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

The description implies usage when an agent needs to enumerate GA4 accounts, and the authentication context is helpful. However, it does not explicitly mention when to prefer ga4_get_account for a single account or explain how pagination should be handled when iterating over all accounts.

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

ga4_list_audiencesB

Lists configured audiences for a GA4 property

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo
propertyIdYesGA4 Property ID

TDQS

B3.1/5.0
Behavior3/5

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

Annotations are absent, so the description carries the full burden. 'Lists' does signal a safe read-only operation, which is the core behavioral trait. However, it does not disclose that reslts are paginated (despite pageSize/pageToken params), what 'configured' includes or excludes, permissions needed, or response format. Adequate for the primary behavior but thin on everything beyond it.

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

Conciseness5/5

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

One sentence with the verb 'Lists' front-loaded and zero fluff. Every word contributes meaning: action, resourse, scope. The description is as efficient as a definition can be.

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

Completeness3/5

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

For a simple tool — one required param, no nested objects, low polymorphic complexity — the sentence is sufficient to make a correct first call with propertyId. But with no output schema to document return values and two params left unexplained, the agent does not know the response shape, how pagination works, or what an audience entry contains. Minimum viable, no more.

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

Parameters2/5

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

Schema description coverage is only 33%, below the 50% threshold, so the description must compensate — and it does not. 'For a GA4 property' merely restates the schema's existing 'GA4 Property ID' for propertyId. pageSize (number bounded 1–200) and pageToken have no semantics in either the schema or the description, leaving two of three params unexplained.

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?

Verbs 'Lists' with a specific resourse 'configured audiences' scoped to 'a GA4 property' — unambigous and distinct. The resource name differentiates it from sibling ga4_list_* tools (accounts, properties, custom_dimensions, data_streams, conversion_events), though only implicitely; no explicit boundary statement. Clear enough for an agent to identify the right tool at a glance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 — no mention of sibling tools, no exclusions, no criteria like 'use ga4_list_data_streams for stream-level data instead'. The one-sentence description says nothing about when audiences are the right resourse or what consitutes a 'configured' audiience. An agent must infer usage purely 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.

ga4_list_conversion_eventsC

Lists conversion events for a GA4 property

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo
propertyIdYesGA4 Property 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 must carry the full burden of behavioral disclosure. It simply restates a read operation without explicitly confirming the read-only nature, explaining that pageSize/pageToken enable pagination, or noting any authorization requirements.

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

Conciseness4/5

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

The description is a single efficient sentence with no redundant words and is well front-loaded. However, its brevity leaves behavioral and parameter details to be filled by other sources.

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 output schema and no annotations, a complete description should clarify what a conversion event is, whether the response is paginated, and what the return payload contains. The current text only restates the tool name's meaning and leaves these key details unspecified.

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

Parameters2/5

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

Schema description coverage is only 33%, with propertyId described only as 'GA4 Property ID'. pageSize and pageToken lack descriptions, and the tool description does not compensate by explaining how pagination works or what propertyId targets.

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 'Lists' with the resource 'conversion events' scoped to 'a GA4 property'. This clearly distinguishes it from sibling list tools such as ga4_list_custom_dimensions, ga4_list_data_streams, and ga4_list_audiences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 about when to use this tool versus alternatives, nor any exclusions or related tool suggestions. For example, it does not clarify that ga4_run_report is more appropriate for querying conversion metrics rather than listing configured conversion event names.

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

ga4_list_custom_dimensionsB

Lists custom dimensions defined for a GA4 property

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo
propertyIdYesGA4 Property 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 of behavioral disclosure. It states the read-like action 'Lists' but does not disclose pagination behavior despite pageSize and pageToken existing in the schema, nor does it describe response shape or any access requirements. This leaves meaningful behavioral context unstated.

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 redundant words, front-loading the operation and resource. It is appropriately sized for a straightforward list operation and every word contributes meaning.

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 schema description covering only one of three parameters, the description is too terse. It omits pagination semantics, return value expectations, and any guidance about how to use pageToken or pageSize. An agent would need to infer important call details.

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

Parameters2/5

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

Schema description coverage is only 33%: only propertyId has a description. The description adds only the general context that dimensions are 'defined for a GA4 property', which indirectly reinforces propertyId's role, but it says nothing about pageSize or pageToken semantics. With low schema coverage, the description should compensate, and it does not adequately do so.

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 ('Lists') and resource ('custom dimensions defined for a GA4 property'), which clearly identifies the operation. It distinguishes itself from the sibling ga4_list_custom_metrics by naming a different resource type, so an agent can select it 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 Guidelines3/5

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

The context is implied: use this when you need the custom dimensions for a GA4 property. However, it provides no explicit guidance about when to prefer this over alternatives such as ga4_list_custom_metrics or other GA4 listing tools, and it does not mention pagination as a usage consideration.

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

ga4_list_custom_metricsB

Lists custom metrics defined for a GA4 property

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo
propertyIdYesGA4 Property ID

TDQS

B3/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 only states a simple listing action. It does not mention pagination behavior (pageSize, pageToken exist in schema), whether it returns all metrics by default, or any side effects (though listing is typically read-only). The presence of pageSize and pageToken implies pagination but the description does not disclose this or any 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 one clear, front-loaded sentence with no filler. It states the action and resource 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?

Given the tool has 3 parameters, one required, and no output schema, the description is minimal. It does not explain pagination parameters, the meaning of results, or how this relates to other GA4 tools. For a simple list tool this might be minimally viable, but the pagination parameters and low schema coverage create a 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 description coverage is only 33% because only propertyId has a description, while pageSize and pageToken lack descriptions. The tool description adds no parameter details. The schema gives basic type info (number with min/max, string), but pageSize and pageToken are not explained. The description does not compensate for the low 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 'Lists custom metrics defined for a GA4 property' uses a specific verb+resource and gives the scope (GA4 property). However, it does not explicitly differentiate from sibling tools like ga4_list_custom_dimensions, though the phrase 'custom metrics' does distinguish it from other GA4 list tools.

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

Usage Guidelines3/5

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

The description implies usage context: use when you need to list custom metrics for a GA4 property. However, it provides no explicit guidance on when not to use it or mention of alternatives such as ga4_list_custom_dimensions. The schema requires propertyId, which implies the user needs a GA4 property ID, but this is not stated in the description.

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

ga4_list_data_streamsC

Lists data streams for a GA4 property

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo
propertyIdYesGA4 Property ID

TDQS

C2.6/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It implies a read-only listing operation but does not disclose pagination behavior, result ordering, required authentication scope, or whether data streams are nested under a specific property. No mention is made of quotas, errors, or return characteristics.

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

Conciseness3/5

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

The description is a single, front-loaded sentence with no filler, which is concise. However, it is under-sized relative to the operational details an agent would need, so the brevity comes at the cost of completeness.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain what the response contains, how pagination is controlled, and how this call fits into the GA4 workflow. None of that is present, leaving the tool only minimally viable for an agent deciding whether and how to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is only 33%: pageSize and pageToken lack descriptions entirely. The description adds no detail about these two parameters or how pagination works, and it only minimally reinforces that propertyId identifies the GA4 property whose streams should be listed.

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 ('Lists') and a distinct resource ('data streams') with an explicit scope ('for a GA4 property'), which is enough to distinguish it from account-level and property-level listing tools. It does not explicitly name sibling alternatives, so it stops short of a perfect 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?

No guidance is provided about when to use this tool versus ga4_list_properties, ga4_get_property, or other GA4 list tools. The intended context is only implied by the tool's name and one-line description, with no mention of alternatives, required prerequisites, or follow-up actions.

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

ga4_list_propertiesA

Lists all GA4 properties, optionally filtered by account

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
accountIdNo
pageTokenNo

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 carries the full behavioral disclosure burden. The verb 'Lists' conveys read-only semantics and the phrase 'optionally filtered by account' discloses the filter behavior, but pagination behavior (indicated by pageSize/pageToken parameters), auth requirements, and response shape are not mentioned. It covers the essential safety-relevant trait but leaves operational details 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, front-loaded sentence with zero waste. The action verb leads, the resource follows, and the optional filter is stated in six words. 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 straightforward list operation, the core purpose and filter option are complete. However, with no annotations, no output schema, and 0% parameter coverage, the description leaves pagination mechanics (how pageSize and pageToken relate) to inference from parameter names, and says nothing about the response's list format or whether property metadata is nested. Adequate but with a clear gap.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for all three parameters. It adds meaning only to accountId via 'optionally filtered by account'; pageSize and pageToken receive no explanation of how they interact (e.g., pageToken being returned from a prior page). The description partially compensates for the coverage gap but leaves two of three parameters semantically under-documented.

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 (Lists), a precise resource (GA4 properties), and the scope (all, optionally filtered by account). This cleanly distinguishes it from sibling tools like ga4_get_property (single property fetch) and ga4_list_accounts (account-level enumeration), so an agent can select it confidently 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 Guidelines3/5

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

The purpose statement implies the usage context: call this when you need to enumerate GA4 properties, optionally scoped to an account. However, it provides no explicit when-to-use/when-not-to-use guidance and names no alternatives, leaving the agent to infer routing from sibling names alone.

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

ga4_run_funnel_reportC

Runs a funnel analysis report to understand user flow through defined steps

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
funnelYes
dateRangesYesDate ranges
propertyIdYesGA4 Property ID
funnelBreakdownNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations present, the description carries the full burden of behavioral disclosure. It only states that the tool 'runs' a funnel report, without clarifying that this is a read-only analytics operation, whether any data is returned, how results are structured, or whether any limits or side effects apply.

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

Conciseness4/5

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

The description is a single, concise sentence with no wasted words and the core action front-loaded. It is efficient, though slightly under-specified for the complexity of the input schema.

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 nested funnel object, multiple required parameters, no output schema, and sibling tools that also run reports, this description is too thin. It does not explain the required structure of funnel steps, the meaning of funnel options, or the difference from ga4_run_report, leaving important context missing.

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

Parameters2/5

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

Schema description coverage is only 40%, so the description should compensate by explaining key parameters. It does not mention propertyId, dateRanges, funnelBreakdown, or limit, and only vaguely alludes to 'defined steps.' This leaves agents without enough guidance to construct a valid funnel report.

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 ('runs') and resource ('funnel analysis report') and states the goal of understanding user flow through defined steps. This is clear and informative, though it does not explicitly differentiate from siblings like ga4_run_report or ga4_run_realtime_report.

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 understand user flow through defined steps' implies the tool is for funnel analysis, but it gives no explicit guidance on when to use this tool versus alternatives such as ga4_run_report. No exclusions or alternative routing are mentioned.

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

ga4_run_realtime_reportB

Gets real-time data from GA4 (last 30 minutes)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
metricsYesMetrics to include
dimensionsNo
propertyIdYesGA4 Property ID
metricFilterNo
dimensionFilterNo

TDQS

B3/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 disclosure burden. It only reveals the 30-minute recency constraint; it does not describe response shape, metric/dimension compatibility, filter semantics, real-time API limitations, or whether the operation is strictly read-only in practice.

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

Conciseness5/5

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

The description is a single sentence with no wasted words. It front-loads both the tool's purpose and its key time constraint, which is exactly what a concise tool description should do.

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 six parameters, no output schema, no annotations, and opaque filter objects, this description is too thin. An agent cannot confidently construct a fully valid request, especially knowing that metricFilter and dimensionFilter are complete unknowns and there is no guidance about response shape or parameter interactions.

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 only 33%, and the description adds no parameter-level meaning beyond what the schema already contains. The metricFilter and dimensionFilter fields are opaque empty schemas, and the description does nothing to clarify what valid filters look like, so an agent has to guess.

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 and resource: getting real-time data from GA4, with a clear 30-minute window. It does not explicitly name sibling tools like ga4_run_report, but 'real-time' and 'last 30 minutes' serve as meaningful differentiators.

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 30-minute real-time framing implies when to use this tool, but the description does not explicitly say how it compares to ga4_run_report or ga4_run_funnel_report. No exclusions or alternative conditions are provided, so guidance remains implicit.

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

ga4_run_reportC

Runs a custom report query against GA4 data

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
metricsYesMetrics to include
orderBysNo
dateRangesYesDate ranges to query (1-4)
dimensionsNo
propertyIdYesGA4 Property ID
metricFilterNo
keepEmptyRowsNo
dimensionFilterNo

TDQS

C2.7/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 disclosure burden, yet it only implies a read-only query. It does not disclose pagination behavior (limit/offset up to 100,000 rows), the size or shape of results, or GA4 quota/rate-limit considerations.

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, front-loading the action before the resource. It is short, but for a 10-parameter tool the brevity edges toward under-specification rather than disciplined concision, so not a 5.

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

Completeness2/5

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

For a tool with 10 parameters, no output schema, and zero annotations, one short clause is inadequate. The agent is left without a response-shape expectation, a pagination strategy, or any contrast against ga4_run_realtime_report / ga4_run_funnel_report / ga4_traffic_overview.

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

Parameters2/5

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

Schema description coverage is only about 30%, so the description must compensate, and it contributes nothing specific about any of the 10 parameters. The loose implication of 'custom report query' (dimensions + metrics + date ranges) is marginal; limit, offset, orderBys, metricFilter, dimensionFilter, and keepEmptyRows remain effectively undocumented.

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 ('Runs a custom report query against GA4 data'), and the word 'custom' implies ad-hoc dimensions/metrics rather than a canned or realtime report. However, it never names siblings like ga4_run_realtime_report or ga4_run_funnel_report, so differentiation is implicit rather than 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?

No when-to-use guidance exists: the description does not mention when custom reporting is appropriate, when to prefer ga4_run_realtime_report for fresher data, or when ga4_traffic_overview would suffice. An agent facing eleven GA4 siblings gets no routing signal from this description.

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

ga4_traffic_overviewC

Gets a comprehensive traffic overview including sources, pages, devices, and geography

ParametersJSON Schema
NameRequiredDescriptionDefault
compareToNo
dateRangeYes
propertyIdYesGA4 Property 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 of behavioral disclosure. It only states that the tool 'gets' an overview, implying a read-only operation, but it does not disclose the output format, whether the response is aggregated or row-level, pagination behavior, data limitations, or how the compareTo parameter affects the results. This is a significant gap for a tool with no annotation support.

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, front-loaded with the verb and resource, and contains no filler or redundant phrasing. It is easy to parse, though its brevity underspecifies important behavior and parameter semantics.

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 description plus schema gives the agent the required propertyId and dateRange, but there is no output schema and no annotations. The vague 'comprehensive traffic overview' scope and the undocumented compareTo parameter leave an agent uncertain about what the tool returns and when to choose it over sibling GA4 reporting tools, making confident invocation difficult.

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

Parameters1/5

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

The description adds no parameter-level information. The schema describes propertyId and the inner startDate/endDate fields, but compareTo has no description and dateRange as a whole is not described. With schema_description_coverage low, the description should compensate, but it mentions none of the parameters, leaving the meaning and usage of compareTo especially unclear.

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

Purpose4/5

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

The description clearly states a specific verb ('Gets') and resource ('comprehensive traffic overview') and lists the included dimensions: sources, pages, devices, and geography. It is easy to understand the tool's scope, but it does not explicitly compare itself to sibling GA4 report tools like ga4_run_report or ga4_run_funnel_report, leaving differentiation 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?

The description provides no guidance on when to use this tool versus alternatives such as ga4_run_report, ga4_run_realtime_report, or ga4_run_funnel_report. There are no exclusions, prerequisites, or recommended scenarios. The only hint is the tool name itself, which is not sufficient for an agent to decide between similar reporting tools.

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

gbp_create_postC

Creates a new post on a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
postYes
parentYesLocation resource name

TDQS

C2.6/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 it only reveals that the operation creates something. It does not mention side effects, Google Business Profile post limits, topic-type-specific payload behavior, or permission requirements. For a 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.

Conciseness3/5

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

The single sentence is front-loaded and contains no filler, which is good for scannability. However, it is undersized for a tool whose payload schema is deeply nested, so the brevity reads as under-specification rather than disciplined 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?

The tool is complex, with four topicType values that conditionally require event, offer, or callToAction blocks plus nested date and time objects, and there is no output schema or annotations to compensate. The description explains none of these interactions, so an agent must reverse-engineer the nested schema to build a valid post. This is adequate only for the simplest standard posts.

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

Parameters2/5

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

Schema description coverage is only 50% at the top level, and the large nested post object has no description, while the tool description adds no parameter semantics beyond the phrase GBP location, which duplicates the schema's Location resource name. The conditional meaning of topicType, which nested blocks apply to each value, is left undocumented by both the schema and the description.

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

Purpose4/5

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

The description states a specific verb (Creates) and a specific resource (a new post on a GBP location), so an agent can identify this as a write operation. It does not explicitly name sibling tools, but the create verb inherently distinguishes it from read/list siblings like gbp_list_posts and gbp_get_location. A clear but not maximally differentiated definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 choose this tool over gbp_list_posts or gbp_update_location, and no mention of prerequisites such as obtaining a valid location parent from gbp_list_locations. The only usage signal is the verb Creates, which restates the tool's purpose. Routing and precondition discovery are left entirely to the agent.

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

gbp_delete_review_replyB

Deletes a reply to a review

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull review resource name

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure, yet it only restates the mutation. It does not warn that deletion is permanent, explain that the review itself remains intact, or note any required permissions. For a destructive tool 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 six-word sentence, front-loaded with the verb and object, with no fluff. Every word earns its place and the structure is immediately scannable.

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

Completeness3/5

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

The tool has only one parameter and no output schema, so the description is close to sufficient. However, it lacks usage prerequisites and any behavioral warning for an irreversible action, leaving an agent to infer important context from sibling 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% and the parameter already specifies 'Full review resource name'. The tool description adds no additional meaning about how to obtain that name or whether it refers to the review or the reply resource, so it is neither harmful nor additive.

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

Purpose5/5

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

The description names a specific verb ('Deletes') and a specific resource ('a reply to a review'), which clearly distinguishes it from sibling tools like gbp_reply_review for creating/updating a reply and gbp_list_reviews for reading reviews. An agent can understand the exact operation from this line alone.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of gbp_reply_review or whether it should be used after listing reviews. The sibling list implies the context, but the description does not state any usage conditions, prerequisites, or exclusions.

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

gbp_get_insightsC

Gets performance insights for a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLocation resource name
endTimeNo
metricsNo
startTimeNo

TDQS

C2.9/5.0
Behavior3/5

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

The verb 'Gets' implies a read-only operation, which is useful, and there are no annotations to contradict or extend that. However, the description does not explain authentication needs, default date ranges, limitations, or what happens when metrics or time windows are omitted, leaving some behavioral uncertainty.

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 wasted words and the core purpose is front-loaded. It is concise, though it sacrifices useful detail in favor of brevity.

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

Completeness2/5

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

Given the low schema coverage, no output schema, no annotations, and a likely overlapping sibling 'gbp_performance_report', the description is not sufficient for an agent to confidently select and invoke the tool. It lacks guidance on parameter values, format, and tool differentiation.

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

Parameters2/5

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

Schema description coverage is only 25%, with only 'name' documented. The description adds almost nothing about the three undocumented parameters: 'metrics', 'startTime', and 'endTime'. It does not explain what metric values represent, the expected time format, or that these fields are optional.

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

Purpose4/5

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

The description clearly states a verb ('Gets'), a resource ('performance insights'), and a scope ('a GBP location'). It is easy to understand what the tool does, but it does not distinguish itself from the closely named sibling 'gbp_performance_report', which appears to cover similar functionality.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives like 'gbp_performance_report'. There is no mention of prerequisites, date-range conventions, or how it differs from other GBP tools, so an agent has to guess.

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

gbp_get_locationB

Gets detailed information about a specific GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull location resource name (accounts/{accountId}/locations/{locationId})

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations and no output schema, the description carries the full burden of behavioral disclosure. It communicates that this is a read operation ('Gets'), but it does not say what 'detailed information' actually includes, whether authentication is required, what happens for invalid names, or 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?

The description is a single short sentence with no redundant phrases or unnecessary details. It is appropriately sized for a one-parameter retrieval tool and is easy to parse quickly.

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

Completeness2/5

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

Although the parameter is well documented, there is no output schema and the description does not define what 'detailed information' returns. An agent would not know which location fields to expect or whether the tool is suitable for a specific data need. Low complexity helps, but the missing return-value description is a real gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents the only parameter `name` including its required format. The description adds only the word 'specific' and does not provide additional meaning beyond what the schema offers.

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 operation ('Gets detailed information') and the resource ('a specific GBP location'), and the word 'specific' helps distinguish it from listing tools like gbp_list_locations. It does not explicitly compare against sibling tools, but the verb+resource combination is unambiguous.

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

Usage Guidelines3/5

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

Usage context is only implied: the tool is for retrieving one specific GBP location rather than listing many. There is no explicit guidance on when to prefer this tool over gbp_list_locations or other location-related siblings, and no exclusion criteria.

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

gbp_list_accountsB

Lists all Google Business Profile accounts accessible to the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo

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 of behavioral disclosure. It does disclose that only accounts accessible to the authenticated user are returned, which is useful, but it omits pagination behavior despite the presence of pageSize and pageToken parameters. No mention is made of what the response contains or how to handle multiple pages.

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 meaning, making it highly efficient and easy to parse.

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 no output schema and no annotations, so the description must explain enough for an agent to invoke it and interpret results. It covers the basic purpose and auth scoping but leaves out pagination handling and the shape of the returned account list, which are important for a complete call.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no information about pageSize or pageToken. The parameter names are somewhat self-explanatory, but the description does not compensate for the lack of schema-level documentation, so the agent must guess at pagination 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 uses a specific verb ('Lists') and resource ('Google Business Profile accounts accessible to the authenticated user'), making it immediately clear what the tool does. It also distinguishes itself from sibling tools like gbp_list_locations and ga4_list_accounts by naming the product and resource exactly.

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

Usage Guidelines3/5

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

The description implies when to use the tool—whenever a list of GBP accounts is needed—but provides no explicit guidance about alternatives or exclusions. It does not mention that location-level operations should go to gbp_list_locations, nor does it state a preference for when to call this tool first.

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

gbp_list_locationsC

Lists all locations/businesses for a GBP account

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo
pageSizeNo
accountIdYesGBP Account ID or full resource name
pageTokenNo

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 signals a read-only operation but says nothing about pagination despite the pageToken/pageSize parameters, filter behavior, or response characteristics — and the phrase 'all locations' slightly over-promises given paginated results.

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 — the verb comes first and the scope is stated compactly. It is appropriately lean, though it borders on under-specification, which is penalized in 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?

Despite being a relatively simple tool, the absence of annotations, an output schema, and parameter documentation means the description must carry more weight. Missing context includes filter syntax, pagination flow, and what fields each returned location contains, so an agent cannot fully anticipate the call or its result.

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

Parameters2/5

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

Schema description coverage is only 25% (only accountId is documented), and the description adds no parameter detail beyond what the schema already provides. The syntax of 'filter' and the meaning of 'pageToken' are entirely undocumented, so an agent cannot know how to construct valid filter strings or complete a multi-page iteration.

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 ('Lists'), resource ('locations/businesses'), and scope ('for a GBP account'), which clearly distinguishes it from sibling tools like gbp_get_location (single location) and gbp_list_reviews (reviews, not locations). It is clear and unambiguous about the tool's fundamental operation.

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

Usage Guidelines3/5

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

Usage is implied by the verb 'Lists' — an agent can infer this is for enumerating a GBP account's locations, likely to obtain IDs for downstream tools like gbp_get_location or gbp_update_location. However, there is no explicit when-to-use vs when-not-to-use guidance, 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.

gbp_list_mediaC

Lists media items (photos, videos) for a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesLocation resource name
pageSizeNo
pageTokenNo

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 that media items are listed and provides no information about pagination, authentication, ordering, filtering, or what happens when the parent location is invalid.

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. The verb and primary object are front-loaded, making it easy to scan and understand.

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 relatively simple, and the parameter names (parent, pageSize, pageToken) are somewhat self-explanatory. However, with no annotations, no output schema, and only 33% schema coverage, the description leaves pagination behavior and return format to inference.

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

Parameters2/5

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

Schema description coverage is only 33%, with pageSize and pageToken lacking descriptions in the schema. The description adds minimal context for parent ('for a GBP location') but does not compensate for the undocumented parameters or clarify their expected values.

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 ('Lists'), the resource ('media items'), the content type ('photos, videos'), and the scope ('for a GBP location'). It is clear and distinguishes this from related tools like gbp_list_posts, though it does not explicitly name the sibling it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 such as gbp_list_posts or gbp_upload_media. There is no mention of prerequisites, exclusions, or context that would help an agent decide between similar GBP tools.

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

gbp_list_postsB

Lists posts for a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesLocation resource name
pageSizeNo
pageTokenNo

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 states the action and does not mention pagination, ordering, authentication needs, or that the operation is read-only. For a listing tool this is minimally informative but still lacks behavioral context beyond the verb 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?

The description is a single, front-loaded sentence with no filler. Every word contributes to identifying the tool's core action and scope.

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, no output schema, and an incomplete parameter schema, the one-sentence description leaves too much unspecified: return value shape, pagination behavior, page size limits, and how the parent location resource name is obtained. It is minimally usable but not complete for an agent selecting and invoking the tool correctly.

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

Parameters2/5

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

Schema description coverage is only 33%, with pageSize and pageToken left undocumented in both the schema and description. The description adds only that the parent is a GBP location, which the schema already states, and provides no meaning for the pagination parameters.

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 ('Lists') plus a clear resource ('posts') scoped to a GBP location. It is immediately distinguishable from sibling tools like gbp_create_post, gbp_list_reviews, and gbp_list_media.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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, no mention of prerequisites, and no explicit read-only framing. Some usage can be inferred from 'Lists posts,' but the description never states a selection condition or contrasts with related GBP tools.

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

gbp_list_reviewsC

Lists reviews for a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesLocation resource name (accounts/{accountId}/locations/{locationId})
orderByNo
pageSizeNo
pageTokenNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral disclosure burden, and only the verb 'Lists' implies a non-destructive read. It does not disclose pagination behavior, default ordering, which review fields are returned, or authorization prerequisites, all of which matter for a 4-param list 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?

A single six-word sentence with the verb front-loaded and zero filler. It is appropriately compact, though its brevity reflects under-specification more than deliberate pruning of redundant detail.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the one-liner is insufficient: an agent cannot tell what review fields are returned, the default sort order, how to paginate past 50 reviews, or when to prefer this over gbp_list_posts. The orderBy enum hints at sorting, but the description never connects its behavior to the parameters.

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

Parameters2/5

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

Schema description coverage is only 25% (just 'parent' is documented), so the description needed to compensate for orderBy, pageSize, and pageToken, but it adds nothing. It only restates that the target is a location, which the schema already conveys for parent.

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 ('Lists'), a distinct resource ('reviews'), and a scope ('a GBP location'), which cleanly separates it from siblings like gbp_list_posts and gbp_reply_review. It is unambiguous about what the tool does, though sibling differentiation relies on the resource noun alone rather than explicit 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 guidance on when to use this tool versus gbp_list_posts, gbp_get_insights, or other read tools for the same location. No preconditions (e.g., location ownership, verified business), exclusions, or alternatives are mentioned anywhere in the description.

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

gbp_performance_reportC

Generates a comprehensive performance report for a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
dateRangeYes
locationNameYesLocation resource name

TDQS

C2.6/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. It states only that a report is 'generated' — it does not clarify that this is a read-only analytics operation, what metrics the report contains, how far back data extends, or whether generation is immediate or time-consuming. The vague word 'comprehensive' adds no concrete 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.

Conciseness3/5

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

The description is a single efficient sentence with no wasted words, which is structurally sound. However, the qualifier 'comprehensive' is filler that provides no real information, and the brevity comes at the cost of missing usage and behavioral context.

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

Completeness2/5

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

With no output schema and no annotations, the description is the only source of context, yet it does not explain what the report covers, how it relates to gbp_get_insights, or how the locationName parameter should be formatted. For a two-parameter tool with a nested object, this one-liner leaves critical gaps an agent would need to resolve before calling it.

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 only 50%, and the description adds zero parameter information. The schema documents date formats but not the expected resource-name pattern for locationName (e.g., accounts/{id}/locations/{id}) or any date-range constraints, and the description fails to compensate for these gaps.

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 ('Generates') with a clear resource ('performance report for a GBP location'), which is immediately understandable. However, it does not differentiate from the sibling tool gbp_get_insights, which likely also returns performance-related data for a GBP location, so an agent could plausibly pick the wrong one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 offered on when to choose this tool over gbp_get_insights or the other GBP siblings. The description implies a reporting use case but gives no exclusions, prerequisites, or alternative routing, leaving the agent to infer the selection criteria.

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

gbp_reply_reviewC

Replies to a review on a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull review resource name
commentYesReply 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 must carry the behavioral burden, but it only states the action. It does not disclose whether an existing reply is replaced, whether creating a reply is idempotent, what permissions are required, or what the outcome/response will be. For a mutation tool, this is a notable transparency 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 clear sentence with no filler, and it accurately front-loads the core action. It is appropriately concise for a simple tool, though it lacks supporting behavioral detail that other dimensions account for.

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 tool with complete schema descriptions, the minimal definition is mostly sufficient for direct invocation. However, with no annotations and no output schema, it leaves out important context such as whether the reply is created or updated and what success looks like, so it is only minimally complete.

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

Parameters3/5

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

Schema coverage is 100%, and both parameters are already described in the input schema: 'name' as the full review resource name and 'comment' as reply text. The description adds no additional meaning beyond the schema, so it meets the baseline but does not exceed 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?

The description uses a specific verb and resource: 'Replies to a review on a GBP location.' It clearly identifies the action and is distinguishable in practice from the sibling gbp_delete_review_reply, though it does not explicitly contrast itself with that alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance about when to use this tool versus alternatives such as gbp_list_reviews or gbp_delete_review_reply. It implies the use case by naming the action, but provides no explicit context, exclusions, or routing information.

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

gbp_update_locationC

Updates a GBP location's information

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull location resource name
locationYes
updateMaskYesComma-separated list of fields to update

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It only reveals that the operation mutates; it does not explain updateMask partial-update semantics (only listed fields are modified), what happens to fields not in the mask, authentication requirements, or response behavior. For a mutating 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?

One short sentence with no filler and the verb front-loaded ('Updates'). Every word earns its place. It loses the fifth point because the brevity is achieved by omitting substance rather than by distilling rich content.

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

Completeness2/5

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

The tool has moderate complexity (3 required params, nested object, field-mask semantics) with no annotations and no output schema. The one-sentence description doesn't cover what the call returns, how updateMask governs partial updates, valid values for the nested fields, or how to source the location name. An agent cannot correctly invoke this tool without looking elsewhere.

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 67% (name and updateMask have descriptions; location does not). The description adds nothing about parameters beyond what the schema already states. The nested location object's fields (title, websiteUri, phoneNumbers) lack semantic descriptions, and the description fails to compensate for the undocumented location parameter or clarify how updateMask interacts with the location object.

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 ('Updates') and a resource ('a GBP location's information'), and the sibling set (gbp_get_location, gbp_list_locations) makes the read-vs-write distinction inferable. However, 'information' is vague and doesn't indicate which fields can be updated, and the sentence borders on merely restating the tool name. It's minimally viable but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 are mentioned. An agent would not know that the location 'name' should first be obtained via gbp_list_locations or gbp_get_location, nor when to choose this over other GBP mutation tools like gbp_create_post or gbp_reply_review. The description provides zero decision support.

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

gbp_upload_mediaB

Uploads a photo or video to a GBP location

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesLocation resource name
mediaItemYes

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 of behavioral disclosure, but it only states the basic action. It does not mention side effects, authentication requirements, upload constraints, whether media is fetched from sourceUrl, or how the API processes the upload.

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 direct sentence that front-loads the essential purpose without wasted words. It is as concise as possible for the basic action it names.

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 nested parameters, no annotations, and no output schema, the description is too thin. An agent would not know how to construct mediaItem correctly, whether sourceUrl is required for upload, or what happens after the call.

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

Parameters2/5

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

Schema description coverage is only 50%, and the description adds little beyond what the schema already shows. It clarifies that 'parent' is a location and 'mediaFormat' can be PHOTO or VIDEO, but it does not explain the nested mediaItem fields such as sourceUrl, category, or description.

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 ('Uploads'), a concrete resource ('GBP location'), and the object being uploaded ('a photo or video'). This clearly distinguishes the tool from siblings like gbp_list_media or gbp_create_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 such as gbp_create_post or gbp_list_media. There are no conditions, prerequisites, or exclusions stated.

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

gsc_coverage_reportA

Gets index coverage summary showing valid, error, warning, and excluded page counts with detailed issue breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlYesSite URL (e.g., https://example.com/ or sc-domain:example.com)

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 burden; it discloses the read-only nature through 'Gets' and details the returned data—counts and issue breakdowns. It does not mention data freshness or verification prerequisites, but for a reporting tool these omissions are minore.

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

Conciseness5/5

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

Single sentence, front-loaded with action and resource, and includes the most important output details without 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 one-parameter read-only report, the description plus schema is sufficient to invoke the tool correctly. The absence of an output schema is compensated by listing the report contents, though a bit more detail on the issue breakdown would push it to 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 describes the sole parameter siteUrl with a format example, so schema coverage is 100%. The description adds no parameter-specific semantics, hence 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?

Description uses the specific verb 'Gets' and identifies the resource as 'index coverage summary' with concrete output categories (valid, error, warning, excluded counts plus issue breakdown). This clearly differentiates it from the many sibling GSC tools focused on performance, sitemaps, and URL inspection.

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

Usage Guidelines4/5

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

Description clearly states what the tool provides, so an agent can identify it when coverage status is needed. It does not explicitly name alternatives or exclusions, so it stops short of the highest tier.

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

gsc_delete_sitemapB

Deletes a sitemap from Search Console

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlYesSite URL
feedpathYesFull URL of the sitemap to delete

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of disclosing side effects. While 'Deletes' signals a destructive action, it does not state whether the operation is irreversible, whether it affects the live sitemap file, what confirmations are required, or what happens after deletion. For a destructive 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.

Conciseness4/5

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

The description is a single front-loaded sentence with no filler. It is concise and readable, though it omits contextual details that other dimensions cover. As pure conciseness and structure, it is effective.

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 simple and its parameters are well documented, but the absence of annotations and output schema leaves the description as the only context. It lacks guidance on destructive consequences, authorization requirements, and appropriate preconditions, so an agent calling this tool has an incomplete picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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%, and both parameters have meaningful descriptions in the schema: 'Site URL' and 'Full URL of the sitemap to delete'. The description adds no additional parameter-level meaning, but the schema already handles parameter documentation adequately.

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 ('Deletes'), a specific resource ('sitemap'), and a specific platform ('Search Console'), which clearly distinguishes it from sibling tools like gsc_submit_sitemap and gsc_get_sitemap. There is no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when to use this tool versus alternatives, nor does it mention prerequisites such as site ownership, authentication, or whether the sitemap must already exist. The agent must infer usage context from the operation name alone.

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

gsc_get_siteB

Gets information about a specific site in Search Console

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlYesThe site URL (e.g., https://example.com/ or sc-domain:example.com)

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 burden of behavioral disclosure. It does convey that the operation is a read/get, which implies safety, but it says nothing about response shape, error behavior, acccess requirements, or supported site-URL nuances. This is minimally transparent for a simple getter but leaves key behavioral details unspecified.

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, direct sentence that communicates the action and resource without redundancy. It is front-loaded and appropriately sized for a one-parameter 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, single-parameter read tool, the description plus schema is minimally viable. However, with no output schema and no annotations, the absence of any information about the return payload or edge cases (e.g., invalid siteUrl, unverified site) leaves a noticeable gap in 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%, with the siteUrl parameter already documented via examples and format hints ('https://example.com/ or sc-domain:example.com'). The tool description adds no additional parameter meaning, 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 clearly states the action ('Gets information') and the specific resource ('a specific site in Search Console'). It distinguishes itself from gsc_list_sites by emphasizing the singular 'specific site', though it does not explicitly name alternatives or clarify what 'information' includes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 choose this tool over siblings like gsc_list_sites, gsc_query_performance, or gsc_get_sitemap. There are no exclusions or context clues beyond the basic 'specific site' framing, so the agent is left to infer the right usage.

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

gsc_get_sitemapC

Gets detailed information about a specific sitemap

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlYesSite URL
feedpathYesFull URL of the sitemap

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 says 'Gets detailed information' without specifying what details are returned, whether auth is required, whether it can fail (e.g., sitemap not found), or any rate-limit implications. For a read tool this is a moderate gap, but the description does not actively mislead.

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

Conciseness4/5

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

A single sentence that is concise and front-loads the core action and object. No filler or redundant repetition. It is appropriately compact for a simple read operation, though it lacks valuable specifics that could be added 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?

With no output schema and minimal annotation coverage, the description should clarify what 'detailed information' means to help an agent know what to expect. The two parameters are fully covered by the schema, and the tool is relatively simple, but the vague phrase leaves a notable gap. It is adequate for basic selection 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 coverage is 100%, so the schema already documents both parameters with descriptions ('Site URL' and 'Full URL of the sitemap'). The description adds minimal extra meaning beyond the schema, but it does reinforce that feedpath identifies the specific sitemap being fetched. This meets the baseline for high schema coverage.

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

Purpose4/5

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

States a specific verb ('Gets') and resource ('detailed information about a specific sitemap'), clearly distinguishing it from gsc_list_sitemaps by the word 'specific'. However, it does not explicitly contrast with seo_sitemap_analyze, which could also be seen as analyzing sitemap details, so it lacks 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?

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., needing a Google Search Console property), no stated preference over gsc_list_sitemaps or seo_sitemap_analyze, and no exclusion criteria. The usage context is left entirely to inference 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.

gsc_inspect_urlB

Inspects a URL to see its index status, mobile usability, and rich results

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlYesSite URL (e.g., https://example.com/)
languageCodeNo
inspectionUrlYesFull URL to inspect

TDQS

B3.4/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 what the tool reports but doesn't disclose whether it triggers a fresh Google index inspection (which can be rate-limited), whether it requires special permissions, whether results are live or cached, or what happens if the URL isn't in the index. These are meaningful behavioral gaps for a tool that may make an external inspection 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?

The description is a single clear sentence that front-loads the main purpose and lists concrete outputs. It is appropriately concise, though it misses a chance to include a usage hint or rate-limit note in the same space.

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 moderately complex as a GSC URL inspection utility, and there is no output schema or annotations. The description covers the basic inputs and result categories, but lacks important context like what the response contains, whether the inspection is live, and how it relates to other GSC tools. It is minimally adequate but not complete for an agent deciding whether to call it versus gsc_coverage_report.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 67%: siteUrl and inspectionUrl are documented with examples, but languageCode has no description. The description doesn't clarify what languageCode does or provide format guidance beyond the schema. It adds no meaning beyond the schema, so baseline 3 applies, with the small 33% uncovered parameter lowering the score slightly.

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

Purpose5/5

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

The description clearly states it inspects a URL and explicitly lists the key outputs: index status, mobile usability, and rich results. It uses a specific verb ('Inspects') and resource ('a URL'), and the outputs distinguish it from the many other SEO/analytics sibling tools.

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

Usage Guidelines3/5

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

The description implies a diagnostic use case (checking a specific URL's Google Search Console status), but it doesn't explicitly state when to choose it over siblings like gsc_coverage_report or gsc_query_performance. There is no when-not-to-use guidance or mention of prerequisites such as site verification or property access.

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

gsc_list_sitemapsA

Lists all sitemaps submitted for a site in Search Console

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlYesSite URL (e.g., https://example.com/)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. 'Lists' clearly signals a read-only operation and 'submitted' scopes the data, but the description does not mention output shape, pagination, auth/verification requirements, or edge cases. For a simple list tool this is acceptable but not rich.

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

Conciseness5/5

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

The description is a single concise sentence with no filler. Every word contributes: the verb, scope ('all'), qualifier ('submitted'), and platform ('Search Console') are all relevant and front-loaded.

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

Completeness4/5

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

For a low-complexity tool with one fully documented required parameter and no output schema, the description is nearly sufficient. It makes clear what the tool returns (a list of submitted sitemaps) and what it operates on (a site in Search Console). It stops short of describing return fields or no-results behavior, but an agent can invoke it correctly based on available information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 the single siteUrl parameter, including an example format. The tool description adds no additional meaning beyond the schema, 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.

Purpose5/5

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

The description gives a specific verb ('Lists'), a specific resource ('all sitemaps submitted'), a scope ('for a site'), and a platform ('Search Console'). This makes it easy to distinguish from sibling tools like gsc_get_sitemap (single sitemap) or gsc_submit/delete_sitemap (write operations).

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 'Lists' and the scope 'for a site' imply a read-only listing use case, but the description does not explicitly say when to choose this over alternatives or when not to use it. No exclusions or alternative tool mentions are provided, so usage guidance is mostly inferred.

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

gsc_list_sitesA

Lists all sites in Google Search Console accessible to the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 behavioral burden. 'Lists' clearly signals a non-destructive read operation, and 'accessible to the authenticated user' adds valuable scoping context about auth-based filtering of results. It omits the return shape and whether unverified properties are included, but for a parameterless list call these are minor 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 14-word sentence with zero filler. The verb, resource, and scope are front-loaded, and every word earns its place. It could not be meaningfully shortened without losing information.

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

Completeness4/5

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

The tool is low complexity: no parameters, no annotations, no output schema, no nested objects. The description tells an agent exactly what operation occurs and under what access constraints. The only missing element is the return format (a list of site entries), which is reasonably inferable from the 'Lists' verb and tool purpose.

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, so there is nothing the description needs to add beyond the schema. Per the rubric baseline for 0 parameters, this is a 4.

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 ('Lists') with a clear resource ('all sites in Google Search Console') and an access scope ('accessible to the authenticated user'). The 'all sites' phrasing distinguishes it from the sibling gsc_get_site, which by naming convention targets an individual site.

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 rather than stated: the verb 'Lists' and the contrast with gsc_get_site suggest this is the enumeration entry point, but the description never explicitly says to call this first to discover available site URLs before using site-targeted tools like gsc_get_site or gsc_query_performance. For a zero-parameter tool the gap is moderate, not severe.

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

gsc_query_performanceC

Queries search performance data from Google Search Console

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
endDateYesEnd date in YYYY-MM-DD format
siteUrlYesSite URL (e.g., https://example.com/ or sc-domain:example.com)
rowLimitNo
startRowNo
dataStateNo
startDateYesStart date in YYYY-MM-DD format
dimensionsNo
aggregationTypeNo
dimensionFilterGroupsNo

TDQS

C2.6/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, but it only states that the tool queries data. It does not mention pagination (startRow/rowLimit), dataState behavior, filtering semantics, or required GSC verification/permissions.

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

Conciseness4/5

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

The description is a single clear sentence with no filler and gets the main point across quickly. It is concise, though it sacrifices helpful detail.

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

Completeness2/5

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

For a tool with 10 parameters, no output schema, and no annotations, a one-sentence description is insufficient. It omits return-value shape, default behavior, and the meaning of core options, leaving an agent to infer too much.

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

Parameters1/5

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

Schema description coverage is only 30% and the description adds no parameter details. Seven parameters (type, rowLimit, startRow, dataState, dimensions, aggregationType, dimensionFilterGroups) are undocumented in both the schema and description, so the agent has no semantic guidance for them.

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

Purpose4/5

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

The description clearly identifies the action (queries) and the resource (search performance data from Google Search Console), and the tool name reinforces this. However, it does not differentiate itself from sibling tools like gsc_top_queries or gsc_top_pages, which also query GSC performance data.

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

Usage Guidelines2/5

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

No guidance is provided about when to choose this tool over alternatives or in which scenario it applies. An agent cannot tell this from gsc_top_queries or gsc_coverage_report based on the description alone.

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

gsc_submit_sitemapA

Submits a sitemap for crawling in Search Console

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlYesSite URL
feedpathYesFull URL of the sitemap to submit

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 says 'submits a sitemap for crawling' without explaining whether the action is idempotent, whether it requires prior site verification, what happens if the sitemap already exists, or what the response indicates. For a mutation-like operation, this is sparse.

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 extraneous wording. It communicates the core action and destination in minimal space.

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 operation is simple and both parameters are fully documented in the schema. However, because there is no output schema and no behavioral details such as prerequisites or error handling, the description is adequate but not fully complete for an agent that needs to understand the submission outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 documents both parameters fully with 100% coverage, so the baseline is 3. The description adds no parameter-level details beyond the schema, but 'for crawling in Search Console' gives some context about the purpose of the feedpath.

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 ('submits'), a specific resource ('sitemap'), and the target system ('Search Console'). It is clearly distinct from sibling tools like gsc_list_sitemaps, gsc_get_sitemap, and gsc_delete_sitemap because it is the action of submitting rather than listing, retrieving, or deleting.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when a sitemap needs to be submitted to Search Console. However, it provides no explicit comparison with alternatives, no exclusions, and no guidance about prerequisites such as site verification or whether the sitemap must already exist.

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

gsc_top_pagesC

Gets top performing pages for a site

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
siteUrlYesSite URL
dateRangeYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It only says 'Gets top performing pages,' which implies a read operation but does not explain how performance is measured, whether results are sorted, what metrics are returned, or whether site verification 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?

The description is a single sentence with no filler and the key action is front-loaded. Despite being under-specified in content, this is a model of 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?

With no output schema and no annotations, the description needs to provide more context about return values, ordering, limit behavior, and date-range handling. It only states that top pages are returned, which is not enough for an agent to fully understand what to expect.

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

Parameters1/5

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

Schema description coverage is only 33%, so the description needs to compensate for the poorly documented parameters. It does not: 'for a site' only restates the siteUrl concept, and dateRange and limit receive no explanation beyond their schema names. An agent gets little help understanding parameter semantics.

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

Purpose4/5

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

The description uses a clear verb and resource: 'Gets top performing pages for a site.' This distinguishes it from sibling tools like gsc_top_queries because it focuses on pages rather than queries. It does not specify what metric defines 'top performing,' 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 provides no explicit guidance on when to use this tool versus alternatives such as gsc_query_performance, gsc_top_queries, or gsc_coverage_report. No exclusions, conditions, or alternative tool routes are mentioned, 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.

gsc_top_queriesC

Gets top search queries for a site with summary statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
filtersNo
siteUrlYesSite URL
dateRangeYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses only that the tool returns top queries and summary statistics, but says nothing about aggregation, sorting, pagination, data limits, quota usage, or authentication requirements.

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

Conciseness4/5

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

The description is a single concise sentence with no filler. It is front-loaded and readable, though the phrase 'summary statistics' is vague and could have been replaced with a more specific behavior.

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 nested parameters, no output schema, no annotations, and many similar siblings. The description is too thin to fully guide an agent on constructing correct inputs or interpreting results, especially around filters, date ranges, and limits.

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

Parameters2/5

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

Schema description coverage is only 25%, and the description adds little parameter-level meaning. It implies the presence of top N queries but does not explain how limit, filters, or dateRange affect the results, nor does it describe the nested filter structure.

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: it gets top search queries for a site and includes summary statistics. It is clear enough on its own, but it does not explicitly differentiate from the very similar sibling gsc_query_performance, 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 guidance about when to use this tool versus alternatives like gsc_query_performance or gsc_top_pages. The agent is left to infer the appropriate context from the name and description.

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

gtm_create_tagB

Creates a new tag in a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
accountIdYesGTM Account ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace 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 of behavioral disclosure. It only restates that a tag is created without mentioning workspace prerequisites, name/type validation, trigger ID requirements, whether the tag is immediately active, or what the response contains. It implies mutation but adds little beyond the tool name.

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

Conciseness5/5

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

A single, front-loaded sentence says exactly what the tool does with no filler. Every word earns its place, and the structure is highly scannable for an agent.

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

Completeness3/5

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

For a simple create operation with a well-structured schema and 75% parameter coverage, the description plus schema is minimally viable. However, with no annotations, no output schema, and no mention of return values or prerequisites, there are clear gaps an agent must infer, especially around workspace context and the nested tag object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 75%, and the three ID parameters are already described in the schema. The description itself adds no parameter-level meaning and does not clarify the nested 'tag' object structure beyond what the schema provides. Baseline 3 is appropriate because the schema already does most of the documentation work.

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 ('Creates'), a concrete resource ('a new tag'), and the scope ('in a GTM workspace'). This clearly distinguishes it from sibling tools like gtm_create_trigger and gtm_create_variable, and the word 'new' separates it from update/delete 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?

The description provides no guidance on when to use this tool versus alternatives such as gtm_list_tags, gtm_update_tag, or gtm_create_trigger. There is no stated context, prerequisite, or exclusion, so an agent gets no help selecting between related GTM tools.

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

gtm_create_triggerB

Creates a new trigger in a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
triggerYes
accountIdYesGTM Account ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

TDQS

B3.4/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 states the mutation operation. It does not disclose that newly created triggers likely exist in the workspace draft until a version is created/published, whether trigger names must be unique, or what response is returned.

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 stating the core operation and scope.

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 mutating tool with nested trigger configuration, multiple filter arrays, no annotations, and no output schema, a one-sentence description is under-specified. It omits creation lifecycle context, response shape, naming constraints, and filter semantics, making it harder for an agent to understand full behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 documents accountId, containerId, and workspaceId, and provides structural detail for the trigger object. The description adds no parameter-level semantics, but the 75% schema coverage keeps this at baseline rather than below.

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 'Creates' with a clear object 'a new trigger' and scope 'GTM workspace'. This cleanly distinguishes the tool from siblings like gtm_list_triggers, gtm_get_trigger, gtm_update_trigger, and gtm_delete_trigger.

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

Usage Guidelines3/5

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

The verb 'Creates' implies this tool is for new triggers, and sibling CRUD tool names clarify the surrounding alternatives. However, the description never explicitly states when to choose this over update/delete, nor does it mention prerequisites such as an existing workspace or container.

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

gtm_create_variableC

Creates a new variable in a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
variableYes
accountIdYesGTM Account ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that a variable is created and gives no detail about required GTM permissions, whether the workspace must be in a certain state, what validation is performed, or what the response contains. The mutation aspect is clear from 'Creates', but significant behavioral context is missing.

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 fluff. It front-loads the core meaning and is easy to scan. It could offer slightly more detail, but it earns its place without unnecessary length.

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

Completeness2/5

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

There is no output schema, no annotation, and the description does not communicate what type of response to expect or what state changes will occur. For a creation mutation with four required parameters and nested objects, this is under-specified. An agent knows it creates a variable but lacks information about validation, effects on the workspace, or return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 documents accountId, containerId, workspaceId, and gives brief descriptions for the variable sub-fields (name, type, parameter). The description adds no parameter meaning beyond what the schema provides. With 75% schema coverage, the schema does most of the work here, so a 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 clearly identifies the action ('Creates') and the resource ('a new variable in a GTM workspace'). While it is somewhat generic, it does distinguish itself from siblings like gtm_update_variable or gtm_delete_variable through the explicit 'Creates a new' wording.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 gtm_create_tag or gtm_create_trigger, nor are prerequisites or special conditions mentioned. The intended context must be inferred from the name and sibling tool list.

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

gtm_create_versionC

Creates a new container version from a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesVersion name
notesNo
accountIdYesGTM Account ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID to create version from

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 of behavioral disclosure. It only restates the basic mutation — creating a version — without mentioning side effects on the workspace, whether versions are immutable snapshots, whether an existing draft version is replaced, or what the response contains. For a state-changing operation, this is a material 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 fluff — the verb 'Creats' leads and every word carries meaning. It is appropriately terse but borders on under-specification given five parameters and no annotation support, so it does not quite reach the standard of a two-sentence definition that also routes to alternatives.

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, this description is incomplete. An agent is not told what the call returns, whether the new version becomes the draft/latest version, or what preconditions apply (e.g., workspace must have unpublished changes). The sibling set includes gtm_publish_version and gtm_get_live_version, so the workflow position of this step is left entirely to 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 80%: accountId, containerId, workspaceId, and name are already described in the schema, leaving only 'notes' undocumented. The tool description adds no parameter-level meaning beyond what the schema provides, so it earns the baseline 3 rather than higher. The 'from a workspace' phrasing merely restates the workspaceId schema description.

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

Purpose4/5

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

The description states a specific verb and resource: 'Creates a new container version from a workspace.' This clearly separates it from read/list siblings like gtm_list_versions, gtm_get_version, and gtm_get_live_version. It does not explicitly differentiate from gtm_publish_version, the closest behavioral sibling, but the create-versus-publish distinction is reasonably inferable 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 is given on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., the workspace containing changes to capture), no reference to gtm_publish_version as the follow-on step, and no exclusion conditions. An agent must infer the workflow position entirely 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.

gtm_delete_tagB

Deletes a tag from a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYesGTM Tag ID to delete
accountIdYesGTM Account ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

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 disclosure burden. It accurately says 'Deletes' but does not state whether deletion is permanent, whether it can be reverted via workspace discard or publish semantics, what side effects occur, or what errors result from nonexistent 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?

One clear front-loaded sentence with no filler. It conveys the operation and scope 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 destructive tool with no annotations and no output schema, the description is too thin: it omits response behavior, irreversibility, and any required permissions or publish implications. The schema covers inputs, but not the consequences an agent needs to safely invoke 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 coverage is 100%, so each parameter is already documented. The description adds no relational or operational detail beyond the schema, matching the baseline for 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?

Names a specific verb and resource: 'Deletes a tag from a GTM workspace.' This clearly differentiates it from sibling tools that create/update/list/get tags and from delete operations on triggers/variables.

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 action and resource: use it when a tag should be deleted. However, there is no explicit guidance about when not to use it, prerequisites, or alternatives such as gtm_update_tag for disabling a tag instead.

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

gtm_delete_triggerB

Deletes a trigger from a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
triggerIdYesGTM Trigger ID to delete
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace 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 carries the full burden for behavioral disclosure. It plainly states the destructive action, but it does not warn that deletion is permanent, mention required GTM permissions, or note that deleting a trigger may break tags that reference it.

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

Conciseness5/5

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

The description is a single sentence that front-loads the action and resource without any filler. Every word earns its place.

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 with no annotations and no output schema, yet the description only states the basic operation. Missing context includes permanence, side effects on referencing tags, permission requirements, and what happens after deletion, so the description is not complete enough for safe 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 has 100% description coverage, documenting accountId, containerId, workspaceId, and triggerId. The description adds no parameter-specific semantics, but the schema already provides the necessary meaning, 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.

Purpose5/5

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

The description states an unambiguous verb ('Deletes'), a clear resource ('a trigger'), and scope ('from a GTM workspace'). This distinguishes it from sibling tools like gtm_create_trigger, gtm_update_trigger, gtm_get_trigger, and gtm_list_triggers without needing to open their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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, and no prerequisites are mentioned. For example, an agent is not told to first list triggers with gtm_list_triggers or verify the trigger is not referenced by tags before deleting.

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

gtm_delete_variableB

Deletes a variable from a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
variableIdYesGTM Variable ID to delete
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

TDQS

B3.3/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 of behavioral disclosure. It states only that deletion occurs, but does not mention that the deletion is permanent, whether it affects tags or triggers referencing the variable, or what permissions are 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?

The description is a single, front-loaded sentence with no filler or redundancy. Every word contributes to stating the operation and its target.

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 only one sentence, no annotations, and no output schema, the description is minimally adequate for a straightforward delete operation, and the schema covers all parameters. However, it omits expectations about irreversibility, side effects, and success or failure behavior, which prevents full 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%, so the input schema already documents all four parameters. The description adds no extra semantic detail about parameter values or relationships, keeping this at the baseline for 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 uses a specific verb ('Deletes') with a precise resource ('a variable') and scope ('GTM workspace'). It distinguishes itself from sibling deletion tools like gtm_delete_tag and gtm_delete_trigger by naming 'variable' as the target.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 choose this tool over related variable tools such as gtm_create_variable, gtm_update_variable, or gtm_list_variables, nor any prerequisites or context. The description only restates the operation and gives no exclusions or alternatives.

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

gtm_get_containerC

Gets detailed information about a specific GTM container

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
containerIdYesGTM Container ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. The verb 'Gets' implies a read operation, but nothing else is disclosed: no failure behavior for invalid IDs, no indication of whether output includes tags/triggers/workspace data, no auth or rate-limit context. The description is essentially a paraphrase of the tool name rather than a behavioral specification.

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, front-loaded with the action verb, with no filler words. It is appropriately compact for a simple getter. It loses a point because the brevity comes at the cost of omitting useful context (what 'detailed information' includes), but as pure concision and structure 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?

For a tool with no output schema and no annotations, the description should explain what 'detailed information' means and how to use it in the wider GTM workflow. It does neither — an agent cannot predict the return shape, the prerequisite steps (listing accounts/containers), or how this relates to gtm_get_live_version. The minimal complexity (2 params) keeps this from a 1, but the description leaves too much unspecified for a complete calling experience.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 accountId and containerId have descriptions in the schema), so the baseline of 3 applies. The description adds no parameter-level meaning beyond the schema — it doesn't explain the GTM-XXXXXX format or how to obtain these IDs from sibling list tools. However, since the schema fully documents both parameters, this is acceptable and not a defect requiring compensation.

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 ('Gets') and resource ('detailed information about a specific GTM container'), which clearly separates it from list-style siblings like gtm_list_containers through the word 'specific'. It is also disambiguated from other get_* tools by naming the container resource. It stops short of a 5 because it doesn't explicitly name the sibling it is not, leaving some disambiguation 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 guidance is provided about when to use this tool versus alternatives such as gtm_list_containers or gtm_list_accounts. There is no mention of the discovery flow (calling gtm_list_accounts then gtm_list_containers to obtain the required IDs first) or any exclusions. An agent must infer usage entirely from the tool name and schema, which is a clear gap.

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

gtm_get_live_versionA

Gets the currently published (live) container version

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
containerIdYesGTM Container ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. 'Gets' does convey that this is a read-only, non-mutating operation, which is useful, but the description does not mention required permissions, behavior when no published version exists, or the shape of the returned version object.

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

Conciseness5/5

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

The description is a single sentence with no filler, and the key distinction ('currently published (live)') appears immediately. Every word adds useful meaning.

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

Completeness4/5

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

Given the low complexity (two required string parameters, no nested objects) and the clear purpose statement, the description is largely sufficient for an agent to invoke the tool correctly. The main missing context is what exactly the returned live version object contains, but this is partially inferable from the tool's domain and name.

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

Parameters3/5

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

The input schema covers both parameters completely, with descriptions for accountId and containerId. The tool description adds no additional parameter-level meaning, so the baseline score of 3 applies given the high schema description coverage.

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

Purpose5/5

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

The description uses a specific verb ('Gets') and a precise resource ('currently published (live) container version'), making the tool's function immediately clear. The word 'live' distinguishes it from sibling tools like gtm_get_version, which retrieves a specified version rather than the published one.

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

Usage Guidelines3/5

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

The phrase 'currently published (live)' implies the tool is appropriate when the live container version is needed, but the description gives no explicit guidance about alternatives or exclusion cases. It does not mention, for example, using gtm_get_version to retrieve a specific historical version or gtm_list_versions to enumerate versions.

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

gtm_get_tagA

Gets a specific tag configuration from GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYesGTM Tag ID
accountIdYesGTM Account ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It clearly conveys a read-only retrieval operation ('Gets') but adds no context about return format, error behavior, or authentication requirements. There is no contradiction with annotations because 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.

Conciseness5/5

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

One short sentence with no filler; the verb and object are front-loaded, and every word earns its place. It is efficiently structured for quick agent parsing.

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 with all required parameters documented, the description is adequate, but it does not describe the return payload or error conditions, and there is no output schema to fill that gap. It is minimally complete rather than fully 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 coverage is 100%, so the input schema already documents all four required IDs and their purpose. The description adds no parameter-level detail beyond what the schema provides, so 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 ('Gets') and resource ('specific tag configuration'), clearly identifying the operation as retrieval of a single GTM tag by ID. It is distinguishable from sibling tools like gtm_list_tags, gtm_get_trigger, and gtm_get_variable because it names tag configuration as the target.

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 wording implies this tool is for retrieving a single existing tag configuration once the IDs are known, but it provides no explicit when-to-use guidance, prerequisites, or comparison with alternatives such as gtm_list_tags. Usage is left to inference.

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

gtm_get_triggerA

Gets a specific trigger configuration from GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
triggerIdYesGTM Trigger ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

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 carries the full behavioral disclosure burden. 'Gets' clearly implies a read-only operation with no side effects, but it does not describe what a trigger configuration contains, whether the trigger must exist, or what error/failure modes may occur. This is minimally adequate for a simple getter but leaves several behavioral details unstated.

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 redundant wording. It conveys the operation, target resource, and domain in minimal space. 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?

For a simple four-parameter get operation, the description and schema are mostly sufficient. There is no output schema and the description does not elaborate on the exact shape of the returned trigger configuration, but the phrase 'trigger configuration' reasonably implies the return value. Minor gaps exist around where the required IDs come from, but overall the definition is complete enough for this straightforward 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?

Schema description coverage is 100%, with each parameter documented as an ID (e.g., 'GTM Account ID'). The tool description does not add any meaning beyond the schema's field names and types. Since the schema already fully documents the parameters, 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.

Purpose5/5

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

The description uses a specific verb ('Gets'), a clear resource ('specific trigger configuration'), and identifies the domain ('from GTM'). The word 'specific' clearly differentiates it from gtm_list_triggers and other fetch operations in the sibling set. There is no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when to use this tool versus alternatives like gtm_list_triggers or gtm_get_tag. It does not mention prerequisites such as obtaining the triggerId from a list operation, nor does it exclude cases where another tool would be more appropriate. Usage must be inferred entirely from the word 'specific.'

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

gtm_get_variableB

Gets a specific variable configuration from GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
variableIdYesGTM Variable ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

TDQS

B3.4/5.0
Behavior3/5

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

There are no annotations, so the description carries the full behavioral disclosure burden. 'Gets' clearly implies a read-only fetch, but the description does not clarify what the returned configuration contains, how errors are handled, or whether this operates on the current workspace version.

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, direct sentence with no filler. It front-loads the action and resource clearly, 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.

Completeness4/5

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

For a simple getter with four well-documented required parameters and a clear resource target, the description is nearly sufficient. It lacks only a hint about where to obtain the variableId or what constitutes a 'variable configuration', but these are minor gaps for this tool's low complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already fully documented in the schema. The description adds no additional meaning to the parameters, which is acceptable per the baseline for high schema coverage.

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

Purpose4/5

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

The description uses a specific verb ('Gets') and a clear resource ('specific variable configuration from GTM'), making the tool's basic purpose unmistakable. It distinguishes itself from list-style siblings through the word 'specific', though it does not explicitly name any sibling tool.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus the many related GTM tools such as gtm_list_variables, gtm_get_tag, or gtm_get_trigger. An agent must infer the usage context from the tool 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.

gtm_get_versionA

Gets a specific container version from GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
containerIdYesGTM Container ID
containerVersionIdYesGTM Container Version ID

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It accurately conveys a read/retrieval operation, but does not disclose response shape, error behavior, or whether the returned version includes all configuration details. This is adequate for a simple GET-style tool, though not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or redundant restatement of parameter names. Every word contributes meaning.

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 single-resource GET with three fully documented required parameters and no output schema, the description is sufficiently complete. It could mention return value shape or contrast with gtm_get_live_version, but these are minor gaps given the tool's low complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already self-documenting as GTM Account ID, Container ID, and Container Version ID. The description adds no additional parameter context, which matches the baseline for 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 states a clear verb ('Gets'), a specific resource ('a specific container version'), and the domain ('from GTM'). The word 'specific' distinguishes it from sibling tools like gtm_list_versions and gtm_get_live_version without needing to open the schema.

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

Usage Guidelines3/5

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

Usage context is implied but not explicit: 'specific' suggests the caller already has a containerVersionId, and sibling names suggest alternatives for listing versions or fetching the live version. However, the description does not state when to prefer this tool over those alternatives.

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

gtm_get_workspaceB

Gets detailed information about a specific GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

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 of behavioral disclosure. 'Gets' implies a read-only operation, but the description does not mention authentication needs, error behavior for invalid IDs, rate limits, or the expected shape of the return value. Without an output schema, this leaves meaningful ambiguity.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or repetition. Every word contributes to the core meaning and it avoids restating schema content.

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 simple single-resource read operation, and the three required ID parameters are well documented in the schema, so a caller can invoke it correctly. However, the description does not specify what fields the 'detailed information' contains, and the absence of an output schema makes the return value less predictable. It is minimally viable but not rich.

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

Parameters3/5

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

All three parameters are fully described in the schema as GTM Account ID, GTM Container ID, and GTM Workspace ID, so schema coverage is 100%. The description adds no extra parameter-level meaning, but none is required for these straightforward identifier 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?

The description uses a clear action verb ('Gets') and names the resource ('detailed information about a specific GTM workspace'). The word 'specific' signals a single-resource lookup and helps distinguish it from gtm_list_workspaces, though it does not explicitly name siblings or define what 'detailed information' includes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 about when to choose this tool over alternatives such as gtm_list_workspaces or gtm_get_live_version. The description only implies a single-workspace lookup; it does not say to use the list endpoint for discovery or mention exclusions.

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

gtm_list_accountsB

Lists all Google Tag Manager accounts accessible to the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo

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 must carry the full behavioral burden. It adds one useful constraint—only accounts accessible to the authenticated user—but says nothing about pagination behavior, response shape, or whether 'all' means auto-paginated, leaving the pageSize/pageToken behavior unclear.

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

Conciseness5/5

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

The description is a single sentence with no filler. The core action, resource, and auth scope are all front-loaded and immediately usable.

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 output schema and no annotations, the description is too sparse to fully prepare an agent. It does not describe the return fields, pagination continuation, or the fact that returned account IDs feed into downstream GTM tools like gtm_list_containers.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention pageSize or pageToken, let alone explain that they control result size and paging. The phrase 'Lists all' even risks implying that no pagination parameters are needed.

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

Purpose5/5

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

The description uses a specific verb ('Lists') and names the exact resource ('Google Tag Manager accounts accessible to the authenticated user'). This clearly distinguishes it from sibling tools like ga4_list_accounts and gbp_list_accounts, which list accounts from different Google products.

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 this is the GTM account-discovery entry point, and that it should be used before account-scoped tools like gtm_list_containers. However, it does not explicitly mention when to use it versus ga4_list_accounts or state any exclusions.

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

gtm_list_containersB

Lists all containers within a GTM account

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
pageTokenNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It correctly indicates a read-only list operation but does not disclose pagination behavior, permission requirements, or whether results are limited by default. It is not misleading, but it misses important behavioral context.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. The essential action, resource, and scope are immediately visible, and every word contributes meaning.

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, yet the description does not clarify the response format, how accountId and pageToken interact, or whether 'all' requires multiple paginated requests. An agent would not know whether a single call returns everything or whether it must loop through pages.

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

Parameters2/5

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

The schema documents accountId as 'GTM Account ID', but pageToken has no description. The tool description adds no new meaning to either parameter and does not explain that pageToken is likely used for paginated results. With only 50% schema coverage, the description fails to compensate for the undocumented 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?

The description clearly states the action ('Lists'), the resource ('containers'), and the scope ('within a GTM account'). This distinguishes it from gtm_get_container (single container) and gtm_list_triggers (different 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 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 choose this tool over related siblings such as gtm_get_container or gtm_list_workspaces. The usage is only implied by the name and description, with no explicit context or exclusions.

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

gtm_list_tagsC

Lists all tags in a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
pageTokenNo
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace 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 for behavioral dislosure. It only states that the tool lists tags; it does not disclose pagination via pageToken, read-only implications, or any rate/access considerations that an agent would need to anticipate.

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 wasteful wording. It states the operation, resource, and scope 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 read-only list tool with no output schema and no annotations, the description should explain return behavior and pagination. It does neither, and the presence of pageToken indicates that pagination is likely necessary for large tag lists, which the description omits.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 covers 75% of parameters with descriptions for accountId, containerId, and workspaceId. The description adds that the tags belong to a GTM workspace, reinforcing workspaceId, but it does not illuminate the undocumented pageToken parameter or explain how the required IDs relate to one another.

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 listing all tags and scopes it to a GTM workspace, which distinguishes it from get/update/delete tag tools. However, it does not explicitly differentiate from related list tools such as gtm_list_triggers or gtm_list_variables beyond the resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 gtm_get_tag for a single tag or how to obtain tag IDs before updates/deletes. There is no mention of prerequisites or pagination behavior.

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

gtm_list_triggersC

Lists all triggers in a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
pageTokenNo
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. The verb 'Lists' does signal a non-destructive read operation, but the description does not mention pagination behavior (despite the pageToken parameter), what fields are returned, or whether 'all triggers' truly returns everything in one response. An agent could wrongly assume a single page contains the complete result set.

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 words, efficiently conveying the action, resource, and scope. However, the extreme terseness means it forgoes the opportunity to add pagination or sibling-differentiation details that would carry more value.

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 straightforward list operation this is minimally adequate: required IDs are clearly documented and the resource is unambiguous. The notable gaps are the undisclosed pagination mechanism implied by pageToken and the absence of any contrast with gtm_get_trigger, which an agent must infer 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 coverage is 75%, with accountId, containerId, and workspaceId each described as 'GTM ... ID', so the schema handles the core parameters. The description adds minimal parameter context beyond the workspace scope, and pageToken, the one undocumented parameter, is not addressed in either the schema or the description.

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

Purpose4/5

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

The description states a specific verb ('Lists'), a resource ('triggers'), and a scope ('in a GTM workspace'), which makes the core purpose immediately clear. The resource name naturally differentiates it from sibling list tools like gtm_list_tags and gtm_list_variables, though it does not explicitly name those alternatives like the strongest definitions do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 gtm_get_trigger for a single trigger, nor any mention of pagination considerations that the pageToken parameter implies. The description gives no exclusions, prerequisites, or alternatives, leaving the agent to infer usage entirely from the name pattern.

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

gtm_list_variablesB

Lists all variables in a GTM workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
pageTokenNo
containerIdYesGTM Container ID
workspaceIdYesGTM Workspace 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 carries the full behavioral burden. It does not disclose pagination behavior despite the pageToken parameter, nor does it mention return shape, read-only status, or workspace-specific nuances. 'Lists all variables' is functionally clear but behaviorally 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?

The description is a single, well-structured sentence with no filler. It front-loads the core action and resource effectively.

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 no annotations and no output schema, so the description must provide more context. It omits important operational details such as pagination via pageToken, what a successful response contains, and any prerequisites beyond the schema's required IDs. This is minimally informative for an agent selecting among many GTM 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 75%; accountId, containerId, and workspaceId are described in the schema, but pageToken has no description. The description adds only the 'GTM workspace' scoping, which is already implied by the workspaceId parameter, so it does not meaningfully compensate for the undocumented pageToken.

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 ('Lists'), a clear resource ('all variables'), and a scope ('in a GTM workspace'). It is clearly distinguishable from sibling tools like gtm_list_triggers and gtm_get_variable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 gtm_get_variable for a specific variable, or how it relates to gtm_list_tags/gtm_list_triggers. No usage context 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.

gtm_list_versionsC

Lists all container versions in GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
pageTokenNo
containerIdYesGTM Container ID
includeDeletedNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It communicates that the operation is a read-only listing, but it does not mention pagination behavior despite the pageToken parameter, nor the effect of includeDeleted. The claim 'all container versions' is potentially misleading without addressing these behaviors.

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

Conciseness3/5

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

The description is a single concise sentence with no filler, which is easy to parse. However, it is under-specified for a tool with four parameters, undocumented optional fields, and no output schema, so the brevity comes at the cost of completeness.

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

Completeness2/5

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

For a GTM version-listing tool with no annotations, no output schema, and two undocumented optional parameters, the description is incomplete. It does not mention pagination, deleted-version inclusion, response shape, or how this tool relates to gtm_get_version and gtm_get_live_version, leaving an agent without enough context to invoke it reliably.

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

Parameters2/5

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

Schema description coverage is 50%, with pageToken and includeDeleted lacking any description, and the description adds no parameter-level meaning. It vaguely implies a container context through 'container versions' but does not explain the optional parameters or how accountId and containerId relate to the version listing.

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 operation ('Lists all container versions') and a specific resource ('container versions in GTM'), clearly identifying the tool's core function. It does not explicitly differentiate itself from siblings like gtm_get_version or gtm_get_live_version, but the plural 'all container versions' is distinguishable 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?

There is no guidance on when to use this tool versus alternatives such as gtm_get_version, gtm_get_live_version, or gtm_list_workspaces. The description only restates the function and provides no context about prerequisites, typical use cases, or when another GTM listing tool would be more appropriate.

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

gtm_list_workspacesB

Lists all workspaces in a GTM container

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
pageTokenNo
containerIdYesGTM Container 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 the action and scope; it does not disclose pagination via pageToken, read-only behavior, result size, authentication needs, or any other behavioral details.

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

Conciseness5/5

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

The description is a single concise sentence with no filler. It front-loads the main action and resource 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 list operation, the description is minimally adequate, but it omits pagination behavior and expected return details. The presence of pageToken in the schema suggests the response may be paginated, yet the description does not acknowledge this.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 documents two of three parameters; the description adds no additional parameter meaning. The remaining pageToken parameter is undocumented, but its name and optionality make its role fairly self-evident.

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

Purpose4/5

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

Description uses a specific verb 'Lists' and names the resource 'workspaces' scoped to 'a GTM container'. The purpose is clear but it does not explicitly contrast with sibling tools like gtm_get_workspace or otter GTM 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 Guidelines3/5

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

The intended usage is implied: call ths ool when you need all workspaces in a container. However, there is no explicit guidance about when to choose ths over gtm_get_workspace or mention any prerequisites, limitations, or alternatives.

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

gtm_publish_versionB

Publishes a container version to make it live

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesGTM Account ID
containerIdYesGTM Container ID
fingerprintNo
containerVersionIdYesGTM Container Version ID to publish

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full disclosure burden but reveals only the headline effect. It does not state that publishing replaces the currently live version, whether the action is reversible, what permissions are required, or what a successful publish returns.

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?

Eight words, verb-first, with zero filler; every word contributes to the core meaning. Nothing needs to be trimmed or reordered.

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 consequential mutation with no annotations and no output schema, the 8-word description is insufficient. It omits what happens to the existing live container, whether the operation is reversible, and what the response looks like.

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 75%, and the fingerprint parameter is left undocumented in both the schema and the description. The phrase 'container version' merely restates containerVersionId and adds no meaning about parameter relationships or fingerprint's role in concurrency control.

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 ('Publishes') and resource ('a container version') with a clear outcome ('to make it live'). This distinguishes it from read-oriented siblings like gtm_list_versions, gtm_get_version, and gtm_get_live_version, as well as from gtm_create_version, which produces a draft rather than a live version.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives; it never names gtm_create_version, gtm_get_live_version, or indexing_publish, nor does it state prerequisites such as the version needing to exist and be validated. The intended usage is only implied by the verb 'publish'.

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

gtm_update_tagC

Updates an existing tag in GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
tagIdYesGTM Tag ID
accountIdYesGTM Account ID
containerIdYesGTM Container ID
fingerprintYesTag fingerprint for optimistic locking
workspaceIdYesGTM Workspace 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 of behavioral disclosure and provides almost none. It omits critical traits: the update requires a valid fingerprint for optimistic concurrency (a stale fingerprint fails the write), and in GTM the change is applied to the workspace draft, taking effect only after a version is created or published. The schema hints at locking via the fingerprint parameter, but the description itself adds no behavioral context beyond the literal meaning.

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 single sentence 'Updates an existing tag in GTM' is front-loaded with the verb and resource and contains zero filler. It is efficiently structured, though given the optimistic-locking constraint and six required parameters, the sentence could earn its place further by hinting at the fingerprint prerequisite.

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 required parameters, a nested tag object, an optimistic-locking fingerprint, no output schema, and no annotations, a one-sentence description is incomplete. An agent is left unaware that a prior read is needed to obtain the fingerprint and that the edit affects a workspace draft requiring version creation/publishing. The GTM lifecycle context that would make this callable correctly is entirely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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%, above the 80% threshold, so the baseline of 3 applies. The schema already documents the four ID parameters and the fingerprint ('Tag fingerprint for optimistic locking'), and the description contributes no additional parameter meaning. The nested 'tag' object's sub-properties lack descriptions, but their names (name, type, paused, firingTriggerId, blockingTriggerId) are largely self-explanatory; the description doesn't fill that gap 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 'Updates an existing tag in GTM' uses a specific verb and resource, and 'existing' correctly signals that the tag must already be present, distinguishing it from siblings like gtm_create_tag, gtm_get_tag, and gtm_delete_tag. It is unambiguous for basic CRUD routing, though it adds nothing beyond the bare action and doesn't differentiate update semantics from gtm_update_trigger or gtm_update_variable.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The description doesn't tell an agent to fetch the tag first (via gtm_get_tag or gtm_list_tags) to obtain the required fingerprint, nor does it contrast update with create for tags that don't exist yet. With six required parameters and a cluster of adjacent CRUD tools, the when-to-use decision is entirely left to inference.

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

gtm_update_triggerB

Updates an existing trigger in GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
triggerYes
accountIdYesGTM Account ID
triggerIdYesGTM Trigger ID
containerIdYesGTM Container ID
fingerprintYesTrigger fingerprint for optimistic locking
workspaceIdYesGTM Workspace 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 carries the full burden of behavioral disclosure. It signals mutation but omits important behavioral traits like whether the update is a full replacement of the trigger resource, how the fingerprint's optimistic locking works, or what consequences the update has.

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 a front-loaded verb and no wasted words. It is appropriately sized for a narrow operation, even though brevity comes at the cost of richer guidance.

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 that likely requires a full trigger object and an optimistic-lock fingerprint, this description is too sparse. It does not explain replacement semantics, the need to obtain a current fingerprint first, or the response shape, and there is no output schema or annotations 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 description coverage is high (83%): five of six parameters have descriptions. The tool description adds no parameter-level meaning beyond the schema, and the nested 'trigger' object remains undocumented, but the high schema coverage keeps this at the baseline of 3.

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 ('Updates'), a specific resource ('an existing trigger'), and the system ('GTM'). It clearly differentiates from sibling tools like gtm_create_trigger, gtm_delete_trigger, and gtm_list_triggers.

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

Usage 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 says what it does, not when it should be chosen, and does not mention prerequisites such as the trigger already existing or fetching the trigger first.

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

gtm_update_variableC

Updates an existing variable in GTM

ParametersJSON Schema
NameRequiredDescriptionDefault
variableYes
accountIdYesGTM Account ID
variableIdYesGTM Variable ID
containerIdYesGTM Container ID
fingerprintYesVariable fingerprint for optimistic locking
workspaceIdYesGTM Workspace ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states that the tool updates a variable. It does not mention optimistic locking via the fingerprint, potential side effects on workspace versioning, whether the update is partial or full replacement, or auth/rate-limit considerations.

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 with no redundant wording or filler. It front-loads the core action and resource, making it easy for an agent to scan.

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 required parameters, a nested variable object, no output schema, and no annotations, this one-sentence description is insufficient. It does not explain the optimistic-locking fingerprint requirement, what the variable object should contain, or what the update implies for the workspace.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 at 83%, so the schema itself adequately documents most parameters. The description adds no extra meaning about the 'variable' object or how the fingerprint/prameters interact, but with this level of schema coverage, a 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 clearly states the verb 'Updates' and the resource 'an existing variable in GTM', which distinguishes it at a basic level from create, delete, list, and get variable tools. However, it does not explicitly distinguish it from other update tools like gtm_update_tag or gtm_update_trigger, relying mostly on the tool name for precision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 instead of alternatives such as gtm_create_variable, gtm_get_variable, or gtm_delete_variable. An agent is left to infer usage from the verb 'Updates' alone, with no mention of prerequisites like fetching the variable or its fingerprint first.

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

indexing_batch_publishC

Batch notification for multiple URLs (max 100 per request)

ParametersJSON Schema
NameRequiredDescriptionDefault
notificationsYesURLs to publish (max 100)

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 says notifications are sent but does not explain the effect of URL_DELETED notifications, whether the operation is synchronous, what permissions or rate limits apply, or what the caller should expect after submission. This is a meaningful gap for a tool that mutates external indexing state.

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 repetition. It conveys the primary capability and key constraint efficiently, though its brevity leaves room for additional contextual details without becoming bloated.

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

Completeness3/5

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

For a tool with one documented parameter and high schema coverage, the description is minimally adequate for constructing a request. However, with no output schema and no annotations, it omits any indication of the result of the batch operation, how to confirm success, or how it relates to indexing_get_status, leaving the agent with an incomplete picture of the full workflow.

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

Parameters3/5

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

The schema already documents the notifications array, its min/max items, and each item's url and type values, giving 100% schema description coverage. The description adds only the max-100 constraint, which duplicates the schema, so it provides no meaningful semantic improvement beyond the structured definition.

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 ('batch notification') and a resource ('multiple URLs') with a concrete limit of 100 per request. It is distinguishable from the related indexing_publish and indexing_get_status tools by its batch semantics, though it does not explicitly name or contrast 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?

No guidance is given for when to use this tool versus indexing_publish or indexing_get_status. The 'batch' and 'max 100' wording imply high-volume cases, but there is no explicit statement about choosing this over single-URL notification or about checking status afterward.

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

indexing_get_statusC

Gets the notification status for a URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to get notification status for

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. 'Gets' implies a read operation, but the description does not explain what notification statuses exist, what the response looks like, or whether the URL must have been published first. This leaves meaningful behavioral uncertainty for an agent.

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 filler. Front-loading is strong: the verb and resource appear immediately. However, its brevity means several useful details are absent, though conciseness itself is not the issue.

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, this description is too thin. An agent is not told what 'notification status' means, what possible status values are, or that this likely pairs with indexing_publish/indexing_batch_publish. The tool may be callable, but the agent cannot confidently interpret the result or decide when it is the right tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameter 'url' is already documented as 'URL to get notification status for.' The description adds only a mild semantic tie between the URL and the status concept but does not go beyond what the schema already states, 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 clear verb ('Gets') and resource ('notification status for a URL'), so an agent can infer the tool's basic function. It does not explicitly distinguish itself from sibling tools like indexing_publish or indexing_batch_publish, but the read-vs-write distinction is evident from the verb and name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 the indexing_publish or indexing_batch_publish siblings, nor does it mention that the URL should have been previously submitted. The context is only implied by the tool name and sibling list, not stated in the description.

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

indexing_publishC

Notifies Google about a new or updated URL for indexing

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to notify Google about
typeYesType of notification

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 mentions only the notification action and does not describe the effect of URL_DELETED notifications, idempotency, rate limits, authentication requirements, or any side effects. The claim of 'new or updated' also conflicts with the schema's inclusion of URL_DELETED.

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 with no filler. The core action and target appear immediately, making it easy to scan and 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 two-parameter notification tool, the description is minimally viable but incomplete. It does not explain the URL_DELETED option, what the tool returns after a successful notification, or any constraints on usage. Since there is no output schema and no annotations, this missing context matters more than it would otherwise.

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 100%, so the schema already documents both parameters. The description adds no extra parameter semantics and is actually misleading: it describes only 'new or updated' URLs while the type parameter also accepts URL_DELETED. This creates confusion rather than adding value 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 action and target: 'Notifies Google about a new or updated URL for indexing.' This distinguishes it from sibling tools like indexing_batch_publish and indexing_get_status by indicating a single publication action. However, it omits the URL_DELETED notification type that is present in the enum, so it under-describes the full scope of the tool.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus indexing_batch_publish or indexing_get_status. The description only states what the tool does, leaving the agent to infer selection criteria 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.

lighthouse_auditC

Runs a comprehensive Lighthouse audit for performance, accessibility, SEO, best practices, and PWA

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to audit
categoriesNo
formFactorYesDevice form factor
throttlingNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'Runs' and lists categories; it does not mention network fetching, read-only behavior, potential latency, or that it produces a report. This is thin for an audit 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, front-loaded sentence with no filler or redundancy. It is concise and readable, though it omits useful behavioral and parameter context.

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

Completeness2/5

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

With 4 parameters including a nested throttling object, no annotations, and no output schema, this description is incomplete. It does not explain what the audit returns, whether all categories are audited by default, or how throttling affects execution.

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 only 50%: url and formFactor have descriptions, while categories and throttling do not. The description repeats category names, which helps slightly, but it says nothing about throttling or how categories are applied or defaulted, so it does not 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?

Description uses a specific verb ('Runs') and names the exact resource ('Lighthouse audit') plus the five categories it covers. This makes the tool's role clear, though it does not explicitly distinguish it from nearby audit tools like psi_analyze or a11y_audit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 when-to-use guidance, alternatives, or exclusions. The category list implies broad Lighthouse needs, but with many sibling audit tools, an agent is left to infer which tool is appropriate.

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

monitor_certificateB

Check SSL/TLS certificate details including validity, expiration, issuer, and certificate chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNo
hostnameYesHostname to check

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations present, the description carries the full burden. It makes the operation appear read-only and informational by saying it 'checks' certificate details, which is useful. However, it does not disclose potential network behavior, failure modes for invalid certificates, timeout behavior, or response 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 that immediately states the action and the resource. Every word adds value, and it is appropriately sized for a simple monitoring 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 basic hostname-and-port certificate check, the description plus schema provides enough to make an initial call. However, with no output schema and no annotations, it omits failure behavior, output format details, and guidance for choosing between this tool and security_ssl_analyze, leaving meaningful gaps.

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

Parameters2/5

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

The schema documents hostname but not port, and the description does not compensate for the port gap. It does not mention that custom ports are supported, that 443 is the default, or explain the meaning of the port parameter. The description only indirectly adds meaning to hostname via the SSL/TLS certificate context.

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

Purpose4/5

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

The description uses the specific verb 'Check' and identifies a concrete resource: SSL/TLS certificate details, listing validity, expiration, issuer, and certificate chain. This makes the tool's function clear, but it does not differentiate it from the overlapping sibling security_ssl_analyze, 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 provides no guidance about when to use monitor_certificate versus alternatives such as security_ssl_analyze or monitor_check_uptime. Usage context is only implied by the phrase 'certificate details'; no exclusions or alternative routing is provided.

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

monitor_check_uptimeC

Check if a URL is accessible and measure response time. Returns status, response time, headers, and SSL info.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check
methodNoGET
timeoutNo
checkContentNo
expectedStatusNo

TDQS

C2.9/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 burden, and it does disclose the core read-only behavior and return categories status, response time, headers, and SSL info. However, it does not mention behavior on failure, redirect handling, or whether SSL verification is performed, lowering transparency for a no-annotations 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 compact and front-loads the core purpose before the return summary. It avoids fluff but earns a 4 rather than 5 because the return-value clause is somewhat generic and could have incuded parameter behavior.

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 alone must make this safely callable. It fails to explain two of five parameters and gives no guidance about valid expectedStatus values or checkContent semantics, leaving an agent with meaningful ambiguity for an otherwise simple tool.

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

Parameters2/5

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

Schema description coverage is low, at 20%, and only the URL parameter has a description. The tool description does not explain checkContent or expectedStatus, which are non-obvious, and it does not clarify how timeout or method affect the check.

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?

It clearly states the action — check if a URL is accessible and measure response time — and names concrete return categories. This differentiates it from narrower sibling tools like monitor_certificate or security_ssl_analyze even though it doesn't 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 guidance is given about when to choose this tool over closely related siblings such as monitor_response_time, monitor_certificate, or util_headers_analysis. The description's broad scope implies general uptime checking, but it does not 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.

monitor_dns_lookupB

Perform DNS lookup for a domain. Returns A, AAAA, MX, NS, TXT, CNAME, and SOA records.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to lookup
recordTypesNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. It usefully discloses that the tool returns A, AAAA, MX, NS, TXT, CNAME, and SOA records, which matters because there is no output schema. However, it does not state that the lookup is read-only, what resolver or source is used, or how failures/timeouts behave, leaving some behavioral details 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?

The description is one concise sentence that front-loads the action and then lists the relevant output records. There is no filler or redundant restatement of the tool name.

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 lookup tool, the description is adequate, but with no annotations and no output schema it could do more. It lacks explicit guidance on how this differs from monitor_dns_propagation or DNS record management tools, and it does not explain how the 'recordTypes' default interacts with the listed return types.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 documents only the 'domain' parameter; 'recordTypes' has an enum and default but no description. The description partially compensates by listing the record type values, but it does not clarify that the schema default omits CNAME and SOA, so the claim 'Returns A, AAAA, MX, NS, TXT, CNAME, and SOA records' may overstate the default behavior. This is partial compensation, not 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 states a specific action ('Perform DNS lookup') on a specific resource ('a domain') and enumerates the record types returned. It is clearly a DNS lookup tool, though it does not explicitly distinguish itself from siblings like monitor_dns_propagation or cf_list_dns_records.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 choose this tool over alternatives such as monitor_dns_propagation, util_whois_lookup, or cf_list_dns_records. The only hint is the tool name and the action verb, so an agent gets no explicit context for selecting it among siblings.

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

monitor_dns_propagationB

Check DNS propagation across multiple public DNS servers (Google, Cloudflare, OpenDNS, Quad9).

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check
recordTypeNoA
expectedValueNo

TDQS

B3.2/5.0
Behavior3/5

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

The verb 'Check' implies a read-only operation and the server list adds useful scope, but with no annotations provided the description carries the full burden of behavioral disclosure. It does not explain what the response represents, how server disagreement is handled, or whether there are timeouts/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, front-loaded sentence communicates the core action and scope without unnecessary words. Every phrase earns its place.

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 output schema and no annotations, the description leaves important context unstated: how expectedValue is used, what the return status looks like, and when to prefer this over monitor_dns_lookup. It is adequate for a simple check but not complete for an agent needing to choose and invoke it correctly.

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

Parameters2/5

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

Schema description coverage is only 33%, and the description does not compensate. It adds no explanation for recordType or expectedValue, so an agent must infer how those parameters affect propagation checking. The description only reinforces the domain-centric purpose already visible in the schema.

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

Purpose4/5

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

The description clearly states a specific verb ('Check'), a specific resource ('DNS propagation'), and the scope ('multiple public DNS servers: Google, Cloudflare, OpenDNS, Quad9'). It is differentiated enough from the sibling monitor_dns_lookup by focusing on propagation across public resolvers, though it does not explicitly name the 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 use case is implied: check DNS propagation after DNS changes or verify records across public resolvers. However, there is no explicit guidance about when to choose this over monitor_dns_lookup or other DNS-related tools, and no exclusion criteria.

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

monitor_response_timeA

Measure response time with multiple samples. Returns individual measurements and statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to measure
samplesNo

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 must carry the behavioral disclosure burden. It reveals that the tool performs multiple samples and returns both individual measurements and statistics, which is useful. However, it does not mention that this likely involves repeated outbound HTTP requests, potential latency, or any side effects beyond measuring.

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, repetition, or redundancy. The primary action is front-loaded, and the return information is placed second. 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 measurement tool, the description is reasonably complete, but the absence of an output schema makes the vague phrase 'statistics' insufficient. The agent does not know whether statistics mean average, min, max, percentiles, or the units of measurement. More detail would help the agent interpret the result without needing to invoke the tool blindly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 50%, with only 'url' described in the schema. The description adds some context for 'samples' via 'multiple samples' and clarifies the return shape, but it does not explain units, sample count behavior, or how individual measurements are formatted. It partially compensates for the missing schema description but does not fully define 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 uses a specific verb ('Measure') and resource ('response time') and adds the key qualifier 'with multiple samples', which clearly distinguishes this from sibling monitoring tools like monitor_check_uptime, monitor_dns_lookup, and monitor_certificate. It also states what the tool returns, so the agent knows what to expect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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. With sibling tools such as monitor_check_uptime and security_ssl_analyze, an agent gets no explicit selection criteria, no exclusions, and no mention of complementary tools.

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

psi_analyzeC

Analyzes page performance with PageSpeed Insights API

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze
localeNo
strategyYesAnalysis strategy
categoriesNo

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations, so the description must carry the full burden of behavioral disclosure. It implies a read-only analysis but does not mention what the response contains, whether it performs a live Lighthouse run, whether it returns CrUX field data, or any rate limits/authentication considerations.

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 filler and the key API is front-loaded. It is concise, though it sacrifices useful detail; that tradeoff is acceptable for this dimension.

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 what the analysis returns, which strategies/categories are supported, and how the output is structured. It does none of this, leaving an agent with only the bare API identity and required schema fields.

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 only 50%: url and strategy have descriptions, but locale and categories do not. The description adds no parameter meaning at all, and the phrase 'page performance' could misleadingly suggest only the PERFORMANCE category is relevant when categories can include accessibility, SEO, PWA, and best practices.

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 ('Analyzes'), a clear resource ('page performance'), and the specific API ('PageSpeed Insights API'), which distinguishes it from generic audit tools. It doesn't explicitly contrast with similar siblings like lighthouse_audit or crux_query, but the PSI reference makes the primary function reasonably identifiable.

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

Usage Guidelines2/5

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

No usage context or alternative tool guidance is provided. An agent cannot tell when to prefer psi_analyze over lighthouse_audit, crux_query, cwv_report, or seo_meta_analyze, and no exclusions or prerequisites are mentioned.

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

rate_limit_statusA

Get rate limiter status for all services

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry behavioral disclosure by itself. It only states that rate limiter status is retrieved and gives no detail about what data is returned (e.g., limits, usage, reset windows) or whether authentication is required. The read-only nature is implied by 'Get' but not fleshed out.

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?

Six words, one sentence, front-loaded with the action and object. There is no filler or redundant schema repetition.

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?

Because there is no output schema or annotations, the description is the only source of runtime expectations. It fails to describe what a rate limiter status report contains, possible status values, or response shape. A little more context would be needed for an agent to confidently interpret the result.

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 are no parameter semantics to explain. The description's 'all services' usefully reinforces that no scoping arguments are needed. This matches the 0-parameter 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 is a crisp verb+object construction: 'Get' + 'rate limiter status for all services.' It clearly names a unique resource—rate limiter status—that is distinct from sibling status tools like auth_status or cache_stats. The scope 'all services' adds useful specificity.

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 'for all services' implies using this to obtain a service-wide rate limiting snapshot, but there is no explicit guidance about when to prefer it over related status tools such as auth_status or cache_stats. No sibling alternatives or exclusion conditions are mentioned.

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

security_auditB

Comprehensive security audit combining SSL analysis, security headers check, sensitive file exposure, and content security analysis. Returns an overall security grade with detailed findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to audit
deepNo

TDQS

B3/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 explain the scope of checks and the return value (overall grade plus detailed findings), which is useful. However, it does not disclose whether the audit performs live network requests, whether it is safe/read-only, what limitations exist, or how the deep parameter affects behavior.

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

Conciseness5/5

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

The description is concise and well-structured: the first sentence explains what the audit covers, and the second sentence states the return format. Every sentence adds value with no filler or redundancy.

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 appears moderately complex, yet the description omits the meaning of the 'deep' parameter, any input/output structure, and behavior around the audit process. There is no output schema to compensate for missing return-value details. An agent would need to guess what 'deep' does and what 'detailed findings' look like.

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%, and the description adds no parameter information. The 'url' parameter is weakly described by the schema as 'URL to audit', but the 'deep' boolean parameter has no schema description and no mention in the tool description. Because coverage is low, the description should compensate, but it does not.

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 what the tool does: a comprehensive security audit combining SSL analysis, security headers, sensitive file exposure, and content security analysis. It also indicates the output is an overall security grade with detailed findings. However, it does not explicitly differentiate itself from sibling tools like cf_firewall_events or lighthouse_audit, 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?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. The only implied usage is that this is a security audit tool, which is already evident from the name. No sibling alternatives are referenced in the description.

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

security_headers_checkB

Analyze HTTP security headers. Checks for HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, and other security headers. Returns a security grade and recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check

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 behavioral burden. It does disclose the main behavior—checking HTTP security headers—and the return value ('security grade and recommendations'), but it does not mention that this likely makes a live HTTP request, any access or rate-limit considerations, or failure behavior.

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

Conciseness5/5

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

The description is compact and well structured: the core purpose is front-loaded, followed by concrete examples and the output type. Every sentence contributes useful information without filler.

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 tool, the description covers input, scope, and return value, which is adequate but minimal. It leaves gaps around usage versus sibling tools and the network/behavioral implications of checking a URL, so it is only partially 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 documents the single 'url' parameter with 100% coverage, so the description does not need to add much. It adds no additional semantic detail 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 clearly states a specific verb ('Analyze'), a specific resource ('HTTP security headers'), and enumerates the exact headers checked. The security-header focus differentiates it from generic header tools like util_headers_analysis, though it does not explicitly name a sibling.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus related security or header-analysis siblings. It does not state prerequisites, exclusions, or conditions under which another tool would be more appropriate.

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

security_safe_browsingB

Checks URLs against Google Safe Browsing API for malware, phishing, and other threats

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesURLs to check (max 500)
threatTypesNo
platformTypesNo

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It reveals that the tool calls Google's external API, but it does not mention whether URL data is transmitted externally, whether authentication or rate limits apply, 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.

Conciseness5/5

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

A single front-loaded sentence with no redundant words states the action, target, and purpose. Every word 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?

The core purpose and required input are clear enough for basic invocation, but there is no output schema or return-value description, no mention of prerequisite auth, and no guidance on optional parameter behavior. It is minimally viable but leaves meaningful gaps.

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

Parameters3/5

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

Schema description coverage is low at 33%, so the description must compensate. It partially does by mapping 'malware, phishing, and other threats' to the threatTypes concept, but it adds no meaning for platformTypes and does not clarify how the optional filters interact with the URL check.

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 ('Checks') and resource ('URLs against Google Safe Browsing API'), with concrete threat categories. This clearly differentiates it from sibling security tools like security_ssl_analyze and security_headers_check, which focus on site configuration rather than URL reputation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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. The description does not mention when Safe Browsing is the right check, when it is not, or how it compares to related security tools.

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

security_ssl_analyzeA

Comprehensive SSL/TLS security analysis. Checks certificate validity, protocol support, cipher strength, and known vulnerabilities. Returns a security grade (A+ to F).

ParametersJSON Schema
NameRequiredDescriptionDefault
portNo
hostnameYesHostname to analyze

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 behavioral disclosure burden. It does reveal that the tool checks several security dimensions and returns a security grade, but it does not mention network side effects, potential latency, or behavior for unreachable or invalid hosts. The description is not contradictory, but it is not deeply 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?

Three short sentences front-load the core purpose and follow with concrete checks and output. There is no filler, repetition, or unnecessary prose.

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 captures the essential purpose, key checks, and output form, making it minimally viable for selecting and calling the tool. However, with no annotations, no output schema, and missing guidance on failure behavior and the port parameter, it is not fully complete for an agent operating without additional context.

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

Parameters2/5

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

The schema only describes the hostname parameter; port has constraints and a default but no textual description. The description adds no parameter-level meaning and does not compensate for the undocumented port, leaving its role to be inferred from the SSL/TLS context. Given 50% schema coverage, this is a meaningful gap.

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

Purpose5/5

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

The description clearly states a specific verb and resource: it performs an SSL/TLS security analysis. It enumerates concrete checks (certificate validity, protocol support, cipher strength, vulnerabilities) and a distinctive output (grade A+ to F), which separates it from sibling tools like security_headers_check and monitor_certificate.

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 this tool is for SSL/TLS security grading, so an agent can infer when to call it. However, it does not explicitly say when to prefer it over close siblings such as monitor_certificate or security_audit, nor does it give any 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.

seo_canonical_checkA

Check canonical URL configuration. Validates both HTTP header and HTML link canonicals, detects conflicts and issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does state the core behavior (checks both header and link canonicals, detects conflicts/issues), but it does not disclose whether it follows redirects, what happens on invalid URLs, or whether the operation is read-only. The behavior is not misleading, but incomplete.

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, front-loaded with the primary action and then the scope of validation. Every sentence contributes.

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 is adequate for a simple single-parameter tool, but the absence of an output schema and of any description of the return format or error behavior leaves the agent to infer what 'detects conflicts and issues' actually returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 only parameter, url, is already described in the schema as 'URL to check'. The tool description adds no further semantic detail about accepted formats, normalization, or URL handling.

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

Purpose5/5

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

Description clearly identifies the resource (canonical URL configuration) and the specific action (check/validate), including two concrete validation targets: HTTP header and HTML link canonicals, and conflict detection. This distinguishes it from sibling tools like seo_robots_analyze by subject matter.

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 checking canonical URL issues but provides no explicit guidance about when to choose it over alternatives or when not to use it. No exclusions or comparison to seo_robots_analyze or other SEO tools.

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

seo_heading_analysisA

Analyzes heading structure (H1-H6) for SEO best practices including hierarchy, H1 usage, and accessibility

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it explicitly describes the analytical behavior and the checks performed (hierarchy, H1 usage, accessibility). It clearly implies a read-only operation, and no contradiction or hidden mutation is suggested.

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 primary action and then gives specific analysis dimensions. No filler, repetition, or unnecessary detail is 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 one-parameter read-only analyzer with no output schema, the description adequately covers what the tool does and what it considers. It does not describe the return format or failure conditions, but the low complexity keeps those gaps minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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% coverage for the single 'url' parameter, so the baseline applies. The description adds little beyond the schema except that the URL is the target of the heading analysis, which is already evident from the parameter name and description.

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 ('Analyzes') and resource ('heading structure (H1-H6)') and names concrete analysis dimensions: hierarchy, H1 usage, and accessibility. This clearly distinguishes it from sibling SEO tools like seo_meta_analyze or seo_robots_analyze.

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

Usage Guidelines4/5

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

The description makes the tool's scope clear enough that an agent can infer when to select it: whenever heading structure or H1 usage needs SEO review. It does not explicitly mention alternative tools or exclusions, but the purpose is unambiguous.

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

seo_meta_analyzeB

Analyze page meta tags including title, description, Open Graph, Twitter Cards, robots, and canonical. Returns SEO issues and recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze

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 full burden. It discloses that the tool returns SEO issues and recommendations, implying a read-only analysis. However, it does not mention whether it performs a live fetch, whether page accessibility affects results, or any authentication/rate-limit considerations.

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

Conciseness5/5

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

The description is concise and front-loaded with the core action, then lists the relevant tag types and states the return value. Every sentence earns its place, with 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 one-parameter tool, the input side is complete. However, there is no output schema and the return value is only generically described as 'SEO issues and recommendations' without any structure or detail. An agent can select the tool confidently but may not know exactly what shape the response will take.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 the single 'url' parameter, and the description adds no additional semantic details about URL format, requirements, or constraints. The schema already explains the parameter adequately, 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 clearly identifies a specific verb ('Analyze') and resource ('page meta tags'), enumerating tag types like title, description, Open Graph, Twitter Cards, robots, and canonical. It does not explicitly differentiate itself from overlapping siblings such as seo_canonical_check or seo_robots_analyze, but the overall scope is clear 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?

The description gives no guidance on when to use this tool versus related SEO siblings like seo_canonical_check, seo_robots_analyze, or seo_sitemap_analyze. It implies use for meta tag analysis but provides 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.

seo_redirect_checkA

Follow and analyze redirect chains. Identifies redirect loops, long chains, and mixed protocol issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check
maxRedirectsNo

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 carries the full behavioral disclosure burden. It does explain the behavior (following and analyzing redirects) and lists detected issue types, but it does not clarify side effects, network behavior, or what happens when maxRedirects is exceeded.

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 two short sentences with no filler. The primary action and key outcomes are front-loaded, making it easy for an agent to quickly understand the tool's purpose.

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

Completeness3/5

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

The description covers the tool's core behavior and output categories, but with no output schema and no annotation context, an agent still lacks details about the return shape and maxRedirects edge-case behavior. Adequate for a simple check tool, but not complete.

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

Parameters2/5

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

The input schema only describes the 'url' parameter, leaving maxRedirects without explanation. The description adds general context about following redirect chains but does not clarify the meaning or consequence of maxRedirects, so the 50% schema coverage gap is not compensated.

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 ('Follow and analyze') and a clear resource ('redirect chains'), with concrete outputs (loops, long chains, mixed protocol issues). This clearly distinguishes it from SEO sibling tools like seo_canonical_check and seo_sitemap_analyze.

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 should be used for redirect chain analysis, but it does not explicitly say when to choose it over alternatives or mention any exclusions. Context makes the intended use fairly clear, though no routing guidance is given.

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

seo_robots_analyzeB

Analyze robots.txt file. Parses rules, sitemaps, and identifies SEO issues like blocking important paths or missing directives.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL or domain to analyze

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 burden of explaining behavior. It does disclose that the tool parses rules, parses sitemaps, and flags SEO issues, which gives a reasonable sense of operation. However, it does not state that this is a read-only operation, mention rate limits, or describe the output 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?

Two short sentences with no filler. The first sentence states the core action, and the second adds concrete detail about what the analysis covers, making every sentence valuable.

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 single-parameter analysis tool with no output schema, the description provides enough context for an agent to understand the tool's scope and likely results. It could be more complete by clarifying whether the URL should be a domain root or a full robots.txt path, but the low complexity makes this a minor 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 schema already fully documents the single url parameter as 'URL or domain to analyze', so schema coverage is 100%. The description adds no extra parameter-level detail, but the baseline of 3 applies because the schema carries the semantic weight.

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 analyzes robots.txt files, parses rules and sitemaps, and identifies SEO issues. It is specific about the resource and action, though it does not explicitly distinguish itself from the sibling seo_robots_test tool.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives like seo_robots_test or seo_sitemap_analyze. The description implies a standalone analysis use case but provides no exclusions, prerequisites, or routing hints.

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

seo_robots_testB

Test if a specific URL is allowed or blocked by robots.txt rules for a given user agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to test
userAgentNo*

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description must carry the full behavioral burden. It communicates the basic test concept but does not disclose how robots.txt is fetched, what happens when no robots.txt exists, or whether the operation has 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?

A single, front-loaded sentence with no filler. Every word contributes to explaining the tool's purpose.

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

Completeness3/5

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

The core operation is clear for a simple two-parameter tool, but there is no output schema and the description does not mention return format, handling of missing robots.txt files, or error cases. Workable but with notable gaps.

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

Parameters3/5

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

Schema coverage is only 50%; the url parameter is documented, but userAgent is not. The description partially compensates by mentioning 'for a given user agent', but it does not explain accepted values or the default wildcard 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 clearly states the tool's function: testing whether a specific URL is allowed or blocked by robots.txt for a user agent. The phrase 'specific URL' loosely distinguishes it from the sibling seo_robots_analyze, though it does not explicitly name that alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 seo_robots_analyze or other SEO analysis tools. The description implies a use case but offers no exclusions, prerequisites, or alternatives.

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

seo_sitemap_analyzeB

Analyze XML sitemap structure and content. Parses URLs, validates format, and identifies SEO issues like missing lastmod dates or URL limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesSitemap URL or domain
maxUrlsNo

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 states the tool 'parses URLs, validates format, and identifies SEO issues,' which is useful, but doesn't disclose output format, potential side effects, rate limits, or whether it fetches the URL remotely. For an external fetch/analysis tool, 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 two sentences, front-loaded with the main purpose and followed by specific examples of what it checks. Every sentence adds value, and it's appropriately concise.

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

Completeness2/5

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

No annotations, no output schema, and only partial parameter documentation. For a tool that fetches and parses an external URL, an agent would benefit from knowing what response format to expect, whether a domain (not just a sitemap URL) is accepted, how maxUrls behaves, and potential errors (e.g., invalid sitemap format). The description covers the 'what' but not the 'how' or '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 coverage is 50%: url is described, maxUrls is not. The description says 'URL limits' as an SEO issue, but doesn't explain what maxUrls controls (likely cap on parsed URLs). The description adds some context about what the tool examines, but doesn't fully compensate for the undocumented maxUrls 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?

Description clearly identifies the action (Analyze), resource (XML sitemap), and specific concerns (URL validation, SEO issues like missing lastmod or URL limits). It distinguishes from sibling tools like seo_robots_analyze, but doesn't explicitly name siblings, so it lacks direct differentiation.

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

Usage Guidelines3/5

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

Description implies use when analyzing a sitemap but does not state when to choose this over seo_robots_analyze or other SEO analysis tools. The input schema 'url' description says 'Sitemap URL or domain', which adds some usage context, but no explicit when-to-use or alternative guidance is provided.

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

seo_structured_dataA

Analyze structured data (JSON-LD, Microdata, RDFa). Extracts schema.org types, validates format, and provides recommendations for improving rich results.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze

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. It states that the tool analyzes, extracts, validates, and recommends, which outlines the three main behavior classes, but it does not disclose whether the tool fetches the URL, whether it is read-only/non-destructive, or any rate limits or failure modes.

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

Conciseness5/5

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

The description is two sentences with no filler, front-loading the primary action and supported formats. Each clause adds value and is directly relevant to selection and invocation.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no output schema), the description covers enough: it names the input, the standards supported, and exactly what the analysis produces. It could note that results are returned in some structured form, but the current content is adequate 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 100% and the only parameter 'url' is already described as 'URL to analyze'. The tool description does not add any additional meaning beyond the schema, 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 uses specific verbs and a clear resource: 'Analyze structured data (JSON-LD, Microdata, RDFa)'. It further clarifies scope by naming its outputs: 'Extracts schema.org types, validates format, and provides recommendations for improving rich results.' This distinguishes it clearly from other SEO sibling tools like robots or meta analysis.

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 auditing structured data on a given URL, but it gives no explicit guidance on when to choose this over related SEO tools. There is no mention of alternatives or exclusions, leaving usage to be inferred from the subject matter.

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

util_headers_analysisB

Analyze HTTP response headers in detail. Provides information about caching, compression, security, cookies, and server configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It does state that the tool 'provides information' about several header categories, which implies a read-only analysis operation. However, it does not disclose potential side effects, authentication requirements, rate limits, or any edge-case behavior such as redirects or unreachable URLs.

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 that efficiently states the purpose and lists the analyzed areas. The phrase 'in detail' is slightly redundant filler, but overall the description is compact and readable.

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 single-parameter analysis tool, this is minimally adequate: the agent knows what to pass and roughly what to expect. However, with no output schema and no mention of return shape or format, the agent cannot fully predict the result structure. It also fails to distinguish itself from the closely related 'security_headers_check' tool.

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

Parameters3/5

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

The input schema already documents the only parameter, 'url', with a clear description. Since schema description coverage is 100%, the baseline is 3. The tool description does not add any extra meaning or constraints about the URL format, but it does not need to for this simple single-parameter tool.

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: 'Analyze HTTP response headers in detail.' It clearly identifies the tool's core function. However, it does not differentiate itself from overlapping siblings like 'security_headers_check' or 'cache_stats', which also cover security and caching angles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when to use this tool versus alternatives. It does not mention that security-specific header analysis should go to 'security_headers_check' or that caching-specific analysis might be handled by 'cache_stats'. The agent is left to infer selection from the name and description alone.

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

util_screenshotB

Captures a screenshot of a web page with configurable device, viewport, and format options

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to capture
delayNo
widthNo
deviceNo
formatNo
heightNo
qualityNo
fullPageNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states that a screenshot is captured. It does not disclose the return format (e.g., base64, binary, URL), whether fullPage affects scrolling behavior, what delay does, or any side effects/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?

The description is a single, front-loaded sentence with no filler. Every phrase adds meaning: the action, the target resource, and the key configuration areas. It is highly scannable and efficient.

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

Completeness2/5

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

The tool has 8 parameters, no annotations, and no output schema, so the description needs to cover more ground. It omits the return value, parameter behaviors, and any operational context, leaving an agent dependent on the sparse schema to infer how to use the tool correctly.

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

Parameters2/5

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

Schema description coverage is only 13%, so the description must compensate for the 7 undocumented parameters. It only gestures at 'device, viewport, and format options' without explaining delay, quality, fullPage, or the relationships between width/height and device. This is not enough for an agent to know how to set the parameters correctly.

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: 'Captures a screenshot of a web page.' It also names the main configurable dimensions (device, viewport, format), which makes the tool's purpose obvious and distinguishes it clearly from sibling util_* tools like util_tech_detection or util_broken_links.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance about when to choose this tool over siblings or alternatives. There is no mention of use cases such as visual regression, debugging layout, or verifying rendered content, and no exclusions or alternative tool references.

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

util_tech_detectionA

Detect technologies used by a website including CMS, frameworks, analytics, CDN, web servers, and programming languages. Returns detected technologies with confidence levels.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze

TDQS

A3.6/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral disclosure burden. It does disclose that the tool returns confidence levels, which is useful, but it does not state whether analysis is passive, whether JavaScript rendering is involved, or whether only public URLs are accepted. For a non-destructive detection tool, this is adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the action, the scope, and the output format without any filler. Every clause adds useful information and nothing needs to be trimmed.

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

Completeness4/5

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

For a one-parameter detection tool with no output schema, the description covers the core behavior and the nature of the returned data (technologies with confidence levels). It could mention version detection or limitations, but the tool is simple enough that the agent can call it correctly with the current description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 only parameter, 'url', is described as 'URL to analyze'. The tool description adds no additional meaning about accepted URL formats or behavior, but with a single simple parameter and full schema coverage, the baseline of 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 ('Detect') and a clear resource ('technologies used by a website'), then lists the concrete categories it covers: CMS, frameworks, analytics, CDN, web servers, and programming languages. It is immediately distinguishable from sibling tools like util_whois_lookup or util_headers_analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 implies when to use the tool but never explicitly states it, nor does it mention alternatives or exclusions. With siblings like util_headers_analysis that could also provide server-related signals, there is no guidance on choosing this tool over those options.

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

util_whois_lookupB

Look up WHOIS information for a domain. Returns registrar, creation date, expiry date, name servers, and domain status.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to lookup

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It conveys read-only semantics via 'Look up' and specifies the returned fields, but it says nothing about failure modes (unregistered domains, WHOIS privacy redaction, network timeouts) or operational characteristics such as 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?

Two sentences with zero filler. The action is front-loaded, and the second sentence's return-field enumeration is genuinely informative rather than redundant. 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 one-parameter lookup with no output schema and no annotations, the description covers purpose and return values adequately. However, it lacks error-behavior context, domain-format guidance, and any differentiation from sibling inspection tools, leaving gaps an agent would have to resolve by trial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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% ('Domain to lookup'), so the baseline is 3. The description reiterates that the domain is the lookup target but adds no format guidance (e.g., no protocol/scheme, punycode for IDNs, .com vs IDN TLDs) beyond what the schema already says.

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 ('Look up'), resource ('WHOIS information for a domain'), and enumerates the expected return fields (registrar, creation date, expiry date, name servers, domain status). The operation is unmistakable, though it does not explicitly differentiate itself from sibling network-inspection tools like monitor_dns_lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 the many sibling inspection tools (monitor_dns_lookup, util_tech_detection, security_ssl_analyze), and no exclusions or named alternatives. The intended usage context is only implied by the stated purpose.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 121 tool updatesv0.1.0
    • First observeda11y_audit
    • First observeda11y_check_contrast
    • First observeda11y_check_images
    • First observedads_account_summary
    • First observedads_add_keywords
    • First observedads_campaign_performance
    • First observedads_create_budget
    • First observedads_create_campaign
    • First observedads_get_campaign
    • First observedads_get_customer
    • First observedads_get_keyword_ideas
    • First observedads_list_ad_groups
    • First observedads_list_budgets
    • First observedads_list_campaigns
    • First observedads_list_customers
    • First observedads_list_keywords
    • First observedads_search_term_report
    • First observedads_update_campaign
    • First observedauth_status
    • First observedcache_stats
    • First observedcf_create_dns_record
    • First observedcf_firewall_events
    • First observedcf_get_analytics
    • First observedcf_get_zones
    • First observedcf_list_dns_records
    • First observedcf_purge_cache
    • First observedcrux_history
    • First observedcrux_query
    • First observedcwv_report
    • First observeddashboard_overview
    • First observedga4_get_account
    • First observedga4_get_metadata
    • First observedga4_get_property
    • First observedga4_list_accounts
    • First observedga4_list_audiences
    • First observedga4_list_conversion_events
    • First observedga4_list_custom_dimensions
    • First observedga4_list_custom_metrics
    • First observedga4_list_data_streams
    • First observedga4_list_properties
    • First observedga4_run_funnel_report
    • First observedga4_run_realtime_report
    • First observedga4_run_report
    • First observedga4_traffic_overview
    • First observedgbp_create_post
    • First observedgbp_delete_review_reply
    • First observedgbp_get_insights
    • First observedgbp_get_location
    • First observedgbp_list_accounts
    • First observedgbp_list_locations
    • First observedgbp_list_media
    • First observedgbp_list_posts
    • First observedgbp_list_reviews
    • First observedgbp_performance_report
    • First observedgbp_reply_review
    • First observedgbp_update_location
    • First observedgbp_upload_media
    • First observedgsc_coverage_report
    • First observedgsc_delete_sitemap
    • First observedgsc_get_site
    • First observedgsc_get_sitemap
    • First observedgsc_inspect_url
    • First observedgsc_list_sitemaps
    • First observedgsc_list_sites
    • First observedgsc_query_performance
    • First observedgsc_submit_sitemap
    • First observedgsc_top_pages
    • First observedgsc_top_queries
    • First observedgtm_create_tag
    • First observedgtm_create_trigger
    • First observedgtm_create_variable
    • First observedgtm_create_version
    • First observedgtm_delete_tag
    • First observedgtm_delete_trigger
    • First observedgtm_delete_variable
    • First observedgtm_get_container
    • First observedgtm_get_live_version
    • First observedgtm_get_tag
    • First observedgtm_get_trigger
    • First observedgtm_get_variable
    • First observedgtm_get_version
    • First observedgtm_get_workspace
    • First observedgtm_list_accounts
    • First observedgtm_list_containers
    • First observedgtm_list_tags
    • First observedgtm_list_triggers
    • First observedgtm_list_variables
    • First observedgtm_list_versions
    • First observedgtm_list_workspaces
    • First observedgtm_publish_version
    • First observedgtm_update_tag
    • First observedgtm_update_trigger
    • First observedgtm_update_variable
    • First observedindexing_batch_publish
    • First observedindexing_get_status
    • First observedindexing_publish
    • First observedlighthouse_audit
    • First observedmonitor_certificate
    • First observedmonitor_check_uptime
    • First observedmonitor_dns_lookup
    • First observedmonitor_dns_propagation
    • First observedmonitor_response_time
    • First observedpsi_analyze
    • First observedrate_limit_status
    • First observedsecurity_audit
    • First observedsecurity_headers_check
    • First observedsecurity_safe_browsing
    • First observedsecurity_ssl_analyze
    • First observedseo_canonical_check
    • First observedseo_heading_analysis
    • First observedseo_meta_analyze
    • First observedseo_redirect_check
    • First observedseo_robots_analyze
    • First observedseo_robots_test
    • First observedseo_sitemap_analyze
    • First observedseo_structured_data
    • First observedutil_broken_links
    • First observedutil_headers_analysis
    • First observedutil_screenshot
    • First observedutil_tech_detection
    • First observedutil_whois_lookup

TDQS

C2.8/5.0
Disambiguation3/5

Domain prefixes (gtm_, ga4_, gsc_, ads_, gbp_, cf_, seo_, monitor_, security_, util_) give most tools a clear home, and list/get/create/update/delete primitives are mostly distinct. However, several overlapping pairs exist—monitor_certificate vs security_ssl_analyze, util_headers_analysis vs security_headers_check, lighthouse_audit vs a11y_audit, and monitor_check_uptime vs monitor_response_time—so an agent could easily misselect.

Naming Consistency3/5

Snake_case and domain-prefixed naming are consistent across the server, which helps readability. But verb placement varies: gtm_list_triggers uses prefix_action_noun while seo_robots_analyze and security_ssl_analyze use prefix_noun_action, and some tools like dashboard_overview, cache_stats, and cf_firewall_events have no verb at all.

Tool Count1/5

With 121 tools, this is far beyond an effective MCP server surface; even with good prefixes, the list will overwhelm agent context and increase misselection. The scope spans many Google APIs, SEO utilities, security, performance, and Cloudflare, but consolidating all of it into a single server is excessive.

Completeness4/5

The server covers an unusually wide surface: full CRUD for GTM tags/triggers/variables, sitemap management, SEO audits, ad campaign management, GBP interactions, and performance/accessibility checks. Gaps are minor—ads lacks delete_campaign/update_kewords, DNS only creates records, and GA4 property mutation is absent—but for a read/analysis-first SEO toolkit these are not dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to access Google Search Console data including search performance, URL indexation, sitemaps, and built-in SEO analysis tools such as trending queries, cannibalization detection, and traffic drop diagnostics.
    132
    11
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to perform full SEO audits on unpublished HTML, Markdown, or Word documents, including keyword analysis, meta tag suggestions, readability scoring, and heading structure validation.
    14
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Lets you ask Claude questions about your Google Search Console data and get real analysis, not raw API rows. Provides 20 tools for analysis, indexing, and safety.
    29
    2,951
    120
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bypixels/SEO-MCP-PRO'

If you have feedback or need assistance with the MCP directory API, please join our Discord server