Skip to main content
Glama
get-mcp-ads

Google Search Console by Get MCP Ads

Google Search Console MCP server

Bring your search performance into the conversation.

Investigate queries, pages, indexing and sitemaps through a read-only MCP server.

Release CI License: Apache 2.0 Node

Watch the demo · What's new · Install · Tool reference · Try hosted getmcpads

Watch the getmcpads product demo: campaign review in Claude

Play the 27-second product film

The film demonstrates hosted getmcpads with staged data. Its creative galleries and MCP Apps interface belong to the hosted product. This repository provides the standalone native API tools.

20 read tools · Read-only by design.

Run locally with your own platform credentials and a client that supports stdio MCP, such as Claude Desktop, Claude Code or Cursor. Your requests go directly to the platform. For managed connections, including supported ChatGPT setups, use the hosted option.

What's new

v2.0.1: Native tools and security update · September 20, 2026

  • Bound automatic pagination to four pages, 100,000 rows and a 30-second total deadline.

  • Expose pagination and truncation diagnostics while preserving hourly data and native metadata.

  • Remove provider error bodies from logs and errors; bound search-type comparison fan-out.

  • Require Node.js 22.12 or newer and check Node 22/24 in CI.

  • Update vulnerable dependencies and regenerate the MCP catalog.

Full changelog · Source synchronization details · All releases

Upgrade notes

Requires Node.js 22.12 or newer. CI covers Node 22 and 24. Version 2.0.1 drops Node 18 and 20 support. Hosted creative integrations and MCP Apps UI are outside this release.

Related MCP server: google-search-console-mcp-claude-code

Install this release

This is a GitHub source release. npm and MCP Registry versions are published separately. The commands below select this exact version; unpinned npx examples later in this document select the version currently available on npm.

git clone --branch v2.0.1 --depth 1 https://github.com/get-mcp-ads/google-search-console-mcp-server.git
cd google-search-console-mcp-server
npm ci
npm run build

Configure your MCP client to run node with the absolute path to dist/cli.js and the platform credentials documented below.

Prefer a managed connection? Use Google Search Console with hosted getmcpads. Connect your account, select the data your assistant may access and use the hosted MCP connection. See the site for current features and plans.

What you get

20 read tools

Search Analytics, sites, sitemaps, URL Inspection, and analyses built on top of them

SEO analyses, not just an API wrapper

Cannibalisation detection, query clustering, wins and losses between periods, indexation watchlists, large-site sampling plans

7 resources

Live catalogues the model can read: metrics, dimensions, filters, compatibility rules, 8 workflow recipes, read-only playbooks

Quota guardrails

Every URL Inspection call is capped at 10 URLs, so one exploratory question cannot burn a day of quota

No writes at all

Not a flag, a property of the code. See below

What it does beyond fetching rows

Search Console answers questions about rows. Most real questions are about change: which queries did we lose, which pages compete for the same term, is indexing drifting.

These tools do that work rather than leaving it to the model:

Tool

Question it answers

gsc_detect_cannibalization

Which pages compete for the same query

gsc_find_losses_gains

What we won and lost between two periods

gsc_cluster_queries

Which queries belong to the same intent

gsc_compare_search_types

How web, image, video and news differ

gsc_analyze_search_appearance_trends

How rich results evolve

gsc_indexation_watchlist

Which URLs changed indexing verdict

gsc_plan_large_site_sampling

Which URLs to inspect, when you cannot inspect them all


One thing to know before you trust a number

Search Console returns a top N, not a site total.

When you query with a dimension such as query or page, the API returns the highest ranked rows up to your row limit, ordered by clicks. Summing the clicks of those rows does not give you the site total: the long tail is missing, and on a large site it can be most of the traffic.

To get a real total, query without dimensions. To compare periods, compare like with like: same dimensions, same row limit, same search type.

gsc_query_search_analytics reports what it actually returned, and gsc_validate_query checks a combination before it runs. But the arithmetic mistake is yours to avoid, and it is the most common one in Search Console analysis.

Two other limits worth carrying in your head:

  • Roughly 16 months of history. Anything older is gone, not slow.

  • Data settles over about three days. gsc_get_data_freshness tells you what is final.


Read-only, and why it stays that way

There are no write tools, and no environment variable that adds any. The Search Console API can submit and delete sitemaps, add and remove properties, and request indexing. This server exposes none of that.

The scope it asks for reflects that: webmasters.readonly, not webmasters. Even if the model tried, the token cannot write.

Our ad platform servers, where writes make sense, do have them, guarded by a mandatory preview: Meta Ads · Google Ads · TikTok Ads

The hosted version at getmcpads.com keeps the same rule: Search Console stays read-only there too.


Getting credentials

Three values, obtained once.

1. OAuth client

In a Google Cloud project, enable the Google Search Console API, then create an OAuth client under APIs & Services → Credentials. Choose Desktop app for local use. Note the client ID and client secret.

2. Refresh token

Run the OAuth consent flow once, signed in as a Google account that owns or can read your properties, and keep the refresh token. Request webmasters.readonly and nothing more.

📖 Google OAuth for installed apps

The refresh token does not expire. Use an OAuth client dedicated to this server so you can revoke it on its own.

For a quick trial you can set GSC_ACCESS_TOKEN to a short-lived token instead, but it expires within the hour and is useless for daily work.

If setting up an OAuth client is more than you want to do for one property, getmcpads.com handles the consent flow for you and gives you the same tools behind a hosted endpoint.

3. Site URL, optional

Set GSC_SITE_URL to avoid passing it on every call. Both property forms work:

Property type

Value

URL-prefix

https://example.com/ (the trailing slash matters)

Domain

sc-domain:example.com

List what you can reach with gsc_list_sites, and run gsc_health_check as your first call. It verifies the credentials without printing any secret.


Setup

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "search-console": {
      "command": "npx",
      "args": ["-y", "@getmcpads/google-search-console-mcp-server"],
      "env": {
        "GSC_CLIENT_ID": "your-client-id",
        "GSC_CLIENT_SECRET": "your-client-secret",
        "GSC_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}

Restart Claude Desktop. Ask it: "which queries did we lose last month?".

Claude Code

claude mcp add search-console --env GSC_CLIENT_ID=... --env GSC_CLIENT_SECRET=... --env GSC_REFRESH_TOKEN=... -- npx -y @getmcpads/google-search-console-mcp-server

Cursor

.cursor/mcp.json in your project, same shape as the Claude Desktop config above.

From source

git clone https://github.com/get-mcp-ads/google-search-console-mcp-server.git
cd google-search-console-mcp-server
npm install && npm run build
cp .env.example .env   # then fill in your credentials
npm start

Configuration

Variable

Default

Meaning

GSC_CLIENT_ID

none

OAuth client ID

GSC_CLIENT_SECRET

none

OAuth client secret

GSC_REFRESH_TOKEN

none

From the consent flow

GSC_ACCESS_TOKEN

none

Alternative to the three above, expires within the hour

GSC_SITE_URL

none

Optional default property

LOG_LEVEL

info

debug, info, warn, error

Either the three OAuth values, or GSC_ACCESS_TOKEN. The server refuses to start with neither.

npm run doctor

Tools

Every tool is listed below. See server-card.json for complete parameter and output schemas.

Tool

Purpose

gsc_list_sites

List all Google Search Console properties accessible with the current credentials.

gsc_get_site

Get one Search Console property and its exact permission level (read-only sites.get).

gsc_health_check

Verify Google Search Console read-only authentication, visible properties, configured default site, and permission levels without exposing tokens.

gsc_query_search_analytics

Query Google Search Console Search Analytics.

gsc_inspect_url

Inspect a URL for Google indexing status, crawl info, mobile usability, AMP, and rich results.

gsc_bulk_inspect_urls

Inspect multiple URLs with a conservative sequential limit and normalized URL Inspection results.

gsc_list_sitemaps

List sitemaps submitted for a Search Console property, including processing status and submitted/indexed counts.

gsc_get_sitemap

Get one submitted sitemap by full feed path, including type, fetch state, warnings/errors, and submitted/indexed content totals.

gsc_get_sitemap_health

Return an enriched read-only sitemap health summary with status totals, submitted/indexed content counts, warnings, and errors.

gsc_compare_search_types

Compare performance across Search Console search types: web, image, video, news, discover, and Google News.

gsc_get_data_freshness

Detect the most recent date with Search Analytics data by querying recent daily rows.

gsc_monitor_indexation_freshness

Read-only monitoring snapshot for Search Analytics freshness, sitemap indexation totals, and an optional small URL Inspection sample.

gsc_track_sitemap_deltas

Read-only sitemap delta tracker.

gsc_analyze_search_appearance_trends

Analyze structured data and rich-result trend signals via the Search Analytics searchAppearance dimension when GSC exposes it.

gsc_plan_large_site_sampling

Build a read-only URL Inspection sampling plan for large sites from sitemap risk signals and Search Analytics page performance.

gsc_indexation_watchlist

Read-only URL Inspection watchlist for critical URLs.

gsc_find_losses_gains

Compare two periods for query or page performance and return click/impression/CTR/position deltas.

gsc_cluster_queries

Cluster Search Console queries by simple tokens and intent signals: brand/non-brand, question, category, and topic tokens.

gsc_detect_cannibalization

Detect queries where multiple pages compete for clicks/impressions in Search Analytics query-page rows.

gsc_validate_query

Validate a Search Console metric/dimension/search type combination before executing it.

URI

Contents

gsc://manifest

What this server exposes, and which tool to run first

gsc://metrics

The 8 Search Analytics metrics, raw and derived

gsc://dimensions

The 7 dimensions and where they are valid

gsc://filters

The 5 filter operators and their accepted values

gsc://compatibility

Which dimensions work with which search types and data states

gsc://recipes

8 step-by-step workflows

gsc://p2-readonly-playbooks

Monitoring playbooks and their invariants


Security

  • The client secret and refresh token are never logged, at any log level, or written to disk.

  • Four hosts are contacted, and only four: searchconsole.googleapis.com and www.googleapis.com for the API, oauth2.googleapis.com and accounts.google.com for OAuth. A test fails the build if a fifth host appears in the source.

  • No fetch follows a redirect. Every outbound call sets redirect: "error", so a redirect cannot forward a bearer token or client secret to another host. A test fails the build if any fetch omits this.

  • The scope is webmasters.readonly. The token itself cannot write.

  • No telemetry. The server makes no network call other than to Google.

Full policy: SECURITY.md.


Looking for a managed, multi-platform version?

Try hosted Search Console if you want to use this source without operating a local server. getmcpads also connects advertising, Search Console and GA4 through one MCP URL. Source availability and plan limits are listed on the site; connecting an account is still required.

  1. Follow the Search Console connection guide.

  2. Select the account or property your assistant may read.

  3. Connect Claude, ChatGPT or Codex.

  4. Try a read-only review: “Find which pages and queries account for a change in organic clicks. State missing data and do not change anything.”

See the current hosted tool catalogue and pricing before choosing a paid plan. This Apache 2.0 adapter remains independently useful with your own credentials.


Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md. Please read SECURITY.md before reporting anything security-related.

Licence

Apache License 2.0. See also NOTICE.

Google and Google Search Console are trademarks of Google LLC. This project is not affiliated with, endorsed by, or sponsored by Google LLC. It is an independent client of a public API.

MCP contracts and desktop bundle

Every tool declares read/write annotations, parameter descriptions and a structured output schema. Successful calls expose the payload as structuredContent.result; errors retain isError: true. The generated server card contains definitions only.

Run npm run bundle -- /path/to/output to build a .mcpb desktop bundle from the current catalog. Credentials are entered locally during installation. This server remains read-only.

More from getmcpads

Meta Ads · Google Ads · Google Analytics 4 · TikTok Ads · Pinterest Ads · X Ads

Maintained by Emmanuel at getmcpads. Questions: hello@getmcpads.com.

Available Tools

20 tools
gsc_bulk_inspect_urlsgsc bulk inspect urlsA
Read-onlyIdempotent

Inspect multiple URLs with a conservative sequential limit and normalized URL Inspection results. Quota: 2000 requests/day/property.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesFull URLs to inspect. Maximum 10 per call to protect URL Inspection quota.
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
languageCodeNoOptional IETF language tag, e.g. en-US or fr-FR.
continueOnErrorNoWhen true, returns per-URL errors instead of failing the entire batch.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds value by disclosing a rate limit ('2000 requests/day/property') and a 'conservative sequential limit', plus normalization of results. This is useful operational context beyond the annotations, though the exact throttling mechanism is not detailed.

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

Conciseness5/5

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

The description is two sentences with no filler. The core action ('Inspect multiple URLs') is front-loaded, and the quota/limit caveat follows in a compact second sentence. Every word earns its place.

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

Completeness4/5

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

Given the presence of a full output schema, annotations, and 100% schema parameter coverage, the description covers the essential constraints: batch scope, sequential processing, and quota. It could be slightly more complete by naming gsc_inspect_url as the single-URL alternative, but nothing critical is missing for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters with meaningful descriptions. The tool description does not add parameter-level detail, which is acceptable at the baseline 3; the description's quota note complements but does not compensate for schema-level 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: 'Inspect multiple URLs', which clearly distinguishes this batch tool from the sibling gsc_inspect_url for single URL inspection. It also adds meaningful qualifiers ('conservative sequential limit', 'normalized URL Inspection results') that go beyond the tool name.

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 implies batch usage ('multiple URLs') and provides operational context via the quota and sequential-limit notes. However, it does not explicitly state 'use gsc_inspect_url for a single URL' or mention any exclusion criteria, so it stops short of fully explicit alternative routing.

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

gsc_cluster_queriesgsc cluster queriesA
Read-onlyIdempotent

Cluster Search Console queries by simple tokens and intent signals: brand/non-brand, question, category, and topic tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of returned items or rows. The declared bounds and default apply; use pagination for additional results.
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
dateRangeNoExplicit reporting start and end dates in YYYY-MM-DD format.
brandTermsNoOptional brand terms. Defaults to terms derived from the property domain.
datePresetNoNamed reporting period. Use the custom date range when you need exact start and end dates.last28days
searchTypeNoSearch surface to report, such as web, image, video, news or Discover. Availability depends on the property.web
maxClustersNoMaximum query clusters to return.
categoryRulesNoOptional map of category name to matching tokens/phrases.
topQueriesPerClusterNoMaximum example queries returned for each cluster.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior honestly. The description adds meaningful algorithmic context beyond those annotations by stating that clustering relies on 'simple tokens and intent signals' rather than complex semantic analysis)Skip; this gives the agent a clearer model of what the tool will and will not do.

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

Conciseness5/5

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

The description is one sentence, front-loaded with the core action ('Cluster Search Console queries') and then lists the key clustering dimensions. Every part earns its place and there is no filler or repetition.

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 full input schema, annotations, and output schema carry a lot of the context, so the description does not need to be long. However, it leaves open how a user can influence the 'question', 'category', or 'topic' clusters and does not clarify whether the tool fetches data itself or operates on previously retrieved queries. For a tool with nine parameters and nested objects, a bit more operational context would improve completeness.

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

Parameters3/5

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

The input schema has 100% description coverage, so the baseline is 3. The description does add conceptual meaning by grouping brand/non-brand, question, category, and topic signals, which loosely maps to brandTerms and categoryRules. However, it does not explain how those token types translate to specific parameters, and the schema already handles parameter-level semantics competently.

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

Purpose4/5

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

The description clearly states a specific verb and resource: clustering Search Console queries. It adds useful detail by listing the token types and intent signals used (brand/non-brand, question, category, topic). It does not explicitly differentiate from sibling tools like gsc_query_search_analytics, but the clustering action is distinct enough to be understood.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 say when to use this tool versus alternatives such as gsc_query_search_analytics or gsc_validate_query. There is no explicit context about prerequisites, expected input flow, or when the clustering output is preferable to raw query data. Usage is only weakly implied by the verb 'cluster'.

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

gsc_compare_search_typesgsc compare search typesB
Read-onlyIdempotent

Compare performance across Search Console search types: web, image, video, news, discover, and Google News.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
dateRangeNoExplicit reporting start and end dates in YYYY-MM-DD format.
datePresetNoNamed reporting period. Use the custom date range when you need exact start and end dates.last28days
searchTypesNoSearch surfaces to compare. Each surface is queried separately; do not sum overlapping surfaces.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already establish that the operation is read-only, idempotent, open-world, and non-destructive, so the description does not need to restate safety. However, the description itself adds no behavioral context beyond the naming of search types, such as how results are aggregated or whether surfaces are queried independently.

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

Conciseness5/5

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

A single, front-loaded sentence states the action and the full domain, with no filler or repetition. Every word contributes to scope definition, and the list of search types is displayed compactly.

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?

Combined with the rich input schema (descriptions for all parameters, defaults, and a nested dateRange), the annotations, and the presence of an output schema, the description is adequate for an agent to understand and invoke the tool. The main missing piece is the lack of routing guidance versus sibling analytics tools, which is already reflected in the usage_guidelines score.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 and the description is not required to carry parameter details. The tool description only reinforces the search type list already captured by the searchTypes enum; it adds no extra meaning for siteUrl, dateRange, or datePreset.

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

Purpose4/5

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

The description uses a specific verb ('Compare') and identifies the resource ('Search Console search types'), then enumerates the types (web, image, video, news, discover, Google News), so the agent knows exactly what domain the tool covers. It is not tautological, though it does not explicitly contrast itself with sibling analytics tools like gsc_query_search_analytics.

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

Usage Guidelines2/5

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

No explicit when-to-use, when-not-to-use, or alternative tool guidance appears in the description. The phrasing 'Compare performance across...' only implies that the tool is for cross-search-type comparison, leaving the agent to infer when to choose it over the many analytics siblings.

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

gsc_detect_cannibalizationgsc detect cannibalizationA
Read-onlyIdempotent

Detect queries where multiple pages compete for clicks/impressions in Search Analytics query-page rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNNoMaximum number of highest-ranked results to return.
limitNoMaximum number of returned items or rows. The declared bounds and default apply; use pagination for additional results.
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
minPagesNoMinimum distinct pages ranking for a query before it is considered a cannibalization candidate.
dateRangeNoExplicit reporting start and end dates in YYYY-MM-DD format.
datePresetNoNamed reporting period. Use the custom date range when you need exact start and end dates.last28days
searchTypeNoSearch surface to report, such as web, image, video, news or Discover. Availability depends on the property.web
minImpressionsNoMinimum reported impressions required for a row to enter the analysis.
maxTopPageClickShareNoOnly flag queries where the top page owns less than or equal to this click share.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context by specifying the data source and unit of analysis ('Search Analytics query-page rows'), but it does not reveal additional behavioral traits such as thresholds or analysis methodology beyond what the schema already documents.

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

Conciseness5/5

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

A single sentence that is immediately informative and contains no filler. The core action and the subject being analyzed are front-loaded, making the description easy to scan and act on.

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

Completeness4/5

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

Given the rich input schema with 100% parameter coverage, the presence of an output schema, and strong annotations, the one-line description is nearly sufficient. It could briefly mention the detection criteria, such as minPages and maxTopPageClickShare, but the schema already covers those details, so nothing critical is missing for an agent to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented with descriptions, defaults, and bounds. The description adds no extra parameter-level meaning, matching the baseline of 3 for high schema coverage with no additional parameter guidance.

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

Purpose5/5

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

The description uses a specific verb, 'Detect', and names a precise resource: queries where multiple pages compete for clicks/impressions in Search Analytics query-page rows. It clearly defines the cannibalization concept the tool addresses, which distinguishes it from sibling tools like gsc_query_search_analytics and gsc_cluster_queries.

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

Usage Guidelines3/5

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

The description implies when to use the tool: whenever a user wants to identify cannibalization among pages for the same query. However, it does not explicitly state when not to use it or mention alternative sibling tools, so the selection guidance is left mostly to inference.

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

gsc_find_losses_gainsgsc find losses gainsA
Read-onlyIdempotent

Compare two periods for query or page performance and return click/impression/CTR/position deltas.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNNoMaximum number of highest-ranked results to return.
limitNoRows to fetch for each period.
sortByNoMetric or dimension used to rank the returned results.clicksDelta
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
dimensionNoReporting dimension used to group and compare results.query
datePresetNoNamed reporting period. Use the custom date range when you need exact start and end dates.last28days
searchTypeNoSearch surface to report, such as web, image, video, news or Discover. Availability depends on the property.web
currentDateRangeNoCurrent period. Defaults to datePreset.
minAbsClickDeltaNoFilter out rows with smaller absolute click delta.
previousDateRangeNoPrevious period. Defaults to the immediately preceding period with the same length.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds that it compares two periods and returns deltas for four metrics, which is useful but not extensive; it does not explain ranking behavior, period defaults, or filtering semantics, leaving much of the behavioral context to the schema and output schema.

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

Conciseness5/5

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

A single, front-loaded sentence communicates the core operation, scope, and return values without any filler. Every word earns its place, and the structure makes the tool's purpose immediately scannable.

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 10 parameters, nested date-range objects, and an output schema, the description is brief but the surrounding structured information is rich and complete. The main missing piece is explicit routing guidance among the many related GSC siblings, which prevents a 5.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 even without additional parameter explanation in the description. The description does map loosely to the 'dimension' and 'sortBy' concepts by mentioning query/page and metric deltas, but it adds no new parameter-level meaning beyond what the schema already provides.

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

Purpose5/5

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

The description states a specific action ('Compare two periods'), a clear resource scope ('query or page performance'), and the exact output metrics ('click/impression/CTR/position deltas'). This distinguishes it from siblings like gsc_query_search_analytics, which targets single-period queries, and gsc_compare_search_types, which compares search types rather than periods.

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

Usage Guidelines3/5

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

The description implies the primary use case: when an agent needs period-over-period performance comparison. However, it does not explicitly state when to avoid this tool or name alternatives such as gsc_query_search_analytics for single-period reporting, so the usage guidance remains implicit rather than explicit.

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

gsc_get_data_freshnessgsc get data freshnessA
Read-onlyIdempotent

Detect the most recent date with Search Analytics data by querying recent daily rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
searchTypeNoSearch surface to report, such as web, image, video, news or Discover. Availability depends on the property.web
lookbackDaysNoRecent days to scan for daily data. Max 30.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds modest behavioral context by saying the tool scans recent daily rows, but it does not disclose edge-case behavior like what happens when no data exists in the lookback window. The output schema lowers the burden of explaining return values.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It states the core function first and the mechanism second, making it immediately scannable for an agent.

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

Completeness5/5

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

This is a simple, low-risk read-only tool with zero required parameters, fully documented schema, rich annotations, and an output schema. The one-sentence description is sufficient for an agent to invoke it correctly; nothing essential is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description's 'recent daily rows' loosely maps to lookbackDays but adds no new semantic detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose5/5

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

The description names a specific verb ('Detect') and a concrete resource ('most recent date with Search Analytics data'), which clearly differentiates it from general query tools like gsc_query_search_analytics. It also conveys the method ('querying recent daily rows') without ambiguity.

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

Usage Guidelines3/5

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

The use case is implied by the description: the tool tells you how fresh Search Analytics data is. However, it does not explicitly state when to prefer this over siblings such as gsc_monitor_indexation_freshness or gsc_query_search_analytics, leaving the routing decision to inference.

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

gsc_get_sitegsc get siteA
Read-onlyIdempotent

Get one Search Console property and its exact permission level (read-only sites.get).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the 'exact permission level' detail, which is a useful behavioral trait beyond the annotations. Yet it mostly reinforces the read-only nature rather than disclosing new context like pagination or error behavior, so it earns a solid mid-range score.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the verb and resource, and adds the API method in parentheses without extra fluff. Every word earns its place.

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

Completeness4/5

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

For a simple read-only tool with one optional parameter, full schema coverage, rich annotations, and an output schema, the description is nearly complete. The only minor gap is that it doesn't explicitly point to gsc_list_sites as the alternative for listing all properties, but the 'one property' wording and the availability of an output schema make it sufficiently complete.

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

Parameters3/5

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

Schema description coverage is 100% and already explains siteUrl thoroughly, including examples and the GSC_SITE_URL fallback. The tool description itself contributes no parameter-specific details, so with high schema coverage the baseline of 3 is appropriate.

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

Purpose5/5

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

The description states exactly what the tool does: 'Get one Search Console property and its exact permission level'. It uses a specific verb and resource, and the qualifier 'one' clearly distinguishes it from listing all properties. The parenthetical '(read-only sites.get)' also identifies the underlying API method, making the purpose unambiguous even among many siblings.

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

Usage Guidelines4/5

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

The phrase 'one Search Console property' clearly signals this is for retrieving a single, specific property rather than listing all of them, which implicitly contrasts with gsc_list_sites. However, the description does not explicitly name the alternative or state when not to use it, so it stops short of full usage routing.

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

gsc_get_sitemapgsc get sitemapA
Read-onlyIdempotent

Get one submitted sitemap by full feed path, including type, fetch state, warnings/errors, and submitted/indexed content totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
feedpathYesFull sitemap URL exactly as submitted to Search Console.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already establish that this is read-only, open-world, idempotent, and non-destructive. The description adds useful scope (submitted sitemap, full feed path) and return-content details, but it does not disclose significant behavioral traits beyond what the annotations and schema already convey.

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

Conciseness5/5

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

A single dense sentence that states the operation, the selection criterion, and the key output categories with no filler. The most important information is front-loaded.

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

Completeness5/5

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

For a simple single-getter tool with strong annotations and an output schema, the description is complete. It tells the agent exactly what to fetch, by what identifier, and what kind of information the response contains.

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

Parameters3/5

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

Schema description coverage is 100%, with feedpath documented as 'Full sitemap URL exactly as submitted to Search Console.' The description's phrase 'full feed path' adds no new parameter semantics beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

The description uses a specific verb and resource—'Get one submitted sitemap by full feed path'—and enumerates what the response includes (type, fetch state, warnings/errors, submitted/indexed totals). It clearly distinguishes this single-item getter from siblings like gsc_list_sitemaps.

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 intended context clear: use this when you need one specific submitted sitemap and already know its full feed path. It does not explicitly name alternatives or exclusions, but the 'one... by full feed path' framing gives solid usage context.

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

gsc_get_sitemap_healthgsc get sitemap healthA
Read-onlyIdempotent

Return an enriched read-only sitemap health summary with status totals, submitted/indexed content counts, warnings, and errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety and mutation profile. The description adds modest behavioral context by saying the result is 'enriched' and listing what it contains, but it does not describe data source behavior, freshness, or aggregation semantics beyond that.

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

Conciseness5/5

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

The description is a single front-loaded sentence that states the action and the key output categories without filler. Every phrase contributes to understanding what the tool returns.

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?

For a single-optional-parameter read-only tool with an output schema and protective annotations, the description is sufficiently complete. It identifies the result type and the main dimensions of the health summary, and the explicit 'sitemap health' wording disambiguates it from more general health-check siblings.

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

Parameters3/5

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

The only parameter, siteUrl, is fully documented in the schema with examples and the GSC_SITE_URL fallback, so schema description coverage is 100%. The description adds no additional parameter-level meaning, but the schema already carries the 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 description names a specific resource ('sitemap health summary') and a concrete verb ('Return'), and enumerates distinctive contents: status totals, submitted/indexed counts, warnings, and errors. This separates it from sibling list/get sitemap tools and makes the tool's job immediately clear.

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

Usage Guidelines3/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no sibling alternatives are named. The intended use is only implied by the phrase 'sitemap health summary,' so an agent must infer that this tool is for aggregated sitemap health/status summaries rather than raw sitemap listing or a general health check.

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

gsc_health_checkgsc health checkA
Read-onlyIdempotent

Verify Google Search Console read-only authentication, visible properties, configured default site, and permission levels without exposing tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds a meaningful guarantee: 'without exposing tokens.' It also enumerates the exact checks performed, providing behavioral context beyond the structured hints.

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

Conciseness5/5

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

One concise sentence front-loads the verb and scope, then adds a safety qualifier. Every word contributes value and there is no redundancy.

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

Completeness5/5

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

For a tool with one optional parameter, full schema coverage, a rich output schema, and strong safety annotations, the description is complete enough for an agent to select and invoke it correctly. The only minor gap is explicit sibling differentiation, which is not critical here.

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

Parameters3/5

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

The single parameter siteUrl is fully documented in the schema, including its fallback to GSC_SITE_URL. The description adds no parameter-specific detail, but with 100% schema coverage the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Verify') and names the exact subjects: read-only authentication, visible properties, configured default site, and permission levels. This clearly differentiates it from data-query siblings like gsc_query_search_analytics or gsc_list_sitemaps.

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 use for checking connectivity, permissions, and configuration, but it does not explicitly contrast with similar tools like gsc_list_sites or gsc_get_site, nor does it state when not to use it. Usage context is present but alternatives and exclusions are absent.

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

gsc_indexation_watchlistgsc indexation watchlistA
Read-onlyIdempotent

Read-only URL Inspection watchlist for critical URLs. Inspects up to 10 URLs and returns alert/review/ok assessments without storing state.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesWatchlist entries. Maximum 10 per call to protect URL Inspection quota.
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
languageCodeNoOptional IETF language tag, e.g. en-US or fr-FR.
continueOnErrorNoContinue with other URLs when one inspection fails, returning individual failures.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and idempotentHint=true. The description adds meaningful behavioral context with 'without storing state' and 'returns alert/review/ok assessments', which helps an agent understand side effects and result semantics beyond the raw 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?

Two short sentences with no filler. The key facts—read-only nature, watchlist scope, 10-URL cap, return categories, and statelessness—are front-loaded and every clause contributes value.

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

Completeness4/5

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

For a read-only, idempotent tool with a full schema and output schema, the description captures purpose, scope, quota, result types, and side-effect behavior. It lacks only a sentence directing users away from overlapping siblings, which would make it fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter already has meaningful documentation in the schema. The description adds no per-parameter detail, but the baseline score of 3 is appropriate because the schema carries the semantic weight.

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

Purpose4/5

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

The description states a specific verb ('Inspects') and resource ('URL Inspection watchlist'), and names the distinctive output ('alert/review/ok assessments'). It clearly differentiates the tool from a generic inspection call, but it does not explicitly name or contrast sibling tools like gsc_bulk_inspect_urls.

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?

'Watchlist for critical URLs' gives a clear intended use case: monitoring a curated set of important URLs rather than performing ad-hoc inspections. It does not provide explicit when-not-to-use guidance or name alternatives, so it stops short of full exclusion context.

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

gsc_inspect_urlgsc inspect urlB
Read-onlyIdempotent

Inspect a URL for Google indexing status, crawl info, mobile usability, AMP, and rich results. Quota: 2000 requests/day/property.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL to inspect.
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
languageCodeNoOptional IETF language tag, e.g. en-US or fr-FR.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is well covered. The description adds a concrete quota (2000 requests/day/property) but does not disclose response behavior, failure cases, or auth requirements beyond what annotations imply.

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

Conciseness5/5

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

Two sentences with no filler: the first states the action and diagnostic scope clearly, and the second adds quota information. It is appropriately sized and front-loaded.

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

Completeness4/5

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

With a full input schema, an output schema, and annotations covering safety, the description is nearly complete for correct invocation. The only meaningful gap is the missing pointer to gsc_bulk_inspect_urls, but that is already accounted for in usage guidelines.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents url, siteUrl, and languageCode adequately. The description adds no parameter-level meaning beyond what is already available in the schema.

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

Purpose4/5

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

Description opens with a specific verb 'Inspect' and a clear object 'URL,' and enumerates diagnostic dimensions: indexing status, crawl info, mobile usability, AMP, and rich results. It is clearly differentiated from unrelated siblings, though it does not explicitly contrast with the closely named gsc_bulk_inspect_urls.

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

Usage Guidelines2/5

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

No explicit guidance on when to choose this tool over gsc_bulk_inspect_urls or alternate analysis tools. Usage must be inferred from the singular 'a URL,' and there is no mention of exclusions or conditions that would push the agent toward a sibling.

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

gsc_list_sitemapsgsc list sitemapsA
Read-onlyIdempotent

List sitemaps submitted for a Search Console property, including processing status and submitted/indexed counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
sitemapIndexNoOptional sitemap index URL used to return only its child sitemaps.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds that the tool returns processing status and counts, which is output content rather than behavior. It does not disclose any non-obvious behavior such as pagination, rate limits, or whether only explicitly submitted sitemaps are listed. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the core action and key output details without any fluff. Every word contributes to understanding the tool's purpose. Highly concise and well-structured.

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

Completeness5/5

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

The tool is a simple read-only list operation with two optional parameters and an output schema (though not shown here). The description covers the main function and the type of data returned. Given the annotations and schema richness, nothing essential is missing for an agent to decide whether to invoke this 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 provides 100% coverage for both parameters (siteUrl and sitemapIndex) with clear descriptions, including the default for siteUrl. The tool description does not add any additional parameter semantics beyond what the schema already states, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (list sitemaps) and the scope (submitted for a Search Console property), and mentions the output includes processing status and counts. It implicitly distinguishes from gsc_get_sitemap (singular) through the plural 'sitemaps' and 'list' verb, but does not explicitly name alternatives. It is specific and unambiguous.

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

Usage Guidelines3/5

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

The description implies usage: if you need to list all sitemaps for a property, use this tool. However, it does not explicitly state when not to use it or mention alternatives like gsc_get_sitemap for a specific sitemap, nor does it discuss the optional sitemapIndex filter's role. Usage context is present but implicit.

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

gsc_list_sitesgsc list sitesA
Read-onlyIdempotent

List all Google Search Console properties accessible with the current credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is well covered. The description adds the credential-dependent scoping ('accessible with the current credentials'), which is useful, but it does not describe pagination or response shape; the output schema likely covers return format.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every word earns its place and the key scoping detail is included immediately.

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?

For a zero-parameter, read-only listing tool with an output schema and rich annotations, the description is complete. An agent knows exactly what the tool does and what scope to expect, and nothing material 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?

The tool has zero parameters and the schema properties object is empty, so there is nothing meaningful to explain. The baseline of 4 applies here because no parameter documentation is needed.

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

Purpose5/5

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

The description uses a specific verb ('List all') and a clear resource ('Google Search Console properties'), and it distinguishes itself from gsc_get_site by emphasizing the full set of accessible properties. The scope is explicit: only properties accessible with the current credentials.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus siblings such as gsc_get_site, or whether this should be called first to discover properties. The context is implied by the word 'List', but no exclusions or alternatives are mentioned.

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

gsc_monitor_indexation_freshnessgsc monitor indexation freshnessB
Read-onlyIdempotent

Read-only monitoring snapshot for Search Analytics freshness, sitemap indexation totals, and an optional small URL Inspection sample.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
inspectUrlsNoOptional URLs to inspect. Maximum 10 to protect URL Inspection quota.
searchTypesNoSearch surfaces to compare. Each surface is queried separately; do not sum overlapping surfaces.
languageCodeNoOptional IETF language tag for URL Inspection, e.g. en-US or fr-FR.
lookbackDaysNoRecent days to scan for Search Analytics freshness.
freshnessLagWarningDaysNoMaximum acceptable lag in days before freshness is marked delayed/stale.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by clarifying the combined read-only scope and the optional sampling behavior, but it does not disclose details like multiple API calls, quota impact beyond the schema's maxItems note, or operational caveats. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single tight sentence that names all three monitoring components and the read-only nature. Every element earns its place, with no filler or repetition.

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

Completeness4/5

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

Given the rich annotations, 100% schema coverage, zero required parameters, and an output schema, the description is nearly complete for a low-complexity tool. The main gap is the absence of when-to-use guidance relative to its many siblings, but that is partly mitigated by the clear composite scope.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema fully documents all six parameters. The description itself adds no parameter-specific meaning, but with full schema coverage the baseline of 3 is appropriate.

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

Purpose4/5

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

The description specifies a clear composite purpose: a read-only monitoring snapshot covering Search Analytics freshness, sitemap indexation totals, and an optional URL Inspection sample. It distinguishes the tool from more specific siblings like gsc_query_search_analytics or gsc_get_sitemap, though it does not explicitly name those alternatives.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this snapshot tool versus its many siblings. The description does not state scenarios, prerequisites, or exclusions, and the presence of 19 sibling tools makes this omission significant.

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

gsc_plan_large_site_samplinggsc plan large site samplingA
Read-onlyIdempotent

Build a read-only URL Inspection sampling plan for large sites from sitemap risk signals and Search Analytics page performance.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
dateRangeNoExplicit reporting start and end dates in YYYY-MM-DD format.
pageLimitNoMaximum number of pages considered for the sampling plan.
datePresetNoNamed reporting period. Use the custom date range when you need exact start and end dates.last28days
objectivesNoAnalysis goals that determine the recommended large-site sampling strategy.
searchTypeNoSearch surface to report, such as web, image, video, news or Discover. Availability depends on the property.web
staleSitemapDaysNoNumber of days after which a sitemap's last download is considered stale.
maxInspectionUrlsNoMaximum URL Inspection candidates included in the plan; inspection calls consume provider quota.
minImpressionsForLowCtrNoMinimum impressions before a page is considered for low-CTR analysis.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool is 'read-only' and that it 'builds a plan' rather than performing inspections, which clarifies it doesn't consume inspection quota itself (though maxInspectionUrls parameter hints at quota awareness). It doesn't describe output format, but the output schema exists and covers that.

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

Conciseness5/5

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

A single, information-dense sentence that front-loads the tool's purpose ('Build a read-only URL Inspection sampling plan') and then specifies the data sources. No wasted words, no repetition of schema details. It earns its place by giving the agent the core decision-relevant information immediately.

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

Completeness4/5

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

Given the tool's complexity (9 parameters, nested dateRange object, output schema) and the rich annotations (readOnly, idempotent, openWorld), the description is sufficient for an agent to understand what the tool does and when to call it. The output schema covers return values, and the annotations cover safety. The only minor gap is not explicitly stating that this is a planning/analysis tool rather than an action tool, but 'Build a plan' conveys that.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 9 parameters. The description adds the high-level context that the plan is built from 'sitemap risk signals and Search Analytics page performance', which helps an agent understand how parameters like objectives and sitemapRisk fit together. However, it doesn't add specific parameter-level meaning beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Build'), a specific resource ('read-only URL Inspection sampling plan'), and the data sources ('sitemap risk signals and Search Analytics page performance'). It clearly distinguishes this from siblings like gsc_inspect_url (which inspects a single URL) and gsc_query_search_analytics (which queries raw analytics). The phrase 'large sites' also signals the intended scope.

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

Usage Guidelines4/5

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

The description implies when to use this tool: when you need a sampling plan for large sites, combining sitemap risk and Search Analytics performance. It doesn't explicitly name alternatives or exclusions, but the purpose is specific enough that an agent can infer it's for planning rather than executing inspections or querying raw data. The 'read-only' qualifier also signals it's safe to use in analysis workflows.

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

gsc_query_search_analyticsgsc query search analyticsB
Read-onlyIdempotent

Query Google Search Console Search Analytics. Returns clicks, impressions, CTR, and average position for queries, pages, countries, devices, dates, and search appearances. Use gsc://metrics, gsc://dimensions, gsc://filters, and gsc://compatibility for available fields and rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of returned items or rows. The declared bounds and default apply; use pagination for additional results.
filtersNoFilters combined according to this tool's query schema. Use provider field names and the declared operators.
metricsNoNative: clicks, impressions, ctr, position. Calculated: ctrOpportunity, clicksPerImpression, impressionShare, clickShare.
orderByNoField used to order report rows.clicks
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
startRowNoOptional 0-based row offset for explicit pagination.
dataStateNofinal=stable data, all=fresh daily data, hourly_all=fresh hourly data (use hour dimension).all
dateRangeNoExplicit reporting start and end dates in YYYY-MM-DD format.
datePresetNoNamed reporting period. Use the custom date range when you need exact start and end dates.last28days
dimensionsNoUp to 5 dimensions selected from query, page, country, device, date, hour, searchAppearance.
searchTypeNoSearch surface to report, such as web, image, video, news or Discover. Availability depends on the property.web
autoPaginateNoWhen true, omit rowLimit so the GSC client auto-paginates until exhaustion.
orderDirectionNoSort direction for the selected ordering field.DESC
aggregationTypeNoOfficial GSC aggregation. byProperty is incompatible with page grouping/filtering and Discover/Google News. byNewsShowcasePanel requires discover/googleNews plus searchAppearance equals NEWS_SHOWCASE, and forbids page grouping/filtering or another searchAppearance filter.auto

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it returns clicks, impressions, CTR, and position across several dimensions, which is useful but largely overlaps with the output schema. It does not disclose additional behavioral traits such as rate limits, data freshness handling, or pagination behavior beyond what the schema already specifies.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose and return data, followed by a terse pointer to supporting resources. Every word earns its place; no filler or redundancy.

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

Completeness3/5

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

The tool is complex (14 parameters, nested objects, many enums), but the input schema covers parameter details at 100% and an output schema exists, so the description need not explain those. The pointer to compatibility rules is valuable, yet the description omits any summary of the critical constraint that dimensions are limited to 5 or the aggregationType incompatibilities—though these are in the schema. Given the schema richness, the description is adequate but not comprehensive, especially without guidance on how this raw query relates to sibling analysis tools.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful guidance by pointing to gsc://metrics, gsc://dimensions, gsc://filters, and gsc://compatibility for available fields and rules, which helps the agent construct valid metric/dimension/filter values beyond the raw schema. This extra pointer lifts the score above 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 states a specific verb ('Query'), resource ('Google Search Console Search Analytics'), and return metrics/dimensions, making its core purpose clear. However, it does not explicitly contrast itself with sibling analysis tools like gsc_find_losses_gains or gsc_cluster_queries, so it earns a 4 rather than a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It only points to gsc:// metrics, dimensions, filters, and compatibility resources for field rules, which is operational guidance, not tool-selection guidance. With 18 siblings performing higher-level analyses, the absence of any 'use this for raw data, use X for analysis' note is a clear gap.

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

gsc_track_sitemap_deltasgsc track sitemap deltasA
Read-onlyIdempotent

Read-only sitemap delta tracker. Fetches the current sitemap snapshot and compares it to an agent-provided baseline; no state is written.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteUrlNoSearch Console property URL, e.g. https://example.com/ or sc-domain:example.com. Uses GSC_SITE_URL when omitted.
baselineNoPrevious snapshot entries from this tool's snapshot output.
includeUnchangedNoInclude entries with no observed change in the comparison.
minAbsIndexedDeltaNoMinimum absolute indexed URL delta to include otherwise unchanged sitemaps.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds the comparison mechanism and explicitly states 'no state is written,' which reinforces the safety profile beyond the annotations alone. It does not contradict any annotation.

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

Conciseness5/5

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

A single, front-loaded sentence with zero filler. It states the read-only nature, the core operation, and the key constraint without redundancy.

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

Completeness5/5

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

Given rich annotations, an output schema, 100% parameter coverage, and zero required parameters, the description is fully sufficient for an agent to invoke the tool correctly. No critical behavioral or usage information is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters well. The description adds the useful notion of an 'agent-provided baseline' and ties it to 'this tool's snapshot output,' but this is minor additional value beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource: it fetches the current sitemap snapshot and compares it to an agent-provided baseline. This clearly distinguishes it from sibling sitemap tools like gsc_list_sitemaps or gsc_get_sitemap, which list or fetch sitemaps but do not compute deltas.

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 purpose makes the usage context clear: use this when a previous sitemap snapshot exists and you need to detect changes. It does not explicitly name alternative tools or state when not to use it, but the baseline comparison concept is specific enough to route the agent correctly.

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

gsc_validate_querygsc validate queryA
Read-onlyIdempotent

Validate a Search Console metric/dimension/search type combination before executing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateRangeNoExplicit reporting start and end dates in YYYY-MM-DD format.
dimensionsNoDimensions to validate.
searchTypeNoSearch surface to report, such as web, image, video, news or Discover. Availability depends on the property.web

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds minimal behavioral context beyond 'before executing it'; it does not describe output behavior such as returning a boolean or raising errors, though an output schema exists. No contradiction with 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?

A single, front-loaded sentence with no filler. The key verb and object appear immediately, and every word contributes to the meaning. It is appropriately minimal for such a focused validation tool.

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

Completeness3/5

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

For a tool with a rich annotation set, an output schema, and a 100% parameter coverage, the description is minimally adequate: it communicates the intent of preflight validation. However, it leaves ambiguity about the meaning of 'metric' given the schema lacks it, and does not state what kind of result the agent should expect (e.g., success/failure, detailed errors) beyond what the output schema may convey.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds only the notion of a 'combination' to validate, which is a small semantic contribution. It does not explain valid combinations, inter-parameter constraints, or how dateRange interacts with dimensions/searchType.

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

Purpose4/5

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

States a specific verb ('Validate') and a specific resource ('Search Console metric/dimension/search type combination'), which differentiates it from query/retrieval siblings like gsc_query_search_analytics. However, it does not explicitly name sibling alternatives, and the mention of 'metric' is slightly mismatched with the schema, which contains no metric parameter.

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

Usage Guidelines3/5

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

The phrase 'before executing it' implies the tool is a preflight check for a future query, giving some usage context. But it does not state when not to use it, what should be done if validation fails, or how it relates to specific sibling tools like gsc_query_search_analytics or gsc_compare_search_types.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 20 tool updatesv2.0.1
    • First observedgsc_analyze_search_appearance_trends
    • First observedgsc_bulk_inspect_urls
    • First observedgsc_cluster_queries
    • First observedgsc_compare_search_types
    • First observedgsc_detect_cannibalization
    • First observedgsc_find_losses_gains
    • First observedgsc_get_data_freshness
    • First observedgsc_get_site
    • First observedgsc_get_sitemap
    • First observedgsc_get_sitemap_health
    • First observedgsc_health_check
    • First observedgsc_indexation_watchlist
    • First observedgsc_inspect_url
    • First observedgsc_list_sitemaps
    • First observedgsc_list_sites
    • First observedgsc_monitor_indexation_freshness
    • First observedgsc_plan_large_site_sampling
    • First observedgsc_query_search_analytics
    • First observedgsc_track_sitemap_deltas
    • First observedgsc_validate_query

TDQS

A3.6/5.0

Scored across 20 tools

Disambiguation3/5

The tool set has many specialized analytics and sitemap/inspection variants (e.g., freshness, monitoring, deltas, watchlists) that are conceptually distinct but can be confused at a glance. Descriptions clarify intent, but overlapping domains like sitemap health vs sitemap deltas require careful reading to select correctly.

Naming Consistency4/5

All tools share the gsc_ prefix and mostly follow a verb_noun pattern (list_sites, query_search_analytics, inspect_url). Minor exceptions like gsc_health_check and gsc_indexation_watchlist are noun phrases rather than verb-led, but the pattern is otherwise very consistent.

Tool Count3/5

At 20 tools, the server is on the heavy side of the typical range, with several highly specific helpers (watchlist, sampling plan, delta tracking) that add bulk. Nonetheless, each tool addresses a real GSC task, so the count is defensible but not ideal.

Completeness4/5

The server covers the core GSC surface: site listing, search analytics, sitemaps, and URL inspection, including read-only health checks and comparison workflows. Minor gaps exist (e.g., no ability to submit sitemaps or manage properties), but these are consistent with a read-only analytics toolset.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Read-only MCP server for Google Search Console, with browser-based OAuth flow and local token storage, enabling querying search analytics, site lists, and URL inspection.
    8
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Self-hosted Google Ads MCP server: 35 read tools and 10 opt-in, preview-first write tools. Maintained source relocated from getmcpads-com/google-ads-mcp-server; npm package remains @getmcpads/google-ads-mcp-server.
    35
    248 npm
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Self-hosted Meta Ads MCP server with 41 read tools and 23 opt-in, preview-first write tools. Maintained source relocated from getmcpads-com/meta-ads-mcp-server; npm package remains @getmcpads/meta-ads-mcp-server.
    41
    255 npm
    Apache 2.0