Skip to main content
Glama
Suganthan-Mohanadasan

Google Search Console MCP Server

Google Search Console MCP Server

An MCP server for Google Search Console that lets you ask Claude questions about your search data and get real answers. Not raw API rows. Actual analysis.

29 tools. OAuth or service account. Free and open source. Runs on your machine: your data goes straight from this computer to Google, and nothing passes through anyone else's servers.

Full setup guide with screenshots: suganthan.com/blog/google-search-console-mcp-server/

v2.5.0 update (August 2026): new tool image_page_audit closes the image SEO loop. The v2.3 suite tells you which pages fail in image search; this one fetches those pages from your own site and tells you why: alt text, filenames, dimension attributes, lazy loading on the LCP image, formats and weights, the ~250x200 indexing minimum, ImageObject/licensable schema, max-image-preview, and the metadata inside the image files (camera EXIF to strip, IPTC to keep, DigitalSourceType on AI images). It only ever fetches the URLs you give it. Launch post with the whole 8-tool workflow on real client data: "One Page Earned 102,657 Image Impressions and 2 Clicks".

v2.4.0 update (August 2026): new tool genai_conversation_queries finds the AI conversations leaking into your query report. People reply to Google's AI with things like "yes, go on", Google logs every follow-up as a new query, and this tool sorts all of it into seven classified buckets with landing pages and a monthly timeline. Full method and findings: "Yes, Go On": The AI Conversations Leaking Into Your Search Console.

See it in action

"Audit the images on these pages"

Per-image findings from image_page_audit: alt status, filename, loading, weight and metadata per image, with an ordered fix list per page

"Which of my queries are actually AI conversations?"

Reply artefacts like yes and sure classified with impressions, clicks and landing pages

"How is my site doing?"

Site snapshot with period comparison

"What are my quick win keywords?"

Quick wins analysis showing positions 4-15 with opportunity scores

"Which pages are cannibalising each other?"

Cannibalisation detection across the site

"What content is slowly dying?"

Content decay detection over three consecutive periods

"Which pages lost traffic and why?"

Traffic drop diagnosis: ranking loss vs CTR collapse vs demand decline

"How does my CTR compare to benchmarks?"

CTR vs industry benchmarks by position

"How is my blog cluster performing?"

Topic cluster performance for a URL path pattern

Related MCP server: Google Search Console MCP Server

What you can ask

"What are my quick win keywords?"
"Which pages lost traffic this month and why?"
"What content is decaying?"
"Which pages are cannibalising each other?"
"Check for any SEO alerts in the last 7 days"
"Give me content recommendations"
"How does my CTR compare to benchmarks?"
"How is my /blog/ cluster performing?"
"Show me US mobile traffic for the last 90 days"
"Is /blog/my-post/ indexed? If not, why?"
"Generate a full performance report and save it"
"Show me a dashboard across all my sites"
"Submit this URL for indexing: https://mysite.com/new-post/"
"Batch submit all my new blog posts for indexing"
"List my sitemaps and their status"
"Verify that claim about my homepage clicks"

Quick start

One command setup (new in v2.3)

npx -y suganthan-gsc-mcp setup

The wizard signs you in with Google, verifies the connection with a live API call, lets you pick your property from a list, and writes the config for Claude Desktop and Claude Code. No config files to edit.

Read only by default: the standard consent screen asks for a single view permission. Choose full access during setup if you want the sitemap and URL submission tools.

For now you still need your own Google OAuth client JSON one time (steps 1 to 3 under Manual OAuth below); the wizard takes it from there. Built in Google sign in, with no Google Cloud steps at all, ships the moment Google finishes verifying the shared client.

Useful flags: --client desktop|code|both|print, --scopes readonly|full, --site <property>, --secrets <path>, --reauth, --force, --dry-run, --help.

One click desktop install

Prefer no terminal at all? Download the .mcpb bundle from the releases page and double click it. Claude Desktop installs the server with a small settings screen.

Option A: OAuth (manual)

  1. Create a Google Cloud project and enable the Search Console API

  2. Go to Credentials > Create Credentials > OAuth client ID, choose Desktop app

  3. Download the client secrets JSON

  4. Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "gsc": {
      "command": "npx",
      "args": ["-y", "suganthan-gsc-mcp"],
      "env": {
        "GSC_AUTH_MODE": "oauth",
        "GSC_OAUTH_SECRETS_FILE": "/path/to/client_secrets.json",
        "GSC_SITE_URL": "sc-domain:yoursite.com",
        "GSC_SCOPES": "readonly"
      }
    }
  }
}

First use opens a browser for Google sign in. Token is cached after that (locally, at ~/.gsc-mcp/). Set GSC_SCOPES to full if you want the submission tools; omit it and you get full access, matching pre 2.3 behaviour. Running from a git checkout instead of npm? Use "command": "node", "args": ["/path/to/Suganthans-GSC-MCP/dist/index.js"].

Option B: Service Account

  1. Create a Google Cloud project and enable the Search Console API

  2. Go to IAM & Admin > Service Accounts, create one, download the JSON key

  3. Add the service account email to your GSC property (Settings > Users and permissions > Full access)

  4. Add to your Claude Desktop config:

{
  "mcpServers": {
    "gsc": {
      "command": "node",
      "args": ["/path/to/Suganthans-GSC-MCP/dist/index.js"],
      "env": {
        "GSC_KEY_FILE": "/path/to/service-account.json",
        "GSC_SITE_URL": "sc-domain:yoursite.com"
      }
    }
  }
}

Generative AI (v2.4)

Google's Generative AI performance report has no API, no BigQuery export, and no searchAppearance value. But Google counts every AI Mode follow-up as a brand-new query and folds AI Mode and AI Overviews into the web search type, so AI-conversation exhaust leaks into the regular query dimension with real impressions, positions and clicks. This tool mines it.

Tool

What it answers

genai_conversation_queries

Which of your queries are actually AI-conversation exhaust: bare replies to the AI ("yes", "go on"), "what about X" pivot follow-ups, conversational questions, AI-visibility tracker probes, and full agent prompts logged as queries. Seven classified buckets with landing pages, plus a monthly timeline showing when reply-artefacts first appeared on your property

Indexing API (optional)

To use submit_url, submit_batch, and submit_sitemap:

  1. Enable the Web Search Indexing API in your Google Cloud console

  2. Your service account (or OAuth credentials) need owner-level access in Search Console

Note: Google officially says the Indexing API is for JobPosting and BroadcastEvent schema types. In practice, it processes requests for all page types.

Multi-site

For multiple properties, add GSC_SITE_URLS:

"env": {
  "GSC_SITE_URL": "sc-domain:primarysite.com",
  "GSC_SITE_URLS": "sc-domain:primarysite.com,sc-domain:secondsite.com"
}

You can also point a single query at any property your credentials can see without touching the config: advanced_search_analytics, genai_conversation_queries, and all 7 image-search analysis tools take an optional site_url parameter. "Which pages get image impressions but no clicks on sc-domain:secondsite.com?" just works.

All 29 tools

Analysis

Tool

What it answers

site_snapshot

How is the site doing overall? Clicks, impressions, CTR, position with period comparison

quick_wins

Keywords at positions 4-15 with high impressions, scored by opportunity

ctr_opportunities

Pages with high impressions but CTR below expected for their position

traffic_drops

What lost traffic, and whether it's a ranking loss, CTR collapse, or demand decline

content_gaps

Topics with search demand but no real content targeting them

cannibalization_check

Keywords where multiple pages compete against each other

content_decay

Pages declining across three consecutive 30-day periods

topic_cluster_performance

Aggregated performance for all pages matching a URL path pattern

ctr_vs_benchmark

Your actual CTR per position vs industry benchmarks

inspect_url

Is this URL indexed? Last crawl date, canonical, robots/noindex issues

check_alerts

Position drops, CTR collapses, click losses, disappeared pages. Severity-rated

content_recommendations

Prioritised actions: pages to update, content to create, pages to consolidate

advanced_search_analytics

Custom queries with flexible dimensions and filters

generate_report

Full markdown report saved to disk

multi_site_dashboard

Health check across all properties in one command

Image SEO (v2.3 + v2.5)

These tools pass type=image to the GSC Search Analytics API, which most third-party tools never expose. They cover the visual-search surface end-to-end.

Tool

What it answers

image_keyword_overview

Top image-search queries on the site, sorted by impressions, clicks, or position

image_search_quick_wins

Image queries at positions 4-15 with high impressions, scored by image-CTR opportunity. The CTR baseline is calibrated for image search, which runs roughly 5-6x lower than web at equivalent positions

compare_web_vs_image

Same query, side-by-side performance across web and image surfaces, with an impressions ratio that surfaces where image search carries disproportionate volume

image_pages_overview

Pages on the site ranked by image-search performance. Pairs with image_keyword_overview to map queries back to the pages carrying them

image_keyword_trends

Period-over-period deltas for image-search queries. Impressions delta and position delta (negative position delta means the query improved its average rank)

image_impressions_no_clicks

Query and page pairs earning meaningful image impressions but near-zero clicks. The textbook thumbnail-not-converting pattern

image_content_decay

Image-search version of content_decay. Pages losing image-search traffic across 3 consecutive 30-day periods, sorted by total click loss

image_page_audit

Fetches pages from your own site and audits every image on them: alt text, filenames, width/height attributes, lazy loading on the LCP candidate, srcset, format and weight, intrinsic dimensions vs the ~250x200 indexing minimum, ImageObject and licensable schema, max-image-preview, and in-file metadata (camera EXIF, IPTC editorial fields, XMP DigitalSourceType). The bridge from "which pages fail" to "why they fail" (v2.5)

Indexing

Tool

What it does

submit_url

Submit a URL to Google's Indexing API for crawling

submit_batch

Batch submit up to 200 URLs (daily quota)

submit_sitemap

Notify Google of a new or updated sitemap

list_sitemaps

All submitted sitemaps with status, errors, and indexed counts

Safety

Tool

What it does

verify_claim

Self-check: re-queries GSC data to verify a numeric claim before presenting it

What makes this different from other Google Search Console MCP servers

Analysis, not just API access. Most Google Search Console MCP servers wrap the raw API. This one ships with pre-built analysis: opportunity scoring, cannibalisation detection, decay tracking, CTR benchmarking, traffic drop diagnosis. You ask a question, it runs the analysis and tells you what to do.

Local and private. No hosted middleman, no account, no plan. The server runs on your machine, tokens are cached on your machine, and your Search Console data travels directly between your machine and Google. The developer operates no servers and receives nothing. Read only scope by default.

Hallucination guardrails. Every tool instructs Claude to base analysis only on returned data. Provenance metadata in every response. The verify_claim tool lets Claude fact-check its own numbers. Credit to Krinal Mehta for pushing this.

Visual dashboards. Results render as rich, interactive visualisations in Claude Desktop. Summary cards, colour coded indicators, bar charts, and tabbed sections. Not plain text dumps.

Fresh data. Uses dataState: 'all' so data matches the GSC dashboard, not 2-3 days stale.

Proactive, not reactive. Alerting, content recommendations, and scheduled reports catch problems before you think to look.

Environment variables

Variable

Required

Description

GSC_AUTH_MODE

No

oauth or service_account (default: service_account)

GSC_KEY_FILE

Service account mode

Path to service account JSON key

GSC_OAUTH_SECRETS_FILE

OAuth mode

Path to OAuth client secrets JSON

GSC_OAUTH_CLIENT_ID

OAuth mode (alt)

OAuth client ID

GSC_OAUTH_CLIENT_SECRET

OAuth mode (alt)

OAuth client secret

GSC_SITE_URL

Yes

Primary GSC property URL

GSC_SITE_URLS

No

Comma-separated list for multi-site

GSC_SCOPES

No

readonly or full (default: full). Read only keeps the Google consent to a single view permission; submission tools then explain how to upgrade

Full guide

Step-by-step setup with screenshots, use cases, and examples:

suganthan.com/blog/google-search-console-mcp-server/

Changelog

v2.5.1 Three fixes from the issue queue. The sitemaps tools now call sc-domain: properties as-is, which the Sitemaps API supports and always has; the old URL-prefix rewrite manufactured a 403, blamed the API for it, and on some accounts silently returned a stale URL-prefix property's sitemap list instead of the domain property's. The rewrite survives only as a fallback for accounts whose permission genuinely lives on a URL-prefix property. Credit to pauljlange for proving the premise wrong with raw API calls. Service-account mode now requests the same scope set as the OAuth flow, so submit_url and submit_batch work with service accounts and the GSC_SCOPES=readonly tier applies there too; the OAuth half of this shipped earlier via tomschmidty12-sys's PR after stuli1989 reported it. And the Google client libraries are bumped (googleapis 144 to 176, google-auth-library 10, gaxios 7) so token fetches use Node's native fetch; the old node-fetch path failed to decompress Google's gzip token responses on Node 22 and newer, which broke service accounts, most visibly on Windows. Credit to wilotas for the full diagnosis and the verified fix. Also fixed: the one-click desktop bundle. Every previous .mcpb shipped without the googleapis package internals (the packer silently pruned them), so the extension could never start, and "Unable to connect to extension server" was this bug, not your config. The v2.5.1 bundle carries the complete production dependency tree and was runtime-tested against the live API before upload, which is why it is bigger. Credit to VeloWulf for the report.

v2.5.0 Image page audit. image_page_audit fetches up to 5 pages from your own site and audits every image on them against the on-page factors that decide image-search performance: missing, empty, generic, filename-as-alt or duplicate alt text, camera-default and stock-agency-default filenames (shutterstock_524347192.jpg tells Google nothing), missing width/height attributes, lazy loading on the LCP candidate, srcset coverage, file format and weight (flags photos shipped as PNG and anything over 500KB), intrinsic dimensions against Google's ~250x200 indexing minimum, ImageObject and licensable-field schema, primaryImageOfPage, max-image-preview, inline background images, and the metadata inside the image files via exifr: camera EXIF and GPS that should be stripped, IPTC Creator/Copyright/Caption that should survive your CMS, and XMP DigitalSourceType on AI-generated images. Returns per-image findings, page-level checks, and an ordered top_fixes list. Pairs with image_impressions_no_clicks and image_search_quick_wins: those name the pages, this names the reasons. Fetches only the URLs it is given, so the privacy model is unchanged: your data goes to Google and your own site and nowhere else. New dependencies: node-html-parser, image-size, exifr (all pure JS, no native builds). The 7 image-search analysis tools also gain the optional site_url override that advanced_search_analytics already had, so any of them can be pointed at any property your credentials can see without editing the config. Launch post with the full workflow on real client data: "One Page Earned 102,657 Image Impressions and 2 Clicks".

Per-image findings from image_page_audit

v2.4.0 Generative AI conversation queries. genai_conversation_queries finds the AI conversation fragments hiding in your regular query data and sorts them into seven kinds: reply artefacts ("yes", "go on"), pivot follow-ups ("what about resend?"), conversational questions, tracker probes, agent harnesses, pasted strings, and a review pile. Google counts every AI Mode follow-up as a brand new query, so these rows carry real impressions, positions and clicks, and the dedicated Generative AI report has no query view, which makes this the only query-level AI evidence available anywhere. One call classifies sixteen months of your queries, attaches landing pages via query and page grouping, and returns a monthly reply-artefact timeline. Plain Search Analytics API, no BigQuery, no new permissions. Full method and findings: the launch post. Sparked by Anastasia Kourou surfacing the queries with John Mueller confirming the mechanism, and by Ross Tavendale asking how to reverse engineer it.

Reply artefact queries classified by the new tool

v2.3.0 Image SEO suite and one command setup. 7 new tools that pass type=image to the GSC Search Analytics API, plus a type parameter on advanced_search_analytics covering all 6 GSC search surfaces (web, image, video, news, discover, googleNews). The image-search surface was invisible to most third-party SEO tools because they default to type=web and never expose the others; v2.3 makes it queryable end-to-end. Also new: npx suganthan-gsc-mcp setup, a wizard that signs you in, verifies the connection with a live call, and writes your Claude Desktop and Claude Code configs; a read only scope tier (GSC_SCOPES=readonly, now the setup default) so the standard consent asks for one view permission; and a one click Claude Desktop bundle (.mcpb) on the releases page.

v2.2.2 Published to npm as suganthan-gsc-mcp. Config can now use npx instead of a local checkout path.

v2.2.1 Fixed OAuth EADDRINUSE crash when multiple tool calls triggered concurrent authentication flows. The server now reuses the active auth session instead of spawning duplicate listeners. Thanks to Rushabh Rathod for finding and reporting this.

v2.2.0 Visual dashboard rendering. All analysis tools now produce rich, interactive visualisations in Claude Desktop with summary cards, colour coded indicators, bar charts, and tabbed sections instead of plain text output. No reinstall needed, just restart Claude Desktop.

Visual dashboard rendering in Claude Desktop

v2.1.0 Added Indexing API tools: submit_url, submit_batch, submit_sitemap, list_sitemaps. Request Google to crawl and index pages directly from Claude.

v2.0.0 Added OAuth authentication, advanced search analytics, check_alerts, content_recommendations, generate_report, multi_site_dashboard, verify_claim. Server grew from 10 to 16 tools.

v1.1.0 Added hallucination guardrails: explicit prompts in tool descriptions, data provenance metadata in responses, and verify_claim self-checking tool. Thanks to Krinal Mehta for the feedback.

v1.0.0 Initial release with 10 analysis tools and service account authentication.

Licence

Apache 2.0

Built by Suganthan Mohanadasan. If you find it useful, star it.

Available Tools

29 tools
advanced_search_analyticsA

Run a custom search analytics query with flexible dimensions and filters. Supports country, device, query, and page filtering, plus search type (web/image/video/news/discover/googleNews). For power users who need specific data cuts. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
filtersNoDimension filters to apply
order_byNoSort by: clicks, impressions, ctr, positionclicks
site_urlNoOverride the default site URL
row_limitNoMaximum rows to return (max 500)
dimensionsNoDimensions to group by: query, page, country, device, date
search_typeNoFilter by GSC search surface. Defaults to web. Use 'image' to query Google Images data.
order_directionNoSort direction: ascending, descendingdescending

TDQS

A4.3/5.0
Behavior5/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 goes well beyond the basics by warning analysis must rely only on returned data, prohibiting speculation, requiring honest admission of insufficient data, and explaining that position is an impression-weighted average, not a rank-tracker rank, with sparse-data caveats beyond page one.

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

Conciseness4/5

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

The description is longer than average but structured into distinct, purposeful blocks: core functionality, analysis integrity rules, presentation expectations, and position semantics. Each section earns its place, though the presentation instructions are somewhat tangential to tool invocation and could be slightly tightened.

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

Completeness4/5

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

Given no annotations and no output schema, the description covers the most important non-obvious behaviors: how to interpret position, how to present results, and how to handle uncertainty in analysis. It does not describe the exact output row structure or pagination, but the schema and order_by options already imply the returned metrics.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 all parameters with 100% coverage, so the baseline applies. The description adds some useful context by naming the filtering dimensions and search types, and clarifies position semantics, but it does not add significant syntax-level detail beyond what the schema provides.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Run a custom search analytics query with flexible dimensions and filters.' It lists concrete filterable dimensions and search types, and says it is for power users needing specific data cuts, which distinguishes it from prepackaged sibling analytics tools.

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 signals when to use this tool: for custom, flexible data cuts beyond standard reports—'For power users who need specific data cuts.' It does not explicitly name alternatives or state when not to use it, but the context among many specialized siblings makes the intended use reasonably clear.

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

cannibalization_checkA

Find keywords where multiple pages from your site compete against each other. Shows which page ranks higher, the position gap, and combined impressions being split. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
min_impressionsNoMinimum combined impressions for a query

TDQS

A3.9/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 largely delivers. The POSITION paragraph is a substantive behavioral disclosure: position is an impression-weighted average blended across queries/devices/countries, not a rank-tracker rank, deep positions rest on sparse data, and absolute values are directional. The IMPORTANT section constrains the agent to report only returned numbers without speculation. It stops short of disclosing return structure or data-source specifics, but the metric caveats are genuinely valuable beyond what schema or annotations could convey.

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

Conciseness4/5

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

The description is long (~170 words) but well-structured: purpose is front-loaded, and the IMPORTANT/PRESENTATION/POSITION sections are clearly delineated with capitalized headers. Each section serves a distinct need. The PRESENTATION section is the most expansive — specifying cards, color-coding, sparklines, and tabs — and could be trimmed, but it earns its place for a tool whose output is meant to be dashboard-like.

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 there is no output schema, the description reasonably explains the key output concepts (winning page, position gap, impressions split) plus the crucial interpretation caveat about position's metric semantics. It covers purpose, data-fidelity rules, presentation format, and metric interpretation. The main gaps are the absence of a concrete return structure/field names (no output schema to lean on) and no parameter usage guidance, but for a 2-optional-param read tool, the description is largely sufficient.

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

Parameters3/5

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

Schema description coverage is 100% (both 'days' and 'min_impressions' have descriptions), so the baseline is 3. The tool description adds no parameter-level meaning: it never explains tradeoffs, suggested ranges, or how min_impressions relates to the 'combined impressions being split' output concept. The schema's one-line descriptions carry the entire parameter burden.

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 opening sentence — 'Find keywords where multiple pages from your site compete against each other' — uses a specific verb and resource, and the second sentence details the outputs (which page ranks higher, position gap, combined impressions split). This is inherently distinct from all sibling tools; nothing in the sibling set (content_gaps, traffic_drops, ctr_opportunities, etc.) addresses internal page competition for the same keyword.

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

Usage Guidelines3/5

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

The description gives no explicit tool-selection guidance: it never names an alternative tool, states when NOT to use it, or contrasts with siblings. The IMPORTANT, PRESENTATION, and POSITION sections are extensive but are post-invocation behavioral instructions (how to interpret and present results), not guidance on when to choose this tool. The use case is only implied by the purpose statement.

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

check_alertsA

Check for SEO alerts: position drops, CTR collapses, click losses, and pages that disappeared from search results. Returns severity-rated alerts so you know what needs attention first. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days per period to compare
ctr_drop_thresholdNoAlert if CTR drops more than this percentage
click_drop_thresholdNoAlert if clicks drop more than this percentage
position_drop_thresholdNoAlert if position drops more than this many spots

TDQS

A3.9/5.0
Behavior5/5

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

Without annotations, the description carries the full behavioral burden, and it discharges it well. It discloses that alerts are severity-rated, that position is an impression-weighted average rather than a rank-tracker figure, that deep positions rest on sparse data, and that absolute positions should be treated as directional. It also warns against unsupported speculation, giving the agent clear behavioral guardrails.

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 longer than average but well-structured with clearly labeled sections: the purpose is front-loaded in the first sentence, then IMPORTANT, PRESENTATION, and POSITION sections. Each section adds necessary operational context, though the presentation section is somewhat verbose.

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 there is no output schema and no annotations, the description is quite complete. It explains what the tool returns, how to interpret the key metric, and how to present results. The main gap is the lack of an explicit response structure example, but the description provides enough context for an agent to call the tool and handle results appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 provides full descriptions and defaults for all four parameters (days, ctr_drop_threshold, click_drop_threshold, position_drop_threshold), so parameter information is complete. The tool description adds no extra meaning about these parameters, staying silent on how thresholds interact or are applied, which is acceptable given the high schema coverage.

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

Purpose5/5

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

The description opens with a specific verb-resource pair, 'Check for SEO alerts,' and enumerates concrete alert categories: position drops, CTR collapses, click losses, and pages disappearing from search results. It also mentions severity-rated output for prioritization, making it clear how this tool differs from sibling tools like traffic_drops or ctr_opportunities.

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

Usage Guidelines2/5

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

The description does not state when to use this tool versus alternatives such as traffic_drops, ctr_opportunities, or content_decay. It provides operational instructions about how to handle data and present results, but no explicit 'when to use' or 'when not to use' guidance for tool selection.

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

compare_web_vs_imageA

For each query, returns side-by-side performance across web and image search. Two GSC API calls joined on query, with an impressions ratio that surfaces where image search carries disproportionate volume relative to web. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
site_urlNoOverride the configured property (e.g. sc-domain:example.com or https://www.example.com/)
row_limitNoMaximum rows to return
min_combined_impressionsNoMinimum combined (web + image) impressions to include the query

TDQS

A4.2/5.0
Behavior5/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 exceeds it: it discloses the two-call join implementation, mandates evidence-only analysis with exact numbers and no speculation, requires a specific interactive dashboard presentation, and explains the non-obvious position metric semantics (impression-weighted, not rank-tracker, sparse deep data, prefer deltas). This is rich behavioral context far beyond generic annotations.

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

Conciseness5/5

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

The core function is front-loaded in the first sentence, and each subsequent block earns its place: analysis guardrails prevent hallucinated causes, presentation rules standardize output in the absence of an output schema, and the position caveat prevents metric misinterpretation. The length (~230 words) is justified given zero annotations and no output schema.

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

Completeness4/5

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

For a tool with no annotations and no output schema, this is unusually complete: data source, join method, analysis constraints, presentation format, and metric interpretation are all covered. The remaining gap is that the exact set of returned fields (e.g., whether clicks and CTR are included per search type) is never enumerated, leaving the agent to infer the output structure from 'side-by-side performance' and 'impressions ratio.'

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

Parameters3/5

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

Schema description coverage is 100% (all four parameters documented with defaults and examples), so the baseline is 3. The description adds no parameter-specific meaning beyond the schema; its discussion of impressions ratio and position concerns output interpretation rather than parameter usage. It neither harms nor enhances parameter understanding.

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 opening sentence states a specific verb and resource: 'returns side-by-side performance across web and image search,' and adds methodological detail ('Two GSC API calls joined on query, with an impressions ratio'). This clearly differentiates it from the many image-only siblings (image_keyword_overview, image_search_quick_wins, etc.), since no other sibling compares web versus image search.

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 use case (comparing web vs image performance per query), but the description never explicitly says when to choose this tool over alternatives or when not to use it. With 20+ overlapping GSC siblings, explicit routing like 'for image-only analysis use image_keyword_overview' would materially help. The IMPORTANT/PRESENTATION/POSITION sections govern post-invocation behavior, not tool selection.

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

content_decayA

Find pages that are slowly dying with consistent traffic decline over three consecutive 30-day periods. One bad month is noise; three consecutive bad months is a problem. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so thoroughly. It warns against speculation, instructs the agent to report exact numbers and say when data is insufficient, mandates a dashboard-style artifact presentation, and explains the nuanced meaning of the position metric including its sparse-data limitations.

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

Conciseness4/5

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

The description is long but each section earns its place: detection criterion, analysis discipline, presentation requirements, and position interpretation. It is front-loaded with the core purpose and then adds operational guidance, though the presentation and position paragraphs could arguably be trimmed without losing key 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 there is no output schema and no annotations, the description provides substantial guidance on how to interpret and present results. It explains position semantics and data limitations, but it does not enumerate the other expected result fields or metrics an agent should expect to receive, leaving minor ambiguity about the exact return shape.

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 schema coverage is 100%, so there is nothing for the description to clarify about parameters. The baseline of 4 applies because no parameter-level ambiguity exists.

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 and resource: 'Find pages that are slowly dying with consistent traffic decline over three consecutive 30-day periods.' It clearly distinguishes content decay from related traffic analyses by defining the multi-period threshold, making it easy for an agent to recognize when this tool applies.

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

Usage Guidelines3/5

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

The description gives clear context for when the tool is appropriate, such as detecting sustained decline rather than single-month noise. However, it never explicitly tells the agent when to choose this tool over siblings like traffic_drops or image_content_decay, and it offers no exclusion guidance or alternative recommendations.

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

content_gapsA

Find topics you should create content for. Returns queries where you get impressions but rank beyond position 20, meaning there is search demand but no real content targeting it. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
min_positionNoMinimum position (queries ranking worse than this)
min_impressionsNoMinimum impressions threshold

TDQS

A4.5/5.0
Behavior5/5

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

With zero annotations, the description carries the full behavioral burden and excels. The POSITION section discloses that position is an impression-weighted average, explicitly warns it is not a rank-tracker rank, notes sparse data beyond page one, and instructs treating absolute positions as directional while preferring deltas. It also imposes analysis rules (report exact numbers only, no speculation, admit insufficient data) and presentation rules (dashboard-style artifacts with cards, colour-coding, charts, tabs) that an agent must follow.

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

Conciseness4/5

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

The description is long but every section earns its place and it is front-loaded with the purpose. The clear section markers (IMPORTANT, PRESENTATION, POSITION) make distinct concerns scannable. The PRESENTATION section is the most verbose, enumerating many visualization details, yet it is actionable and specific rather than 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 3-optional-param analytics tool with no annotations and no output schema, the description compensates well: it explains what is returned (queries with impressions beyond position 20), supplies statistical caveats, and sets analysis and presentation expectations. The only notable gap is that it never enumerates the exact return fields or any limits/pagination behavior, which matters because no output schema exists.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3. The description adds substantial meaning beyond the schema for min_position: it explains that the position filter is an impression-weighted blended average, warns about sparse data at deep positions, and advises preferring period-over-period deltas — genuinely useful for interpreting a threshold parameter correctly. The days and min_impressions parameters receive no extra elaboration, but the schema descriptions already suffice.

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?

Opens with a specific action and resource: 'Find topics you should create content for', then defines the precise selection rule: 'queries where you get impressions but rank beyond position 20'. This distinguishes it from siblings like content_decay (declining existing content), quick_wins (easy ranking gains), and ctr_opportunities (click-through fixes), since it targets missing content for queries that already have search demand.

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

Usage Guidelines4/5

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

Provides clear context for when the tool applies: when there is search demand but no real content targeting it. However, it never names sibling alternatives or states when NOT to use the tool, leaving the agent to infer the selection boundary against near-neighbors like content_recommendations based on the criteria alone.

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

content_recommendationsA

Get actionable content recommendations by cross-referencing quick wins, content gaps, and cannibalisation data. Returns prioritised actions: pages to update, content to create, and pages to consolidate. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
max_recommendationsNoMaximum number of recommendations

TDQS

A4.3/5.0
Behavior5/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 explicitly instructs the agent to base analysis only on returned data, report exact numbers, avoid speculation, and acknowledge insufficient data. This is strong behavioral guidance beyond simple function, covering data fidelity and uncertainty handling.

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 longer than two sentences, but each section earns its place: purpose, output types, behavioral constraints, and presentation format. It is well-structured with clear sections, though the presentation details add length. No waste, but slightly verbose.

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

Completeness4/5

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

The description covers what the tool returns (prioritised actions), behavioral guardrails, and presentation requirements. It lacks detailed return structure, but no output schema exists, and the description provides sufficient context for a tool of this complexity. The explicit presentation instructions add 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 both parameters (days, max_recommendations) are already documented. The description does not add additional semantic detail about parameter usage or effects 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 clearly states what the tool does: 'Get actionable content recommendations by cross-referencing quick wins, content gaps, and cannibalisation data.' It names the specific data sources, distinguishes it from sibling tools like quick_wins or content_gaps, and describes the output categories (pages to update, content to create, pages to consolidate).

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

Usage Guidelines4/5

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

The description implies usage by cross-referencing multiple data sources, positioning it as a combined-recommendations tool versus individual sibling tools. Though it doesn't explicitly state when not to use it or name alternatives, the context is clear enough for an agent to infer appropriate scenarios.

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

ctr_opportunitiesA

Find pages with high impressions but CTR significantly below expected for their position. These are title/meta description optimisation candidates. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
min_impressionsNoMinimum impressions threshold

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description fully carries the behavioral disclosure burden and does so thoroughly. It warns that position is an impression-weighted average, not a rank-tracker rank, that deep positions rely on sparse data, and that absolute positions are directional. It also instructs the agent to base analysis only on returned data, report exact numbers, and avoid speculation, which is valuable behavioral guidance.

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 longer than average but well organised into purpose, analysis constraints, presentation requirements, and position semantics. Each section contributes useful guidance, though the presentation block is somewhat verbose relative to the core tool purpose.

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

Completeness4/5

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

The description is thorough about methodology, caveats, and output presentation despite the absence of an output schema. It does not explicitly list the exact fields returned by the tool, which would be helpful, but the core instructions and position caveats give the agent enough to invoke the tool correctly and interpret results safely.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters and their defaults. The description adds no additional parameter-level detail, which is acceptable at the baseline score 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 and resource: 'Find pages with high impressions but CTR significantly below expected for their position', and labels them as title/meta description optimisation candidates. This clearly identifies what the tool does and distinguishes it from the sibling ctr_vs_benchmark by anchoring on expected CTR for position.

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

Usage Guidelines4/5

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

It provides clear context: use this tool when looking for pages that combine high impressions with weak CTR, specifically for title and meta description optimisation. It does not explicitly name sibling tools to avoid or give when-not-to-use conditions, but the purpose statement is specific enough to imply the correct use case.

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

ctr_vs_benchmarkA

Compare your actual CTR per page against industry benchmarks by position. Flags pages significantly underperforming for their ranking position. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
min_impressionsNoMinimum impressions threshold

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers robust behavioral context: it warns that position is an impression-weighted average and not a rank-tracker rank, that deep positions rest on sparse data, that absolute positions are directional, and that results must be presented via interactive artifacts. These are meaningful traits beyond simple 'compare and flag'.

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 longer than average but intentionally structured with bolded IMPORTANT, PRESENTATION, and POSITION sections. It is front-loaded with the core purpose, and each section earns its place by giving critical execution guidance. Slight redundancy exists between the 'do not speculate' and 'say so clearly rather than guessing' instructions, but overall it is well organised and not bloated.

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

Completeness4/5

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

For a tool with two optional parameters and no output schema, the description covers interpretation caveats, data limitations, and required presentation format, which is unusually complete. It does not enumerate the exact fields in the returned data, but the 'flags pages' and 'report exact numbers' phrasing makes the expected output reasonably inferable.

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

Parameters4/5

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

Schema coverage is 100%, providing baseline 3. The description adds relevant meaning beyond the schema by explaining the impression-weighted nature of position and the sparsity of deep-position data, which directly informs the purpose of the min_impressions parameter. This elevates it above the baseline.

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

Purpose4/5

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

The description clearly states the tool's function: 'Compare your actual CTR per page against industry benchmarks by position' and 'Flags pages significantly underperforming for their ranking position.' This is a specific verb+resource and is distinct in focus from siblings like ctr_opportunities, though it does not explicitly name or contrast alternatives.

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

Usage Guidelines4/5

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

The description implies the use case clearly: when you need to compare CTR to industry benchmarks by position and identify underperformers. It also provides explicit instructions on how to handle results ('Base your analysis ONLY on the data returned', 'Do not speculate about causes') and presentation expectations. However, it does not discuss when to choose this tool over sibling tools.

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

genai_conversation_queriesA

Surface AI-conversation exhaust hiding in your regular query data: bare replies to Google's AI ('yes', 'go on'), 'what about X' pivot follow-ups, conversational questions, AI-visibility tracker probes, and full agent prompts logged as queries. Google counts every AI Mode follow-up as a new query and folds AI Mode/AI Overviews into the web search type, so these fragments carry real impressions, positions and clicks. The dedicated Generative AI report has no query dimension; this is the only query-level AI evidence available anywhere. Classifies every match into seven buckets with landing pages, plus a monthly timeline showing when reply-artefacts first appeared on your site. Treat probe and harness buckets as machine traffic, not demand. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays to analyse (default 480, the full 16 months GSC retains)
site_urlNoOverride the configured property (e.g. sc-domain:example.com)
min_impressionsNoMinimum impressions for a query to be listed (single-impression rows are evidence, not noise, so the default keeps them)
include_timelineNoInclude the monthly artefact timeline (one extra API call)
max_rows_per_bucketNoMaximum rows returned per bucket; totals always cover everything

TDQS

A4.3/5.0
Behavior5/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 does so thoroughly. It discloses that position is an impression-weighted average, not a rank-tracker rank, warns about sparse data beyond page one, requires the agent to base analysis only on returned data, prohibits speculation, and specifies presentation format. These are meaningful behavioral traits beyond what the schema shows.

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

Conciseness4/5

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

The description is long but tightly organized with clear sections (IMPORTANT, PRESENTATION, POSITION) and front-loaded with purpose. Every sentence adds operational or interpretive value, though a few contextual explanations could be trimmed without losing 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 no output schema, the description compensates well by describing the seven-bucket classification, landing pages, monthly timeline, and position semantics. It does not enumerate all seven bucket names, but provides enough context for an agent to understand expected results and handle edge cases. The read-only nature is implied but not explicitly stated.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-level detail beyond the schema; it mentions the timeline concept and 'one extra API call' reiterating the include_timeline schema. No complex parameter semantics are left unexplained.

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 opens with a specific verb and resource ('Surface AI-conversation exhaust hiding in your regular query data') and lists concrete examples of what it finds (bare replies, pivot follow-ups, agent prompts). It explicitly distinguishes itself from the dedicated Generative AI report by noting that report lacks a query dimension, making this tool's unique role clear.

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 states when this tool is valuable ('the only query-level AI evidence available anywhere') and gives analytical guardrails such as treating probe and harness buckets as machine traffic. It does not explicitly compare to sibling tools or state when not to use it, but the unique value proposition is strongly conveyed.

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

generate_reportA

Generate a comprehensive markdown performance report. Covers site snapshot, alerts, quick wins, traffic drops, content decay, and recommendations. Saves to disk for weekly reviews or scheduled reporting. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
output_pathNoFile path to save the report (default: ./gsc-report-{date}.md)
include_sectionsNoSections: snapshot, alerts, quick_wins, traffic_drops, content_decay, recommendations

TDQS

A4.4/5.0
Behavior5/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 delivers extensively. It includes critical rules like basing analysis only on returned data, citing exact numbers, avoiding speculation unless supported, explicitly saying when data is insufficient, and requiring presentation as interactive visualizations with specific formatting. This goes far beyond a basic summary.

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

Conciseness4/5

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

The description is relatively long, but it is well-structured with clear sections for the main action, analysis constraints (IMPORTANT), and presentation requirements (PRESENTATION). Each sentence earns its place, though some of the presentation details could be considered slightly verbose. It is arguably necessary for such a complex tool.

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

Completeness5/5

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

Given the complexity of the tool (combining multiple report sections), the absence of an output schema, and no annotations, the description provides thorough context. It explains the report's contents, data analysis rules, handling of insufficient data, presentation format, and file-saving behavior. The only minor gap is that the return value is not explicitly stated, but the overall completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 (days, output_path, include_sections) are already fully described in the schema with 100% coverage. The tool description adds no additional semantic details about parameter usage or interdependencies, 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 clearly states the tool's function: 'Generate a comprehensive markdown performance report.' It lists the specific sections covered (snapshot, alerts, quick wins, traffic drops, content decay, recommendations), which distinguishes it from sibling tools that focus on individual analyses.

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

Usage Guidelines4/5

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

The description implies appropriate usage contexts such as 'weekly reviews or scheduled reporting,' giving a clear sense of when to use the tool. However, it does not explicitly contrast with alternative sibling tools or state when not to use it, so it falls short of a 5.

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

image_content_decayA

Image-search version of content_decay. Three 30-day windows, flags pages with a consistent decline across all three. Defaults to a lower minimum click threshold than the web equivalent because image search produces lower click volumes overall. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlNoOverride the configured property (e.g. sc-domain:example.com or https://www.example.com/)
min_period3_clicksNoMinimum image-search clicks in the oldest 30-day window required for a page to be considered

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations to rely on, the description carries the full behavioral burden and does so thoroughly. It warns against speculating about causes, requires exact-number reporting, instructs the agent to explicitly acknowledge insufficient data, clarifies the nuanced meaning of position, and specifies presentation expectations. This is far beyond what the schema or name alone would convey.

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 longer than average, but it is logically structured with separate IMPORTANT, PRESENTATION, and POSITION sections. The core purpose is front-loaded, and the additional detail is operationally useful rather than filler. It could be trimmed slightly, but the structure earns its place for a complex analytics tool.

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

Completeness5/5

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

Given the absence of annotations and output schema, the description provides nearly everything an agent needs: the exact analysis methodology, data interpretation caveats, guardrails on speculation, and presentation requirements. It is complete enough to call the tool correctly and handle the returned data appropriately.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents both parameters. The description adds value by explaining why the min click threshold is lower for image search, which helps an agent interpret min_period3_clicks. It does not substantially add to site_url, but the schema covers it fully.

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

Purpose5/5

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

The description clearly identifies this as the image-search variant of content_decay and states the exact detection heuristic: three 30-day windows with consistent decline across all three. It also distinguishes itself from the web equivalent through its lower minimum click threshold, so an agent can tell it apart from sibling tools.

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

Usage Guidelines4/5

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

The description gives clear context that this is the image-search version of content_decay and explains the threshold difference from the web equivalent. However, it does not explicitly state when an agent should choose this tool over content_decay or when not to use it, leaving the routing decision partially implicit.

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

image_impressions_no_clicksA

Surfaces query and page pairs that earn meaningful image-search impressions but effectively zero clicks. The textbook 'thumbnail is not converting' pattern. Defaults tuned for image search, which runs at much higher impression volumes per page than web. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
site_urlNoOverride the configured property (e.g. sc-domain:example.com or https://www.example.com/)
row_limitNoMaximum rows to return
max_clicksNoMaximum clicks (filter to pages stuck in the impressions-no-clicks pattern)
min_impressionsNoMinimum impressions threshold

TDQS

A4.3/5.0
Behavior5/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 delivers: the POSITION section explains that position is an impression-weighted average over real impressions, not a rank-tracker rank, warns that deep positions rest on sparse data, and instructs the agent to treat absolutes as directional and prefer deltas. It also discloses the default-tuning rationale for image search and imposes analysis discipline around speculation, which is exactly the kind of context the structured fields cannot convey.

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 purpose is front-loaded in the first sentence, and the longer content is organized under clearly marked sections (IMPORTANT, PRESENTATION, POSITION) so an agent can quickly scan the critical constraints. The PRESENTATION paragraph is verbose and highly prescriptive about artifact formatting, but it dictates required agent output behavior and therefore earns its place. Slightly long overall, but well structured.

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

Completeness4/5

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

With no output schema and no annotations, the description carries a heavy burden and covers most of it: result interpretation (position caveats), analysis rules, and presentation requirements are all explicit. The main gap is that the exact set of returned fields is never enumerated, though query/page pairs plus impression, click, and position metrics are inferable from the name, description, and filter parameters. For a tool of this complexity the coverage is strong; the field-listing omission is the only notable 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 baseline is 3: the schema already documents days, site_url, row_limit, max_clicks, and min_impressions with defaults and descriptions. The only parameter-level value the description adds is the rationale that defaults are tuned for image search's higher impression volumes, which lightly explains why thresholds like min_impressions=500 exist. That is marginal context rather than substantive 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 opens with a specific verb and resource: 'Surfaces query and page pairs that earn meaningful image-search impressions but effectively zero clicks.' This pins the tool to a distinct pattern ('thumbnail is not converting') that separates it from image siblings like image_search_quick_wins, image_content_decay, or image_pages_overview, which target different opportunity types. There is no ambiguity about what the tool produces.

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

Usage Guidelines4/5

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

The description provides clear context for when the tool applies: image search analysis, with 'defaults tuned for image search, which runs at much higher impression volumes per page than web,' plus explicit analytical ground rules ('Base your analysis ONLY on the data returned... Do not speculate about causes'). The position guidance ('prefer position deltas between periods') also steers how results should be interpreted. It never names sibling alternatives or states when not to use the tool, so explicit exclusions are absent.

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

image_keyword_overviewA

Top image-search keywords for the site, sorted by impressions, clicks, or position. Filtered to type=image so it returns only what surfaces in Google Images, not web search. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse (image search is lower volume, default 90)
order_byNoSort fieldimpressions
site_urlNoOverride the configured property (e.g. sc-domain:example.com or https://www.example.com/)
row_limitNoMaximum rows to return
min_impressionsNoMinimum impressions threshold

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It explains that results are filtered to image search, that position is an impression-weighted average rather than a rank-tracker rank, that deep positions rest on sparse data, and that absolute positions should be treated directionally. It also sets clear expectations for how results should be analyzed and presented.

Agents need to know what a tool does to the world before 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 longer than average, but every section earns its place: purpose, analysis constraints, presentation requirements, and metric interpretation are all useful. It is well-structured with clear section markers and front-loads the core purpose in the first sentence.

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

Completeness5/5

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

Given no output schema and no annotations, the description is remarkably complete. It covers what data is returned, the image-only scope, the key metric semantics, analysis caveats, and presentation expectations. An agent has enough information to invoke the tool correctly and interpret its results appropriately.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful context beyond the schema: it explains the meaning and reliability of position, which is more than just a sort field, and clarifies that image search is lower volume in relation to the default days parameter. This adds real value over the schema's parameter descriptions.

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

Purpose5/5

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

The description clearly states the tool returns top image-search keywords for the site, sorted by impressions, clicks, or position. It explicitly scopes the data to Google Images via type=image, which makes it distinguishable from general web-search tools and from sibling trend-oriented tools like image_keyword_trends.

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

Usage Guidelines4/5

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

The description gives clear context: it is for image-search only, not web search, and should be used for reporting on returned data rather than speculation. It does not explicitly name alternative tools or state when not to use it, but it provides enough situational guidance to select it appropriately.

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

image_page_auditA

Fetches pages from YOUR OWN site and audits every image on them for the on-page factors that drive image-search performance: missing/empty/generic/duplicate alt text, non-descriptive filenames, missing width/height attributes, lazy loading on the LCP candidate, srcset coverage, file format and weight, intrinsic dimensions vs Google's ~250x200 indexing minimum, ImageObject and licensable schema, max-image-preview, inline background images, and the metadata inside the image files (camera EXIF and GPS that should be stripped, IPTC Creator/Copyright/Caption that should survive, XMP DigitalSourceType on AI-generated images). Feed it URLs straight from image_impressions_no_clicks or image_search_quick_wins to turn 'which pages fail' into 'why they fail'. Only fetches the URLs given; no third-party service involved. Returns a per-image findings table, page-level checks, and an ordered top_fixes list. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesPage URLs to audit (1-5, from your own site)
fetch_metadataNoAlso read EXIF/IPTC/XMP metadata from the image files
max_images_per_pageNoMaximum images fetched and weighed per page (HTML checks still cover all images)
max_images_reportedNoMaximum per-image rows returned per page

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It goes well beyond a summary: it states it only fetches the provided URLs, involves no third-party service, returns a specific output shape, and explicitly instructs the agent to avoid speculation and to present results as interactive visualizations. This is strong transparency for a read-like 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 long but well organized: purpose, audit scope, usage context, output summary, analysis guardrails, and presentation requirements. It is front-loaded with the core purpose. The list of audit factors and presentation instructions add length, but most sentences earn their place; a small amount of trimming could improve scannability.

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

Completeness5/5

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

Given there is no output schema and no annotations, the description handily covers what an agent needs: what the tool audits, what inputs to provide, where inputs should come from, what the output contains, and how results should be presented. The 'only fetch given URLs' and 'no third-party service' notes further reduce ambiguity for a network-fetching 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 names and defaults are fully documented. The description adds some context for fetch_metadata by listing EXIF/IPTC/XMP checks and implies max_images constraints, but it does not meaningfully elaborate on parameter semantics beyond the schema. 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 opens with a specific verb-resource pair: 'Fetches pages ... and audits every image on them.' It enumerates concrete audit dimensions, making the tool clearly distinct from siblings like image_impressions_no_clicks or content_gaps, which focus on impressions or content rather than per-page image SEO factors.

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 offers explicit context: 'Feed it URLs straight from image_impressions_no_clicks or image_search_quick_wins' and clarifies that it only uses URLs given, with no third-party service. It identifies the upstream use case clearly, though it does not explicitly state when not to use this tool versus other audit-style siblings like inspect_url or quick_wins.

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

image_pages_overviewA

Pages on the site ranked by image-search performance. Tells you which pages are actually surfacing in Google Images and which are not. Pairs with image_keyword_overview to map ranking queries back to the pages carrying them. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
order_byNoSort fieldclicks
site_urlNoOverride the configured property (e.g. sc-domain:example.com or https://www.example.com/)
row_limitNoMaximum rows to return
min_impressionsNoMinimum impressions threshold

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so extensively. It discloses that position is an impression-weighted average, not a rank-tracker rank, that deep positions rest on sparse data, and that absolute values should be treated as directional with preference for period-over-period deltas. It also instructs the agent not to speculate beyond the data, adding crucial interpretation guardrails.

Agents need to know what a tool does to the world before 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 longer than average but every section earns its place: purpose, sibling pairing, analysis rules, presentation requirements, and position caveats. The labeled IMPORTANT, PRESENTATION, and POSITION blocks make the content scannable and front-load the most critical operational constraints.

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

Completeness5/5

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

There is no output schema and no annotation safety profile, so the description must fully equip the agent; it does. It explains what the tool identifies, how to interpret the core metric (position), how to handle uncertainty, and how to present results. While it does not list return fields verbatim, the schema's order_by values and the instruction to report exact numbers make the expected output shape reasonably inferable.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3; the schema already documents all five parameters. The description adds meaningful nuance about the `position` field and its interpretation, which relates to one of the `order_by` enum values, but it does not add semantics for `days`, `row_limit`, `min_impressions`, or `site_url` beyond what the schema provides.

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

Purpose5/5

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

The description opens with a specific verb and resource: pages ranked by image-search performance, and clearly states the outcome — identifying which pages surface in Google Images and which do not. It also distinguishes itself from image_keyword_overview by explaining the pairing relationship, so an agent can separate page-level from keyword-level analysis.

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

Usage Guidelines4/5

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

The description gives clear context for when this tool is appropriate: page-level image-search performance, with explicit pairing to image_keyword_overview for mapping queries to pages. It does not explicitly enumerate when not to use this tool relative to other siblings like image_page_audit or image_search_quick_wins, so it stops just short of full exclusion guidance.

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

image_search_quick_winsA

Find image-search queries ranking at positions 4-15 with high impressions, sorted by estimated traffic gain if they reach position 3. Uses an image-search CTR baseline calibrated to the lower CTRs typical of Google Images. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
site_urlNoOverride the configured property (e.g. sc-domain:example.com or https://www.example.com/)
max_positionNoMaximum position to include
min_impressionsNoMinimum impressions threshold

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It discloses that CTR estimates use an image-search baseline, that positions are impression-weighted and not rank-tracker values, that deep positions are sparse, and that users should prefer deltas over absolute values. It also gives explicit analytical guardrails: don't speculate, report exact numbers, and state when data 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.

Conciseness4/5

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

The description is longer than average, but it is well-structured with labeled sections (IMPORTANT, PRESENTATION, POSITION) and the core purpose is front-loaded in the first sentence. Some presentation details could be seen as system-level instructions, but they are relevant to how the agent should use the tool's results.

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

Completeness4/5

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

The description covers purpose, data interpretation caveats, analytical disclaimers, and output presentation requirements. The main gap is that it does not explicitly enumerate the result fields or output structure, and there is no output schema to compensate. Still, it is complete enough for correct invocation and use.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds light context like 'positions 4-15' and 'high impressions,' which loosely align with max_position and min_impressions, but it does not materially enrich the parameter meanings beyond what the schema already provides.

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

Purpose5/5

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

States a specific verb ('Find'), a specific resource ('image-search queries'), and precise inclusion criteria (positions 4-15, high impressions, sorted by estimated traffic gain if reaching position 3). The image-search focus and CTR baseline clearly distinguish it from the sibling quick_wins tool.

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 establishes the context: it is for image-search query opportunity analysis. It does not explicitly name alternatives or exclusions, but the target scenario is unambiguous enough that an agent can determine when to use it. It also adds interpretation guidance about position deltas.

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

inspect_urlA

Check if a URL is indexed and why or why not. Returns indexing status, last crawl date, canonical info, robots/noindex issues, and mobile usability in one answer. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe full URL to inspect

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description must disclose behavioral traits. It reveals that the tool returns a set of data and includes rules about not speculating beyond the data, but it never states whether the operation is read-only or if there are side effects. The presentation and analysis instructions are helpful but pertain to agent output formatting, not the tool's internal behavior.

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

Conciseness4/5

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

The description is structured with a clear first sentence followed by return-field details, analysis rules, and presentation guidelines. While the presentation section is long, it is clearly labeled and provides necessary output formatting context; no sentences are redundant.

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 has no output schema, so the description compensates by listing all returned data categories and instructing the agent on how to handle insufficient data. It does not mention potential errors, access requirements, or edge cases, but for a single-parameter read-only inspection tool, the description is fairly complete.

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

Parameters3/5

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

The input schema has a single required parameter 'url' with a clear description ('The full URL to inspect'), and coverage is 100%. The tool description does not add any additional parameter semantics, so it relies on the schema entirely.

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 opens with 'Check if a URL is indexed and why or why not', a specific verb+resource that clearly states the tool's function. It then enumerates the output categories (indexing status, crawl date, canonical, robots/noindex, mobile usability), distinguishing it from sibling tools like submit_url or quick_wins.

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 use case obvious—diagnosing why a URL is or isn't indexed—but does not explicitly contrast it with alternatives such as submit_url. No exclusion criteria or when-not-to-use guidance is provided, though 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.

list_sitemapsA

List all sitemaps submitted for the site, with status, errors, warnings, and indexed page counts. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the transparency burden. It explicitly instructs the agent to base analysis only on returned data, avoid speculation, and admit insufficient information. This is valuable behavioral context beyond the simple list operation, though it does not detail response pagination or site scope.

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 primary purpose is stated in the first sentence, followed by important usage instructions. The extra sentences are purposeful to prevent hallucinated analysis, but the description is slightly longer than strictly necessary for a simple list tool.

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

Completeness4/5

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

Given zero parameters and no output schema, the description provides adequate context about the tool's purpose and output fields. The analysis guidelines further help an agent handle results responsibly. It is sufficiently complete for correct invocation and result interpretation.

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 schema coverage is trivially complete. The baseline for zero-parameter tools is 4, and the description does not need to add parameter details. Any additional parameter semantics would be irrelevant.

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

Purpose5/5

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

The description states a specific verb ('List') and resource ('sitemaps submitted for the site'), and clearly lists the returned information (status, errors, warnings, indexed page counts). This clearly distinguishes it from sibling tools like submit_sitemap or quick_wins.

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

Usage Guidelines3/5

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

The description implies its use for retrieving sitemap submission data, but it does not explicitly mention when to use this tool over alternatives or any exclusions. The added analysis instructions are about interpretation, not about when to invoke the tool.

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

multi_site_dashboardA

Health check across multiple GSC properties in one view. Shows clicks, impressions, CTR, and position for each site with period comparison and health status. Agency essential. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days per period
site_urlsNoArray of GSC property URLs. Falls back to GSC_SITE_URLS env var.

TDQS

A3.9/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 disclosure burden and does a solid job. It explains the nuanced behavior of the position metric (impression-weighted average, sparse deep-position data, directional rather than absolute) and warns against speculation beyond returned data. It stops short of covering data freshness or API limits, but the core interpretive caveat is well 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 organized into clear sections—purpose, IMPORTANT, PRESENTATION, POSITION—with the core purpose front-loaded. While the PRESENTATION block is detailed, it earns its place given no output schema exists; the only minor fluff is 'Agency essential.'

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?

In the absence of an output schema and annotations, the description covers the displayed metrics, period comparison, health status, position caveats, and presentation requirements. It leaves minor gaps around how 'health status' and 'period comparison' are precisely computed, but overall it gives an agent enough to call and interpret the tool correctly.

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

Parameters3/5

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

The input schema already documents both parameters with 100% coverage. The description alludes to 'period comparison' but doesn't map days or site_urls to behavior beyond what the schema states, so it adds no meaningful parameter-level 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 opens with a specific verb and resource: "Health check across multiple GSC properties in one view." It lists the exact metrics shown (clicks, impressions, CTR, position) and the distinguishing feature of multi-site aggregation, which clearly sets it apart from single-property siblings like site_snapshot or inspect_url.

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 use case—multi-site health checks for agencies—but never explicitly states when to choose this tool over alternatives or when not to use it. There is no reference to sibling tools or exclusion conditions, leaving the agent to infer usage from the purpose statement.

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

quick_winsA

Find keywords you're almost ranking for that could be pushed to page one. Returns queries at positions 4-15 with high impressions, sorted by traffic opportunity. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
max_positionNoMaximum position to include
min_impressionsNoMinimum impressions threshold

TDQS

A3.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does well: it discloses that position is an impression-weighted average, not a rank-tracker rank, that deep positions rely on sparse data, and that absolute positions are directional. It also imposes clear analysis constraints against speculation and requires artifact-based visual presentation, which are behavioral traits an agent must know.

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 longer than average but well-structured with clear IMPORTANT, PRESENTATION, and POSITION sections. It front-loads the core purpose and each section adds actionable guidance, though the presentation block is somewhat verbose and could be tightened.

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 three optional parameters and no output schema or annotations, the description covers purpose, result semantics, data caveats, and output presentation. However, it lacks exact response fields, pagination behavior, and explicit usage alternatives, which prevents it from being fully complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful context: 'positions 4-15' and 'high impressions' map to max_position and min_impressions, while 'traffic opportunity' explains the sorting intent. It also clarifies that the position value is blended and directional, which enriches the meaning of the position-related 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 clearly states the tool finds keywords 'almost ranking for' page one and returns queries at positions 4-15 with high impressions, sorted by traffic opportunity. This is specific and distinguishes it from image_search_quick_wins, though it does not explicitly name sibling alternatives or exclusion criteria.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 strong analysis and presentation instructions but no explicit guidance on when to choose quick_wins over siblings like ctr_opportunities, content_gaps, or image_search_quick_wins. Usage context is implied by the name and first sentence, but there are no exclusions, prerequisites, 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.

site_snapshotA

Get a quick overview of how the site is performing. Returns total clicks, impressions, CTR, and position with a comparison to the prior period. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days per period

TDQS

A4/5.0
Behavior5/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 and handles it exceptionally. It discloses that analysis must be grounded only in returned data, that speculation about causes is prohibited, that results must be rendered as dashboard-style interactive artifacts, and most valuably, that the position metric is an impression-weighted average over sparse deep-position data that should be treated as directional. These traits materially shape how an agent interprets and reports results in ways annotations never could.

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

Conciseness4/5

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

The description is long (~200 words) but deliberately structured with labeled sections (IMPORTANT, PRESENTATION, POSITION) and the core purpose is front-loaded in the first two sentences. Every section serves a purpose, though there is some redundancy among the three analysis rules (only use returned data / do not speculate / say when data is insufficient), and the presentation requirements could be tightened without losing 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 low-complexity tool (one optional parameter, no output schema, no annotations), the description covers what data is returned, how to analyze it, how to present it, and how to interpret the trickiest metric (position). The main gaps are the exact raw response format and the categorization implied by 'tabbed sections,' but nothing required to call the tool correctly is missing.

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

Parameters4/5

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

Schema coverage is 100% ('Number of days per period'), so the baseline is 3. The description adds value by clarifying that the tool makes a comparison 'to the prior period,' implying the days parameter defines two equal-length windows (current vs. prior), which is meaning beyond the raw schema. It does not, however, add bounds, valid-range guidance, or consequences of extreme values for 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 first sentence uses a specific verb and resource ('Get a quick overview of how the site is performing') and enumerates the exact returned metrics (total clicks, impressions, CTR, position) plus the prior-period comparison. This makes it distinguishable from most siblings as the general snapshot tool versus specialized diagnostics like traffic_drops or ctr_opportunities. However, it never explicitly names a sibling or states what the tool is not, so differentiation from a tool like multi_site_dashboard or advanced_search_analytics 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 Guidelines3/5

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

Usage context is only implied by the phrase 'quick overview' — suggesting a high-level performance check rather than a deep-dive diagnostic. There is no explicit when-to-use guidance, no exclusions, and no mention that specialized questions (traffic drops, content gaps, cannibalization) belong to sibling tools. The extensive IMPORTANT/PRESENTATION/POSITION blocks govern post-call analysis and interpretation, not tool selection.

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

submit_batchA

Submit up to 200 URLs to Google's Indexing API in one go. Daily quota is 200 URL notifications. Use for bulk indexing requests after publishing multiple pages or a site-wide update. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesArray of URLs to submit (max 200)
actionNoURL_UPDATED for new/changed content, URL_DELETED for removed pagesURL_UPDATED

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 burden of disclosure. It adds the daily quota of 200 URL notifications and the bulk nature, which is helpful. However, it does not disclose return format, error handling, or authentication needs. The IMPORTANT note about analytical behavior is not about the tool's operation, so it adds no transparency value.

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 first two sentences are concise and purposeful. However, the long IMPORTANT paragraph about analytical behavior is irrelevant to the tool's functionality and should not be in the description. It adds noise and makes the description less focused, so it loses points for conciseness.

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

Completeness3/5

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

The description adequately covers the tool's purpose, use case, and quota limit, giving basic context. However, with no output schema and no annotations, it should have mentioned what the API returns (e.g., success counts, errors) or how failures are reported. The extraneous IMPORTANT note does not contribute to completeness.

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

Parameters3/5

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

The schema already fully describes both parameters: 'urls' (max 200) and 'action' (enum with explanations). The description adds no additional meaning beyond what the schema provides, 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.

Purpose5/5

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

The description states exactly what the tool does: 'Submit up to 200 URLs to Google's Indexing API in one go.' This uses a specific verb (Submit), resource (URLs/Indexing API), and scope (up to 200, bulk), and clearly distinguishes it from sibling tools like submit_url and submit_sitemap by focusing on batch submission.

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

Usage Guidelines4/5

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

The description provides clear usage context: 'Use for bulk indexing requests after publishing multiple pages or a site-wide update.' This tells the agent when to use the tool, though it does not explicitly mention alternatives or when not to use it (e.g., for single URL submissions).

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

submit_sitemapA

Notify Google of a new or updated sitemap. Triggers Google to recrawl the sitemap and discover new pages. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault
sitemap_urlNoFull sitemap URL (defaults to {site_url}/sitemap.xml)

TDQS

A3.8/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 burden. It states the behavioral effect ('Triggers Google to recrawl'), but does not disclose permissions, rate limits, or response format. The IMPORTANT instruction about analysis is more about agent conduct than tool behavior, adding limited transparency.

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

Conciseness4/5

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

The description is three sentences, with the first two concisely stating purpose and effect. The third sentence is a longer IMPORTANT instruction that adds operational guidance, but is still focused and not redundant.

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

Completeness3/5

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

The description explains the action and mentions 'data returned' but does not specify the return value or structure. With no output schema and no annotations, this lack of return-value detail leaves a gap for a simple tool.

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

Parameters3/5

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

The input schema covers the single parameter (sitemap_url) fully, including its default behavior. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the tool's function: 'Notify Google of a new or updated sitemap. Triggers Google to recrawl the sitemap and discover new pages.' It uses a specific verb (notify) and resource (sitemap), distinguishing it from sibling tools like submit_url or submit_batch.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool: for notifying Google of new or updated sitemaps. It does not explicitly mention alternatives or exclusions, but the purpose is straightforward and the sibling tool list implies other submission methods.

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

submit_urlA

Submit a URL to Google's Indexing API to request crawling and indexing. Works for notifying Google of new or updated content. Note: Google officially supports this for JobPosting/BroadcastEvent schema but processes all page types. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe full URL to submit for indexing
actionNoURL_UPDATED for new/changed content, URL_DELETED for removed pagesURL_UPDATED

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It only says the tool requests crawling and indexing; it does not mention side effects, rate limits, authentication, error behavior, or how the request outcome is reported. The note about JobPosting/BroadcastEvent is the only additional behavioral trait, but it is insufficient.

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

Conciseness3/5

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

The description is front-loaded with a clear purpose, but it includes a lengthy IMPORTANT section about data analysis and reporting that is tangential to the tool itself. This adds unnecessary verbosity and distracts from the tool's core behavior, making it less concise than it could 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 2-parameter tool with no output schema and no annotations, the description covers the main function and one caveat (official schema support). However, it does not explain return values, failure modes, or any expectations after submission, leaving a moderate gap in contextual completeness.

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

Parameters3/5

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

The input schema already provides complete descriptions for both parameters ('url' and 'action') with 100% coverage. The description adds minimal value beyond the schema, such as tying the action to new/updated content, but it does not introduce new syntax or clarifications, so the baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the tool submits a URL to Google's Indexing API for crawling and indexing, and it distinguishes itself from siblings like submit_sitemap and submit_batch by targeting individual URL submission. It also clarifies the intended use for new or updated content.

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

Usage Guidelines4/5

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

The description provides a clear context for use: notifying Google of new or updated content. It also includes a note about Google's official schema support versus all page types, which gives practical guidance. However, it does not explicitly mention alternatives or exclusions, so it falls short of full guidance.

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

topic_cluster_performanceA

See how a group of pages performs as a whole. Aggregates clicks, impressions, CTR, and position for all pages matching a URL path pattern, plus top 5 pages and queries. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyse
path_patternYesURL path pattern to match (e.g. /blog/seo)

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden. It does this well by explaining the position metric's blended, impression-weighted nature, warning about sparse deep-position data, and instructing the agent to rely only on returned data and avoid unsupported speculation. It stops short of stating data freshness or explicit read-only behavior, but the essential behavioral caveats are present.

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 longer than average, but it is well-structured with clear IMPORTANT, PRESENTATION, and POSITION sections. The core purpose is front-loaded, and the additional instructions about analysis discipline and metric interpretation earn their place, even though the presentation guidance is somewhat verbose.

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?

Without an output schema, the description compensates by naming the aggregate metrics, the top pages/queries component, and the key position caveats. It is slightly vague about whether "between periods" comparisons are automatically included in the result, but it provides enough information for an agent to call the tool correctly and interpret the most subtle metric.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 with 100% coverage. The description restates path_pattern conceptually but adds no new semantic detail beyond "URL path pattern" as a grouping mechanism. It does not explain wildcard syntax or period comparison semantics, so it meets but does not exceed the baseline for schema-covered 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 is explicit: "See how a group of pages performs as a whole" and lists exact metrics (clicks, impressions, CTR, position) plus top pages and queries. It clearly identifies the resource (pages matching a URL path pattern) and distinguishes itself from single-page or site-wide 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 Guidelines4/5

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

The first sentence establishes the use case clearly: use this when you need aggregate cluster/group performance across a URL path pattern. It does not explicitly name alternatives or provide when-not-to-use guidance, but the context is unmistakable and no contradictory usage signals appear.

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

traffic_dropsA

Find pages that lost the most traffic recently. Compares current period vs prior period and diagnoses whether each drop is a ranking loss, CTR collapse, or demand decline. IMPORTANT: Base your analysis ONLY on the data returned. Report exact numbers from the results. Do not speculate about causes (e.g. algorithm updates, competitor actions) unless the data explicitly supports it. If the data does not contain enough information to answer a question, say so clearly rather than guessing. PRESENTATION: Always present these results as a rich, interactive visualization using artifacts. Use summary cards for key metrics, colour-coded indicators for severity or change direction (green for positive, red for negative), bar charts or sparklines for comparisons, and tabbed sections to organise different categories of results. Make the output visually scannable and dashboard-like rather than plain text or raw tables. POSITION: position is an impression-weighted average over real impressions, blended across queries, devices and countries. It is not a rank-tracker rank. Deep positions are only recorded when a user actually reaches that part of the results, so values beyond page one rest on sparse data. Treat absolute positions as directional and prefer position deltas between periods when judging change.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days per period to compare

TDQS

A4.3/5.0
Behavior5/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 delivers. It mandates data fidelity ('Base your analysis ONLY on the data returned... Report exact numbers'), forbids speculation ('Do not speculate about causes'), requires honest uncertainty ('say so clearly rather than guessing'), specifies presentation format via artifacts, and, critically, discloses the position metric's caveats (impression-weighted average, not rank-tracker rank, sparse data beyond page one, prefer deltas over absolutes). This is exceptional behavioral disclosure that prevents realistic misuse.

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

Conciseness4/5

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

The description is long (~180 words) but every block earns its place and is clearly labeled (IMPORTANT, PRESENTATION, POSITION), making it scannable. The core purpose is front-loaded in the first sentence, and the later blocks address distinct agent behaviors: analysis discipline, output formatting, and metric interpretation. Slightly verbose, but density is high and there is minimal redundancy.

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

Completeness4/5

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

For a single-parameter tool with no output schema, the description is remarkably complete: it implies the returned data (pages, period-over-period metrics, diagnosis categories, position values) and explains how to interpret and present it. The main gap is that the exact response shape/fields are never enumerated — the agent learns about position and diagnosis categories only by inference — but the behavioral and interpretative coverage compensates strongly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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%: the single 'days' parameter is already documented as 'Number of days per period to compare.' The description's 'Compares current period vs prior period' lightly reinforces this period-pairing semantics but adds no new parameter-level detail. Baseline 3 is correct since the schema does the heavy lifting.

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

Purpose5/5

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

The first sentence states a specific verb and resource: 'Find pages that lost the most traffic recently.' It then adds the diagnostic scope — distinguishing 'ranking loss, CTR collapse, or demand decline' — which separates it from siblings like content_decay (slow decline over time) and ctr_opportunities (upside-focused). The purpose is concrete and unambiguously framed.

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

Usage Guidelines4/5

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

The description gives clear usage context: when an agent needs to identify recently declining pages and determine which mechanism (ranking, CTR, demand) drove the loss. It doesn't explicitly name alternatives or exclusion criteria, but the 'recently' + diagnosis framing is specific enough that an agent can distinguish it from siblings without guessing. A small gap: no explicit 'use content_decay instead for older/gradual declines' routing.

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

verify_claimA

Verify a specific numeric claim against live GSC data. Use this to self-check your analysis before presenting findings. Pass the claim text, the metric to check, the expected value, and optionally a URL or query to filter by. Returns whether the claim is verified and any discrepancy found.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoFilter to a specific URL
daysNoNumber of days to check
claimYesThe claim to verify, e.g. 'Homepage gets 500 clicks per month'
queryNoFilter to a specific search query
metricYesWhich metric to check
expected_valueYesThe numeric value you claimed

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 of behavioral disclosure. It clearly states that the tool 'Returns whether the claim is verified and any discrepancy found' and uses 'live GSC data,' giving insight into the expected behavior and output without contradicting any annotations.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the core purpose, and every sentence contributes essential information. It is concise without being under-specified.

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 moderate complexity (six parameters, no output schema), the description sufficiently explains inputs and expected output. It clearly communicates the tool's role as a verification step but could go deeper on edge cases (e.g., handling of invalid data), though this is not necessary for standard use.

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

Parameters3/5

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

The input schema provides 100% coverage with descriptions for all six parameters. The description adds little beyond restating the required and optional parameters ('Pass the claim text, the metric to check, the expected value, and optionally a URL or query'). This meets the baseline but does not enrich parameter understanding further.

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

Purpose5/5

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

The description clearly states the tool's function: 'Verify a specific numeric claim against live GSC data.' It uses a specific verb and resource, and distinguishes it from sibling tools by emphasizing verification/self-checking rather than discovery or reporting.

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

Usage Guidelines4/5

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

The description provides clear context for use: 'Use this to self-check your analysis before presenting findings.' It implies when to use the tool but does not explicitly mention alternatives or when not to use it, which would merit a 5.

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. 8 tool updatesv2.5.1
    • Changedcompare_web_vs_image1 field changed
      • addedInput schema / properties / site_url
        Added value: +{
        +  "description": "Override the configured property (e.g. sc-domain:example.com or https://www.example.com/)",
        +  "type": "string"
        +}
    • Changedimage_content_decay1 field changed
      • addedInput schema / properties / site_url
        Added value: +{
        +  "description": "Override the configured property (e.g. sc-domain:example.com or https://www.example.com/)",
        +  "type": "string"
        +}
    • Changedimage_impressions_no_clicks1 field changed
      • addedInput schema / properties / site_url
        Added value: +{
        +  "description": "Override the configured property (e.g. sc-domain:example.com or https://www.example.com/)",
        +  "type": "string"
        +}
    • Changedimage_keyword_overview1 field changed
      • addedInput schema / properties / site_url
        Added value: +{
        +  "description": "Override the configured property (e.g. sc-domain:example.com or https://www.example.com/)",
        +  "type": "string"
        +}
    • Changedimage_keyword_trends1 field changed
      • addedInput schema / properties / site_url
        Added value: +{
        +  "description": "Override the configured property (e.g. sc-domain:example.com or https://www.example.com/)",
        +  "type": "string"
        +}
    • Addedimage_page_audit
    • Changedimage_pages_overview1 field changed
      • addedInput schema / properties / site_url
        Added value: +{
        +  "description": "Override the configured property (e.g. sc-domain:example.com or https://www.example.com/)",
        +  "type": "string"
        +}
    • Changedimage_search_quick_wins1 field changed
      • addedInput schema / properties / site_url
        Added value: +{
        +  "description": "Override the configured property (e.g. sc-domain:example.com or https://www.example.com/)",
        +  "type": "string"
        +}
  2. 9 tool updatesv2.4.0
    • Changedadvanced_search_analytics1 field changed
      • addedInput schema / properties / search_type
        Added value: +{
        +  "description": "Filter by GSC search surface. Defaults to web. Use 'image' to query Google Images data.",
        +  "enum": [
        +    "web",
        +    "image",
        +    "video",
        +    "news",
        +    "discover",
        +    "googleNews"
        +  ],
        +  "type": "string"
        +}
    • Addedcompare_web_vs_image
    • Addedgenai_conversation_queries
    • Addedimage_content_decay
    • Addedimage_impressions_no_clicks
    • Addedimage_keyword_overview
    • Addedimage_keyword_trends
    • Addedimage_pages_overview
    • Addedimage_search_quick_wins
  3. 20 tool updatesv2.2.2
    • First observedadvanced_search_analytics
    • First observedcannibalization_check
    • First observedcheck_alerts
    • First observedcontent_decay
    • First observedcontent_gaps
    • First observedcontent_recommendations
    • First observedctr_opportunities
    • First observedctr_vs_benchmark
    • First observedgenerate_report
    • First observedinspect_url
    • First observedlist_sitemaps
    • First observedmulti_site_dashboard
    • First observedquick_wins
    • First observedsite_snapshot
    • First observedsubmit_batch
    • First observedsubmit_sitemap
    • First observedsubmit_url
    • First observedtopic_cluster_performance
    • First observedtraffic_drops
    • First observedverify_claim

TDQS

A3.7/5.0
Disambiguation4/5

Each tool has a clear analytical target: URL inspection, site snapshot, quick wins, traffic drops, content gaps, cannibalization, image-search variants, etc. The main overlap is among synthesizing tools like check_alerts, content_recommendations, and generate_report, but their descriptions clearly frame them as aggregators. Advanced_search_analytics could duplicate several specialized tools, but it is positioned as the low-level custom query option.

Naming Consistency3/5

Tool names are consistently snake_case and readable, and operative actions follow a clear submit_/ist_ pattern. However, most analytical tools use noun phrases like quick_wins, content_gaps, and image_content_decay rather than a uniform verb_noun convention, and compare_web_vs_image stands out as a different verb style.

Tool Count2/5

29 tools exceeds the 25-tool threshold, making the surface feel bloated rather than well-scoped. Many tools are near-variants of the same analytical idea (e.g. quick_ins vs image_search_quick_wins, content_decay vs image_content_decay) or are synthesizing tools that could potentially be consolidated.

Completeness4/5

The core GSC workflows are covered well: search analytics, URL inspection, indexing submission, sitemap management, and SEO opportunity identification. Minor gaps like sitemap deletion, property listing, and lower-level site management are absent but can be worked around in most agent workflows.

Maintenance

ActivityMaintained
ResponsivenessSlow

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
    B
    quality
    C
    maintenance
    Connects Google Search Console with Claude AI to enable SEO professionals to analyze their SEO data through natural language conversations, providing access to property information, search analytics, URL inspection, and sitemap management.
    1,458
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Google Search Console with Claude AI to analyze SEO data through natural language, enabling search analytics reporting, URL inspection, indexing status checks, sitemap management, and data visualization for SEO professionals.
    MIT
  • 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
    C
    maintenance
    Enables querying Google Search Console data, including search analytics, indexing status, and sitemap management, through natural language conversations with Claude.
    132
    5
    MIT

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/Suganthan-Mohanadasan/Suganthans-GSC-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server