Skip to main content
Glama
dhawalshah

gsc-mcp

Google Search Console MCP

A Model Context Protocol (MCP) server for Google Search Console. Connect Claude (or any MCP-compatible AI client) directly to your GSC properties to query search performance, inspect URLs, manage sitemaps, find quick wins, and run composite audits — all in natural language.

The server speaks the MCP authorization spec (2025-06-18), so it works as a remote connector anywhere Claude supports custom MCP servers — claude.ai (personal), Claude Desktop, and Claude Teams. Add one URL, click "Connect", sign in with Google, done. For a Teams plan, the org owner adds the URL once and each member individually authenticates on first use.

What you can do

Sites & Properties

  • List all GSC properties with permission level (owner / full / restricted)

  • Get details for a specific property including verification method

  • Add or remove properties from GSC

Search Analytics

  • Query by query, page, country, device, search type, and date range

  • Performance overviews with clicks, impressions, CTR, average position

  • Compare two date ranges side-by-side

  • Position-band reports (1–3, 4–10, 11–20, 21–50)

  • CTR optimisation reports — pages with high impressions but low CTR

  • Keyword cannibalisation detection — multiple pages competing for the same rank

  • Batched analytics queries and dataset exports past the 5,000-row API limit

URL Inspection

  • Full URL inspection: indexing status, canonical, mobile usability, rich results, AMP

  • Batch inspection of up to 20 URLs at once

Sitemaps

  • List, fetch, submit, and delete sitemaps for a property

Composite Analysis

  • analyze_site_health — top pages + indexing + mobile usability + last crawl

  • identify_quick_wins — high impressions, low CTR, ranked 4–10, no indexing issues

  • crawl_error_summary — aggregate indexing and mobile errors across sampled pages

  • property_migration_checklist — pre-migration audit across old and new properties


Related MCP server: gsc-mcp

How auth works

There are two modes. Pick one.

Mode A — Local STDIO (one user, no server)

Use this if you only want it on your own machine. setup_local_auth.py runs the Google OAuth flow once and stores your token in ~/.config/google-search-console-mcp/token.json. Claude Desktop launches server.py as a subprocess. No Firestore, no Cloud Run, no public URL.

Mode B — Remote HTTP server (Claude Teams, claude.ai, multi-user)

The MCP server is also an OAuth 2.1 authorization server. When Claude connects:

  1. Claude discovers our metadata at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server.

  2. Claude registers itself via Dynamic Client Registration (POST /oauth/register).

  3. Claude redirects the user to /oauth/authorize. We delegate identification to Google OAuth.

  4. After Google login, we issue our own opaque bearer token to Claude — Google credentials never leave the server.

  5. On each /mcp request Claude sends our bearer; we map it server-side to the right user's stored Google credentials and call the Search Console APIs.

The ?user=email query string from older versions is gone — there are no per-user URLs to copy around.


Prerequisites

  • Python 3.10+

  • A Google Search Console property you have access to

  • A Google Cloud project


Step 1 — Set up Google Cloud

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

  1. Go to the Google Cloud Console.

  2. Create or select a project.

  3. APIs & Services → Library, enable Google Search Console API.

1b. Create OAuth 2.0 credentials

  1. APIs & Services → Credentials → Create Credentials → OAuth 2.0 Client ID.

  2. Application type: Web application.

  3. Add Authorized redirect URIs:

    • http://localhost:8080/auth/callback (local dev / setup_local_auth.py)

    • https://YOUR-CLOUD-RUN-URL/auth/callback (remote deployment — add after deploy)

  4. Click Create, then Download JSON → save as client_secret.json in the project root (gitignored). You can also copy the Client ID / Client Secret straight into env vars.

  1. APIs & Services → OAuth consent screen.

  2. Choose Internal for a Google Workspace org (recommended for teams), or External for personal/individual use.

  3. Add scopes:

    • https://www.googleapis.com/auth/webmasters

    • https://www.googleapis.com/auth/webmasters.readonly

  4. If using External in Testing mode, add each user's email under Test users.

1d. Enable Firestore (Mode B only)

The server stores OAuth bearer tokens and per-user Google credentials in Firestore.

  1. In Cloud Console, Firestore → Create database → Native mode, pick a region.

  2. Grant the Cloud Run service account Cloud Datastore User role under IAM & Admin → IAM.


Step 2 — Install

git clone https://github.com/dhawalshah/google-search-console-mcp
cd google-search-console-mcp
pip install -r requirements.txt
cp .env.example .env       # fill in values

Step 3 — Mode A: Local STDIO

python setup_local_auth.py

A browser opens, you sign in with Google, the script writes ~/.config/google-search-console-mcp/token.json.

Then add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "google-search-console": {
      "command": "python",
      "args": ["/absolute/path/to/google-search-console-mcp/server.py"],
      "env": {
        "OAUTH_CONFIG_PATH": "/absolute/path/to/client_secret.json",
        "MCP_USER_EMAIL": "you@yourcompany.com"
      }
    }
  }
}

Restart Claude Desktop. You're done — skip the rest.


Step 3 — Mode B: Remote HTTP server (Claude Teams / claude.ai)

Deploy to Cloud Run

gcloud run deploy google-search-console-mcp \
  --source . \
  --region YOUR_REGION \
  --project YOUR_PROJECT_ID \
  --platform managed \
  --port 8080 \
  --allow-unauthenticated \
  --set-env-vars "GCP_PROJECT_ID=your-project-id,BASE_URL=https://YOUR-SERVICE-URL.run.app,GOOGLE_CLIENT_ID=...,GOOGLE_CLIENT_SECRET=...,ALLOWED_DOMAINS=yourcompany.com"

Recommended: store GOOGLE_CLIENT_SECRET as a Cloud Run secret rather than a plain env var.

After it's up, go back to APIs & Services → Credentials → your OAuth client and add the live callback URL:

https://YOUR-SERVICE-URL.run.app/auth/callback

Connect from Claude

Claude Teams (org owner adds it once for everyone):

  • Settings → Connectors → Add custom connector

  • URL: https://YOUR-SERVICE-URL.run.app/mcp

  • Each member clicks Connect, signs in with Google, done.

claude.ai personal:

  • Settings → Connectors → Add custom connector

  • URL: https://YOUR-SERVICE-URL.run.app/mcp

Claude Desktop with a remote server:

{
  "mcpServers": {
    "google-search-console": {
      "url": "https://YOUR-SERVICE-URL.run.app/mcp"
    }
  }
}

Claude Desktop will run the OAuth dance the first time you use it.


Environment Variables

Variable

Required

Description

BASE_URL

Mode B

Public URL of this service. Used for OAuth metadata and as the canonical resource URI tokens are bound to.

GCP_PROJECT_ID

Mode B

GCP project hosting Firestore.

GOOGLE_CLIENT_ID

Mode B†

Google OAuth client ID.

GOOGLE_CLIENT_SECRET

Mode B†

Google OAuth client secret.

OAUTH_CONFIG_PATH

Mode B†

Alternative to the two above: path to client_secret.json.

GOOGLE_REDIRECT_URI

No

Override the Google callback URL. Defaults to ${BASE_URL}/auth/callback.

ALLOWED_DOMAINS

No

Comma-separated email domain allowlist (e.g. acme.com,beta.com). Empty = no restriction.

MCP_USER_EMAIL

Mode A

Your email — set in Claude Desktop config.

PORT

No

HTTP port (default 8080).

LOG_LEVEL

No

Python log level (default INFO).

† Set either GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET or OAUTH_CONFIG_PATH.


Available Tools

Sites & Properties

Tool

Description

list_properties

List all GSC properties with permission level (owner / full / restricted)

get_site_details

Details for a specific property including verification method

add_site

Add a new property to GSC

delete_site

Remove a property from GSC

Search Analytics

Tool

Description

get_search_analytics

Query by query, page, country, device, search type, date range

get_performance_overview

Total clicks, impressions, CTR, average position for a date range

compare_periods

Side-by-side comparison of two date ranges

get_position_band_report

Queries by position band: 1–3, 4–10, 11–20, 21–50

get_ctr_optimization_report

Pages with high impressions but low CTR — prime optimisation candidates

get_keyword_cannibalization

Queries where multiple pages compete for the same rank

batch_search_analytics

Multiple analytics queries in a single call

export_full_dataset

Paginate past the 5,000-row API limit (up to 100K rows)

URL Inspection

Tool

Description

inspect_url

Full inspection: indexing status, crawl date, canonical, mobile usability, rich results, AMP

batch_url_inspection

Inspect up to 20 URLs at once

Sitemaps

Tool

Description

list_sitemaps

All sitemaps for a property with submitted vs indexed counts

get_sitemap

Detailed status for a specific sitemap

submit_sitemap

Submit a new sitemap

delete_sitemap

Remove a sitemap

Composite Analysis

Tool

Description

analyze_site_health

Top pages by traffic + indexing status + mobile usability + last crawl time

identify_quick_wins

High impressions, low CTR, ranked 4–10, no indexing issues

crawl_error_summary

Aggregate indexing and mobile errors across a sampled set of pages

property_migration_checklist

Pre-migration audit: indexed pages, sitemaps, new site GSC status


Example Prompts

Give me a performance overview for https://example.com/ for the last 28 days

Identify quick wins — pages ranked 4–10 with low CTR

Find keyword cannibalization issues on https://example.com/ for the last 90 days

Run the property migration checklist for https://old.example.com/ moving to https://new.example.com/

Inspect indexing status for these 10 URLs

Show me the top 20 queries by clicks for last month

Analyse the site health of https://example.com/

OAuth endpoint reference (Mode B)

For developers who want to verify the implementation or write their own MCP client.

Endpoint

Spec

Purpose

GET /.well-known/oauth-protected-resource

RFC 9728

Advertises the canonical resource URI and authorization server.

GET /.well-known/oauth-authorization-server

RFC 8414

Authorization server metadata.

POST /oauth/register

RFC 7591

Dynamic Client Registration.

GET /oauth/authorize

OAuth 2.1

Starts the auth code flow with PKCE; redirects to Google.

GET /auth/callback

Google redirects here; we mint our authorization code and bounce back to the MCP client.

POST /oauth/token

OAuth 2.1

Authorization code + refresh token grants.

A GET /mcp without a valid bearer returns 401 with a WWW-Authenticate: Bearer resource_metadata="…" header pointing at the protected-resource metadata document, which is how a standards-compliant MCP client discovers the rest.


Tech Stack

  • FastMCP — MCP server framework

  • FastAPI + uvicorn — HTTP wrapper

  • Google Auth / google-api-python-client — Google OAuth and API access

  • Firestore — Per-user token storage and OAuth-server state (Mode B)

  • Google Cloud Run — Serverless hosting


About Dhawal Shah

I run a 40-plus person digital marketing agency out of Singapore, and I build the automation my own teams use. This server is one of those tools rather than a weekend project: it runs against live Search Console accounts every week, which is why the read-only surface is wide and the write surface is deliberately narrow.

Fourteen years building companies across Asia behind it. 5,000+ campaigns, 400+ brands, 30+ startups advised, and 300+ training sessions for teams including Sony, Toyota, DHL and Interpol. I am also an Accredited Director with the Singapore Institute of Directors, which in practice means I get asked what breaks, who is accountable and what it costs before anyone asks what it can do.

I write up the routines and agents I actually run at dhawalshah.net.

Worth reading alongside this repo: Claude Code for Marketing: Every Channel from One Terminal.


License

MIT

Available Tools

22 tools
add_siteAdd SiteA

Add a new property to GSC. Requires site owner verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty URL to add (e.g. 'https://example.com/')

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It discloses the key precondition of owner verification and the mutating nature of the operation, but it does not explain what happens if the property already exists or whether verification is automatic. Some behavioral ambiguity remains.

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 compact sentences deliver the purpose first and the prerequisite second, with no filler. This is an ideal size for a one-parameter tool.

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

Completeness4/5

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

The combination of a fully documented single parameter, a stated output schema, and an explicit prerequisite is sufficient for an agent to invoke the tool correctly. Minor gaps around duplicate-site behavior are not material to initial selection and calling.

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

Parameters3/5

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

Schema description coverage is 100%, and the single site_url parameter is already documented with an example in the input schema. The tool description adds no additional parameter semantics, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description names a specific action ('Add') and a concrete resource ('a new property to GSC'), which cleanly distinguishes add_site from delete_site, list_properties, and the analysis-oriented siblings. The prerequisite about owner verification adds useful specificity.

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

Usage Guidelines4/5

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

It provides clear usage context: this is the tool for registering a new property, and it is only appropriate when the caller has site-owner verification. It does not explicitly name alternatives, but the single-purpose nature of the add action makes the intended invocation obvious alongside the sibling tools.

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

analyze_site_healthAnalyze Site HealthC

One-call site health report: top pages with traffic, indexing status, mobile usability, and last crawl time.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
site_urlYesProperty URL
start_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only lists output contents. It implies a read-only analysis (health report) but does not state side effects, authentication requirements, rate limits, or prerequisites like whether the site must already be added.

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 tool's purpose and lists its key outputs without any redundant phrasing. Every word contributes value, making it highly efficient.

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

Completeness2/5

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

Even though an output schema exists, the description omits crucial context: it does not mention prerequisites (e.g., site must be added), potential limitations, or how this tool differs from similar reporting tools. Without annotations, this is insufficient for an agent to use it correctly in a broader workflow.

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

Parameters2/5

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

Schema coverage is only 33% (site_url has a description). The description adds no meaning to start_date or end_date, such as their format or role in the report. It mentions traffic and indexing but does not connect them to parameters, failing to compensate for the low schema coverage.

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

Purpose4/5

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

The description clearly states the tool provides a 'site health report' with specific components (traffic, indexing, mobile usability, last crawl time). The verb 'analyze' and resource 'site health' are specific, making the purpose distinct from general analytics tools. However, it does not explicitly differentiate from siblings like get_performance_overview or get_site_details.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The phrase 'One-call' implies a quick summary, but there are no explicit exclusions or references to sibling tools, leaving the agent to infer usage context.

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

batch_search_analyticsBatch Search AnalyticsA

Run multiple search analytics queries in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
queriesYesList of query dicts. Each dict supports: site_url (required), start_date, end_date, dimensions, search_type, data_state, row_limit, filters.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden. It does not disclose whether the operation is read-only, any rate limits, how results are aggregated, or any side effects. For a batch tool with no annotation coverage, this is a significant gap.

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

Conciseness5/5

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

A single, concise sentence that front-loads the core action without any waste. Every word earns its place.

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

Completeness3/5

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

While an output schema exists (so return values are covered), the description omits details about batch behavior, such as limits on the number of queries, parallel execution, or how results are combined. Given the batch complexity, more context would be beneficial.

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

Parameters3/5

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

The schema covers 100% of parameters with a detailed description of the 'queries' array and its fields. The description adds no extra semantics beyond the schema, so it meets the baseline for full schema coverage.

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

Purpose5/5

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

The description clearly states a specific verb ('run') with a specific resource ('search analytics queries') and scope ('multiple in one call'). It effectively distinguishes this batch tool from the single-query sibling get_search_analytics, so an agent can tell them apart.

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

Usage Guidelines4/5

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

The description implies usage for batching multiple queries, which provides clear context. However, it does not explicitly name the alternative for single queries (get_search_analytics) or state when not to use this tool, leaving some inference to the agent.

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

batch_url_inspectionBatch Url InspectionC

Inspect multiple URLs for indexing status, mobile usability, and rich results.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesList of page URLs to inspect (max 20 per call)
site_urlYesThe GSC property URL

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries full burden. It states the tool 'inspects' which implies a read-only operation but does not explicitly confirm non-destructive behavior. It also doesn't mention any rate limits, authentication requirements, or error handling for invalid URLs. Minimal transparency beyond the basic action.

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

Conciseness5/5

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

A single, efficient sentence with no redundant words. It front-loads the action and lists key inspection dimensions in a compact list.

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

Completeness2/5

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

Given the tool has an output schema and fully documented parameters, the description covers the basic action. However, it omits any guidance on when to choose this over the sibling inspect_url, and it does not state the max URL limit (though that's in the schema). For a batch tool, some context about expected use cases would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% for both parameters ('urls' and 'site_url'), and the schema descriptions are clear. The tool description adds little beyond restating that it inspects multiple URLs, which is already implied by the parameter name 'urls'. With high schema coverage, the baseline is 3; no additional meaning is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('inspect'), a resource ('multiple URLs'), and specific inspection dimensions (indexing status, mobile usability, rich results). It clearly implies a batch operation distinct from the single-URL sibling 'inspect_url', though it doesn't explicitly name the alternative.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the single-URL inspect_url alternative. It does not mention that inspect_url is for individual URLs or that batch_url_inspection is for bulk checks. No explicit context for selection is given.

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

compare_periodsCompare PeriodsC

Compare search performance between two date periods.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty URL
current_endYes
search_typeNoOne of: web, image, video, news, discover, googleNewsweb
previous_endYes
current_startYes
previous_startYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only restates the tool's purpose. It does not mention read-only behavior, output format, date-range constraints, timezone handling, or any aggregation logic.

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

Conciseness4/5

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

The description is a single concise sentence with no filler and is easy to parse. It is brief to the point of under-specification, but as written, every word contributes to the high-level purpose.

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

Completeness2/5

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

For a six-parameter tool with five required fields and no annotations, this description is not complete enough. It omits parameter semantics, date-range relationships, and behavioral context, leaving an agent with substantial gaps despite the output schema.

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

Parameters2/5

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

Schema description coverage is only 33%, and the description adds no real parameter meaning. It does not explain how current_* and previous_* fields relate, what date format is expected, or how site_url and search_type factor into the comparison.

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

Purpose4/5

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

The description clearly identifies the action (compare) and resource (search performance) over two date periods, which separates it from single-period analytics tools. However, it does not explicitly distinguish compare_periods from siblings like get_search_analytics or batch_search_analytics beyond the period-comparison hint.

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 'between two date periods' implies when the tool should be used, but the description provides no explicit conditions, exclusions, or alternatives. An agent is left to infer when compare_periods is preferable to the other analytics-related sibling tools.

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

crawl_error_summaryCrawl Error SummaryB

Aggregate crawl and indexing errors across a property's sampled pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
site_urlYesProperty URL
start_dateYes
sample_sizeNoNumber of pages to inspect (default: 50, max: 50)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does convey that this is a read-only aggregation over 'sampled pages,' which is useful, but it does not explain date-range behavior, permissions, data source, or what happens when no errors are found. It is adequate but not rich.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. Every word contributes to the tool's core purpose and scope.

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

Completeness3/5

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

The presence of an output schema reduces the need to describe return values, and parameter names are somewhat self-explanatory. However, the description lacks date parameter semantics, usage context, and routing among sibling tools, making it merely minimally viable for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 50%, covering only site_url and sample_size. The description adds no meaning for the required start_date and end_date parameters, leaving their format and inclusivity ambiguous. It only indirectly maps to site_url and sample_size via 'property' and 'sampled pages.'

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

Purpose4/5

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

The description clearly states a specific action, 'Aggregate', and a specific resource, 'crawl and indexing errors across a property's sampled pages.' This distinguishes it from per-URL inspection tools like inspect_url, though it does not explicitly name sibling alternatives.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus related tools such as analyze_site_health, inspect_url, or batch_url_inspection. No exclusions, preconditions, or alternative routing are provided; the use case is only weakly implied by the tool's name and description.

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

delete_siteDelete SiteB

Remove a property from GSC. Irreversible — use with caution.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty URL to remove

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the operation is 'Irreversible — use with caution', which is a key behavioral trait for a destructive action. However, it does not describe side effects (e.g., whether associated data is deleted) or any authentication/ownership requirements. The warning is helpful but not comprehensive.

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 exceptionally concise—two short sentences with zero fluff. The action and the critical warning are front-loaded. Every word earns its place, making it efficient for an agent to parse.

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 tool with one parameter, full schema coverage, and an output schema present, the description covers the essential aspects: what it does and the irreversible risk. It lacks mention of permissions or prerequisites, but given the simplicity, the description is adequate. Slightly more context about consequences would make it complete.

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

Parameters3/5

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

Schema coverage is 100%, and the single parameter site_url is described as 'Property URL to remove'. The description adds no additional meaning beyond the schema, so the baseline of 3 applies. No extra semantic context is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Remove a property from GSC') with a specific verb and resource. It distinguishes itself from add_site and other sibling tools implicitly, though it does not name an alternative. The irreversibility warning adds clarity about the operation's nature.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when a user wants to permanently remove a property. There is no mention of prerequisites, permissions, or when not to use it. The description only states the action and a caution, leaving usage context entirely to the agent.

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

delete_sitemapDelete SitemapA

Remove a sitemap from GSC. Does not delete the actual sitemap file.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty URL
feed_pathYesFull URL of the sitemap to remove

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly discloses the key non-obvious trait: removing the sitemap from GSC does not delete the actual sitemap file. It does not mention permission requirements or irreversibility, but for a simple delete tool this caveat is the most important behavior and is well covered.

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 action is stated first, followed immediately by a critical caveat. Every sentence 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 two-parameter delete operation with an output schema present, the description is largely complete: it states what is removed, where, and what is not removed. It lacks explicit usage guidance and edge-case context, but nothing essential for calling the tool correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and both required parameters have clear descriptions in the schema. The tool description itself adds no new parameter-level meaning, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Remove') and resource ('a sitemap from GSC'), clearly distinguishing it from the sibling delete_site and from the sitemap-management siblings. The added clarification that it does not delete the actual file further sharpens the resource boundary.

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

Usage Guidelines3/5

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

The description implies when to use it: when removing a sitemap from Google Search Console without touching the hosted file. However, it does not explicitly name alternatives or conditions such as 'use list_sitemaps to find the feed_path' or 'use submit_sitemap to add one.'

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

export_full_datasetExport Full DatasetB

Export all rows bypassing the 5,000-row API limit using pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
max_rowsNoMaximum total rows to fetch (default: 50000, max: 100000)
site_urlYesProperty URL
dimensionsNoDimensions to include (default: ['query', 'page'])
start_dateYes
search_typeNoSearch type filterweb

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It discloses that the tool uses pagination to bypass the API limit, which is a valuable behavioral trait beyond what the schema shows. However, it does not mention whether this is a read-only operation (implied by 'export'), any rate limits, or potential side effects, leaving some ambiguity.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the core purpose and the key differentiator (bypassing the limit). It contains no fluff and every word earns its place.

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

Completeness2/5

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

Though an output schema exists, the description is sparse for a complex export tool. It does not explain when to use it over alternatives, any operational constraints (e.g., performance implications of fetching 100,000 rows), or how the 'max_rows' parameter interacts with the pagination behavior. An agent would benefit from more context to use it correctly.

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

Parameters2/5

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

Schema description coverage is 67%, meaning two parameters (start_date and end_date) lack descriptions in the schema. The description adds no parameter-specific information and does not compensate for the gaps, leaving the agent to infer date format constraints. The description provides zero 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 clearly states the tool exports all rows and bypasses the 5,000-row API limit via pagination. This distinguishes it from sibling tools like get_search_analytics that likely have row limits, and the verb+resource is specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention circumstances that would favor export_full_dataset over get_search_analytics or other data retrieval tools, nor does it state any prerequisites or exclusions.

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

get_ctr_optimization_reportGet Ctr Optimization ReportA

Find pages with high impressions but low CTR — quick-win optimization candidates.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
site_urlYesProperty URL
start_dateYes
max_ctr_pctNoMaximum CTR % to include (default: 2.0)
search_typeNoSearch type filterweb
min_impressionsNoMinimum impressions threshold (default: 100)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. 'Find' implies a read-only reporting operation rough but factual, but the description does not explicitly confirm no side effects, explain how thresholds are applied, or describe pagination or sorting behavior.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the core behavior and value proposition. There is no filler or redundant restatement of the tool name.

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

Completeness3/5

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

The description gives a clear one-line purpose and an output schema exists, but it lacks guidance on when to use this versus overlapping siblings send comparison behavior with other reporting tools or parameter thresholds. It is minimally viable for understanding what the tool does, but not fully complete for confident tool selection.

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

Parameters3/5

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

Schema description coverage is 67%, with start_date and end_date lacking descriptions. The tool description adds the conceptual link between 'high impressions but low CTR' and the max_ctr_pct/min_impressions parameters, but it does not clarify date formats, search_type meaning, or threshold interactions beyond what the schema already states.

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

Purpose4/5

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

The description clearly identifies the tool's purpose: finding pages with high impressions but low CTR, framed as 'quick-win optimization candidates.' It uses a specific verb and resource, though it does not explicitly differentiate from overlapping siblings like identify_quick_wins.

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

Usage Guidelines3/5

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

The phrase 'quick-win optimization candidates' implies an optimization workflow, giving some contextual usage guidance. However, it does not explicitly say when to prefer this tool over siblings such as identify_quick_wins or get_search_analytics, nor does it mention exclusions or prerequisites.

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

get_keyword_cannibalizationGet Keyword CannibalizationC

Identify queries where multiple pages are competing for the same keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
site_urlYesProperty URL
start_dateYes
search_typeNoSearch type filterweb
min_impressionsNoMinimum impressions per row to consider (default: 50)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, but it only states purpose. It does not disclose that rows are filtered by min_impressions, how results are grouped (query/page pairs), or that a valid date range is required; the competition-detection logic is only implied.

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

Conciseness4/5

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

A single active sentence with the verb front-loaded and zero filler or redundancy. It is efficient, though its brevity means it contributes little beyond the purpose statement.

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

Completeness2/5

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

The presence of an output schema lightens the return-value burden, but with zero annotations and 40% of parameters undocumented, an agent must guess at date formats, the notion of a 'row', and the impact of the min_impressions default. It works as a label, not as a complete usage spec.

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

Parameters3/5

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

Schema coverage is 60%: site_url, search_type, and min_impressions carry basic descriptions, but start_date and end_date are typed only as 'string' with no format hint. The description adds slight context by framing the keyword-competition domain, which makes min_impressions meaningful, but it does nothing for the undocumented date parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 supplies a specific verb ('Identify') and resource ('queries where multiple pages are competing for the same keyword'), translating the jargon title into an operational concept. It is semantically distinct from analytics siblings like get_search_analytics and get_position_band_report, though it never names a sibling explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to reach for this tool versus the many sibling analytics tools (get_search_analytics, get_performance_overview, compare_periods), and no mention of prerequisites such as the site already being added. No exclusions or alternative conditions are provided, so the agent must infer selection criteria from the name alone.

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

get_performance_overviewGet Performance OverviewC

Get a summary of clicks, impressions, CTR, and average position for a property.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYesEnd date YYYY-MM-DD
site_urlYesProperty URL
start_dateYesStart date YYYY-MM-DD
search_typeNoOne of: web, image, video, news, discover, googleNewsweb

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns a 'summary,' implying aggregated data, but does not disclose whether this is a read-only operation, any permission requirements, rate limits, date range handling, or response shape beyond the output schema. For a tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with zero waste. It conveys the core purpose immediately and avoids any fluff. This is an example of efficient, concise writing.

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

Completeness2/5

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

Although an output schema exists and covers return values, the description lacks context for an agent to properly choose this tool among many similar siblings. It does not explain what 'summary' means (e.g., whether it aggregates across the date range, whether it includes totals or averages), nor does it clarify the distinction from get_search_analytics. Given the tool's low complexity and full schema coverage, more contextual guidance would be expected.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters (site_url, start_date, end_date, search_type) are already documented with descriptions and defaults. The description adds no extra meaning to parameters—it only mentions the output metrics. Baseline of 3 is appropriate since the schema already handles parameter semantics.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource: a summary of clicks, impressions, CTR, and average position for a property. It distinguishes itself from siblings like get_search_analytics by indicating a 'summary' rather than detailed analytics, though it does not explicitly name an alternative. The purpose is specific and unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or suggest when a different sibling (e.g., get_search_analytics for detailed data, compare_periods for comparisons) would be more appropriate. An agent must infer usage from the name and schema alone.

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

get_position_band_reportGet Position Band ReportC

Get pages filtered by position band.

ParametersJSON Schema
NameRequiredDescriptionDefault
bandNoPosition range. Options: '1-3', '4-10', '11-20', '21-50' (default: '4-10')4-10
end_dateYes
site_urlYesProperty URL
start_dateYes
search_typeNoSearch type filterweb

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Get pages filtered by position band' and reveals nothing about report behavior, date handling, sorting, limits, or output characteristics.

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

Conciseness4/5

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

The description is very concise and front-loaded with the central operation. However, it is arguably too sparse to be fully useful, which limits the structure score slightly.

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

Completeness2/5

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

Despite an output schema covering return values, the description omits essential context: what type of pages are included, how dates are interpreted, default behaviors, and how this report differs from related tools. The absence of annotations makes this gap more significant.

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

Parameters2/5

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

Schema coverage is 60%, and the description adds almost no parameter meaning beyond what the schema already provides. It does not clarify the start_date or end_date parameters, which are undocumented in the schema, or explain how the band filter interacts with the date range.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: 'Get pages filtered by position band.' This conveys the core function, though it does not explicitly differentiate itself from sibling tools like get_search_analytics or compare_periods.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or scenarios where one of the sibling reports would be more appropriate.

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

get_search_analyticsGet Search AnalyticsC

Query GSC search analytics data.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNoList of filter dicts: [{"dimension": "query", "operator": "contains", "expression": "keyword"}]
end_dateYesEnd date in YYYY-MM-DD format
site_urlYesProperty URL (e.g. 'https://example.com/' or 'sc-domain:example.com')
row_limitNoMax rows to return. Max 5000 (default: 1000)
start_rowNoPagination offset (default: 0)
data_stateNo'all' (includes partial data) or 'final' (2-3 day lag, more stable)all
dimensionsNoList of dimensions. Options: query, page, country, device, searchAppearance, date
start_dateYesStart date in YYYY-MM-DD format
search_typeNoOne of: web, image, video, news, discover, googleNews (default: web)web

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Query GSC search analytics data' and does not mention pagination behavior, data freshness (data_state), search type, or any rate limits. The schema documents parameters, but the description adds no behavioral context beyond the name.

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

Conciseness2/5

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

The description is only one sentence, which is concise, but it is under-specified. It adds almost no value beyond the tool name and title, failing to earn its place. For a tool with 9 parameters and many siblings, this brevity is not appropriately sized; it omits critical context.

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

Completeness2/5

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

Given the tool's complexity (9 parameters, rich schema, many sibling tools, and an output schema), the description is grossly incomplete. It does not explain what data is returned, how to interpret results, or when to choose this over alternatives. The schema provides parameter details, but the description itself offers no high-level context, leaving an agent without sufficient guidance 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%, and each parameter has a meaningful description (e.g., site_url, dimensions, row_limit, data_state). The tool description itself adds no parameter-level information, but the schema fully covers semantics, so a baseline of 3 is appropriate per the rubric.

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

Purpose3/5

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

The description states a clear verb and resource ('Query GSC search analytics data'), but it is vague about what specific analytics are returned and how it differs from sibling tools like get_performance_overview or compare_periods. It is not a tautology, but it lacks the specificity needed to distinguish among the many analytics-related tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description gives no context on use cases, exclusions, or how it compares to batch_search_analytics, get_performance_overview, or compare_periods. An agent would have to infer usage from the name alone.

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

get_site_detailsGet Site DetailsA

Get details for a specific GSC property including permission level.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden for behavioral disclosure. 'Get' implies a read-only operation and 'including permission level' adds useful scope, but the description does not address possible errors, authorization requirements, or what happens when the property is not found. For a simple read tool this is acceptable but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every word earns its place, and it communicates the core purpose and a key detail without redundancy.

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

Completeness4/5

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

For a tool with one parameter, a well-described schema, and an output schema available, the description covers the essential purpose adequately. It lacks explicit usage guidance relative to siblings, but the simple retrieval scope is otherwise complete.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter site_url is already well documented with format and examples. The description only restates the concept of a specific property and adds no meaningful parameter semantics beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Get'), a clear resource ('a specific GSC property'), and identifies a concrete included field ('permission level'). It clearly distinguishes this from sibling tools like list_properties by emphasizing the singular/specific nature of the operation.

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

Usage Guidelines3/5

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

The phrase 'for a specific GSC property' implies when this should be used, but the description gives no explicit guidance about when not to use it or which alternative to prefer. Sibling tools like list_properties, analyze_site_health, or add_site are not mentioned or excluded.

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

get_sitemapGet SitemapA

Get details for a specific sitemap.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty URL
feed_pathYesFull URL of the sitemap (e.g. 'https://example.com/sitemap.xml')

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries some burden. 'Get' signals a read-only operation, but no further behavioral details such as error handling, exact-match requirements, or parsing behavior are disclosed. The output schema covers return shape, so this is adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or repetition. Every word contributes to stating the operation and target resource.

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

Completeness4/5

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

For a simple two-parameter retrieval tool, the description, full schema, and output schema are largely sufficient. The main missing element is explicit guidance on when to use it versus sibling sitemap tools, but that gap is minor for this low-complexity action.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters have descriptions, including a concrete example for feed_path. The tool description adds no parameter meaning beyond the schema, but the schema already carries the necessary 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 uses a clear verb and resource ('Get details for a specific sitemap') and the singular 'specific' distinguishes it from list_sitemaps. It doesn't explicitly name sibling alternatives, but the intent is unambiguous.

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

Usage Guidelines3/5

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

The phrase 'specific sitemap' implies this is the single-item retrieval counterpart to list_sitemaps, and it is clearly not for submission or deletion. However, it never states when to choose this over list_sitemaps or how it relates to related sitemap tools.

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

identify_quick_winsIdentify Quick WinsA

Find pages worth quick optimization: high impressions, low CTR, ranked 4-10, no indexing issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
site_urlYesProperty URL
start_dateYes
max_ctr_pctNoMaximum CTR % (default: 2.0)
position_lowNo
position_highNo
min_impressionsNoMinimum impressions threshold (default: 100)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the burden of explaining behavior. It discloses the core filtering logic, including the 'no indexing issues' condition, but does not explicitly state that this is a read-only analysis, how results are ordered, or whether any data is modified.

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 action and all key criteria. There is no filler or redundant restatement of the title.

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

Completeness3/5

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

An output schema exists, so return value details are not required. Still, with seven parameters and no annotations, the description omits important operational context such as date-range semantics, site_url format, and how this tool differs from similar sibling reports.

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

Parameters3/5

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

Schema description coverage is low at 43%, so the description must compensate. It maps well to key parameters: 'high impressions' to min_impressions, 'low CTR' to max_ctr_pct, and 'ranked 4-10' to position_low/position_high. However, it says nothing about the required start_date and end_date parameters or the meaning of the date window.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 and resource: 'Find pages worth quick optimization,' and gives specific selection criteria (high impressions, low CTR, ranked 4-10, no indexing issues). These criteria differentiate it from the general sibling analytics tools, though it does not explicitly name a sibling it is not.

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

Usage Guidelines3/5

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

The criteria imply when to use the tool: for pages in positions 4-10 with high impressions and low CTR. However, it does not state when not to use it or which alternative, such as get_ctr_optimization_report or get_position_band_report, would be more appropriate.

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

inspect_urlInspect UrlB

Inspect a single URL for indexing status, mobile usability, rich results, and AMP.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe page URL to inspect (must belong to the property)
site_urlYesThe GSC property URL (e.g. 'https://example.com/')

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does state what the tool reports on (indexing, mobile usability, rich results, AMP), which is helpful. However, it does not mention side effects (e.g., triggering a live test or URL fetch), rate limits, or that it may require special permissions, which would be useful for a tool that likely performs external fetches.

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

Conciseness4/5

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

The description is a single, short sentence that front-loads the core action and lists the inspection categories. It is concise with no filler, though it could benefit from a second sentence clarifying usage context. It earns a high score for efficiency.

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 presence of an output schema likely covers return values, and the description lists the main inspection categories, which is enough for a typical inspection tool. However, given that this tool probably triggers a live inspection, it would be complete to mention that it performs a live check and may take time. It is adequate but not exhaustive.

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

Parameters3/5

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

The schema already describes both parameters accurately (url and site_url) with descriptions, so schema coverage is 100%. The tool description adds no extra parameter semantics beyond the schema, such as format expectations or that url must be a valid page within the site. Baseline 3 is appropriate since the schema fully covers the parameters.

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

Purpose4/5

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

The description clearly states the tool's purpose: to inspect a single URL for indexing status, mobile usability, rich results, and AMP. It uses a specific verb ('inspect') and a specific resource ('URL'), and the list of inspection areas distinguishes it from sibling tools that focus on analytics or site management. However, it does not explicitly differentiate from a close sibling like batch_url_inspection, which also inspects URLs.

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 it is for inspecting a single URL, and from the sibling list an agent can infer it should be used when a single URL needs inspection rather than batch operations. But it lacks explicit guidance on when to use it versus alternatives like batch_url_inspection, and it does not state prerequisites such as the property being verified or access being required.

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

list_propertiesList PropertiesA

List all GSC properties the authenticated user has access to, with permission levels.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It does disclose the authentication scope and that permission levels are returned, and 'List' implies a read-only operation. It does not mention potential pagination, rate limits, or inclusion criteria for properties, but for a zero-parameter list tool this is acceptable though not thorough.

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 entire description is a single focused sentence with no filler. The action, scope, and distinguishing output feature are all front-loaded.

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

Completeness4/5

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

For a simple zero-parameter listing tool, the description covers the essential context: scope, authentication, and permission levels. An output schema exists to document the return structure, so the description doesn't need to explain the response shape. It could have added a hint that this tool is useful as a discovery step before property-specific tools.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description adds no parameter details, but none are needed since the input schema is empty and schema coverage is 100%.

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

Purpose5/5

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

The description states a specific action ('List all GSC properties') and a clear scope ('the authenticated user has access to'), and adds the distinct output feature 'with permission levels.' This clearly distinguishes it from the many property-specific sibling tools like get_site_details or delete_site.

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

Usage Guidelines3/5

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

The description implies when to use the tool: to enumerate accessible GSC properties before operating on a specific one. However, it gives no explicit guidance about when not to use it or which sibling to choose instead, so the usage context is implied rather than stated.

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

list_sitemapsList SitemapsA

List all sitemaps for a property with indexing stats and health classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty URL (e.g. 'https://example.com/')

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. 'List all sitemaps' clearly indicates a non-destructive read operation, and 'with indexing stats and health classification' tells the agent what kind of results to expect. This is sufficient transparency for a simple list tool.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler words. Every phrase adds meaning: the action, scope, and result contents are all present.

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

Completeness4/5

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

Given the tool's low complexity (one parameter) and the presence of an output schema, the description covers the essential purpose and result type. It lacks usage differentiation from siblings, but that is a minor gap for such a simple list operation.

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

Parameters3/5

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

The single parameter site_url is fully documented in the schema (100% coverage). The description's phrase 'for a property' loosely maps to that parameter but adds no new meaning beyond the schema's own description.

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

Purpose5/5

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

The description uses a specific verb ('List') with a clear resource ('all sitemaps for a property') and adds outcome details ('indexing stats and health classification'). This clearly distinguishes it from siblings like get_sitemap or submit_sitemap.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as get_sitemap (which likely targets a single sitemap) or submit_sitemap/delete_sitemap. The agent must infer usage from the tool name and sibling names.

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

property_migration_checklistProperty Migration ChecklistB

Generate a migration checklist when moving a site.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
new_site_urlYesNew/destination property URL
old_site_urlYesOriginal property URL

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it does not meet it. It does not say whether the checklist is a report/analysis (likely read-only) or mutating, what the checklist covers, whether it requires the old site to be pre-configured, or what the output structure implies. For a tool that presumably synthesizes migration steps, this is a significant transparency gap.

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

Conciseness4/5

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

A single efficient sentence that is front-loaded with the action and purpose, with zero filler words. It earns the fourth point for being genuinely concise and direct; it misses the fifth only because the brevity comes at the cost of substance - the sentence is short but does not carry enough information to be maximally useful.

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

Completeness3/5

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

The presence of an output schema means return values are documented elsewhere, which relieves the description of that duty. However, with no annotations and 4 required parameters, the description should clarify the checklist's scope and how it is produced. It does not explain what the checklist is derived from or what an agent should do with it, leaving the tool's overall role underspecified for a moderate-complexity tool.

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

Parameters2/5

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

Schema description coverage is only 50% - old_site_url and new_site_url have descriptions, but start_date and end_date are undocumented in the schema. The description adds nothing about any parameter; it does not clarify what the date range represents (likely the migration window) or the expected date format. With half the parameters undocumented and the description silent, the gap is not compensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 (generate), resource (migration checklist), and context ('when moving a site'). It is clearly distinct from siblings, which are all site-health, analytics, or sitemap tools with no migration focus. It loses the fifth point because 'migration checklist' itself is underspecified - it doesn't say what the checklist contains or what migration domain it covers (e.g., URLs, redirects, tracking).

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?

Provides a clear usage condition ('when moving a site') that tells the agent the general trigger. However, it names no alternatives and gives no exclusions - an agent might wonder whether analyze_site_health or get_site_details should be run first, or whether this checklist depends on other tools having been called. The 'when' is stated but the 'how it fits with siblings' is left to inference.

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

submit_sitemapSubmit SitemapB

Submit a sitemap to Google Search Console.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty URL
feed_pathYesFull URL of the sitemap to submit

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden of behavioral disclosure. It merely states 'Submit a sitemap to Google Search Console' without explaining side effects (e.g., whether an existing sitemap is replaced), authentication requirements, rate limits, or the meaning of the output. For a mutation-like action, this is insufficient.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that efficiently states the action. However, it is so terse that it omits context other dimensions need; as a concise statement it earns a 4, though the brevity harms completeness elsewhere.

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

Completeness2/5

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

For a two-parameter tool with no annotations, the description is minimal. It does not explain what happens on submission, whether the sitemap must belong to the property, how errors are handled, or any prerequisites. Even though an output schema exists, the missing behavioral and usage context makes this definition incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents both site_url and feed_path. The description adds no further parameter meaning; the verb 'submit' loosely implies feed_path is the sitemap URL, but no additional semantics are provided. At the high coverage baseline, this is an acceptable 3.

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

Purpose5/5

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

The description states a specific verb ('Submit') and resource ('a sitemap to Google Search Console'). It clearly differentiates from sibling tools like list_sitemaps and delete_sitemap by indicating a creation/upload action. There is no ambiguity about what action is performed.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus its siblings (e.g., list_sitemaps, get_sitemap, delete_sitemap). It does not mention prerequisites such as property verification, or whether a sitemap must not already exist. The usage context is only implied by the verb itself.

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. 22 tool updatesv0.1.0
    • First observedadd_site
    • First observedanalyze_site_health
    • First observedbatch_search_analytics
    • First observedbatch_url_inspection
    • First observedcompare_periods
    • First observedcrawl_error_summary
    • First observeddelete_site
    • First observeddelete_sitemap
    • First observedexport_full_dataset
    • First observedget_ctr_optimization_report
    • First observedget_keyword_cannibalization
    • First observedget_performance_overview
    • First observedget_position_band_report
    • First observedget_search_analytics
    • First observedget_site_details
    • First observedget_sitemap
    • First observedidentify_quick_wins
    • First observedinspect_url
    • First observedlist_properties
    • First observedlist_sitemaps
    • First observedproperty_migration_checklist
    • First observedsubmit_sitemap

TDQS

B3.1/5.0

Scored across 22 tools

Disambiguation3/5

Most tools target distinct resources and actions, but identify_quick_wins and get_ctr_optimization_report both describe the same high-impressions/low-CTR quick-win use case, creating selection ambiguity. Additionally, analyze_site_health and crawl_error_summary both touch on indexing/crawl health, which may confuse an agent.

Naming Consistency4/5

The vast majority of tools follow a clear verb_noun pattern (list_properties, add_site, submit_sitemap, delete_site). A few names like crawl_error_summary and property_migration_checklist deviate from this pattern, but they are still readable and do not disrupt the overall convention.

Tool Count3/5

At 22 tools, this is in the 'heavy' range (16-25), though the Google Search Console domain legitimately spans property management, search analytics, URL inspection, sitemaps, and crawling health. Each tool occupies a mostly distinct niche, so the count is defensible but slightly higher than ideal.

Completeness4/5

The set covers the major GSC workflows: property CRUD, search analytics reporting with comparisons and filters, URL inspection, sitemap management, and crawl error summaries. Minor gaps exist (e.g., no detailed per-URL crawl error listing or permission management), but agents can complete common tasks without dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Connects Claude AI to Google Search Console with OAuth 2.0 authentication, enabling users to analyze search performance, inspect URLs, manage sitemaps, and export analytics data through natural language conversations.
    2
    -
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for querying Google Search Console data — search analytics, URL inspection, sitemap monitoring, and more — read-only tools for any MCP-compatible AI client.
    7
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Google Search Console, enabling querying search analytics, URL inspection, sitemap management, and more via natural language.
    351 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Google Search Console, enabling querying site performance, URL inspection, sitemaps, and more via typed tools with OAuth authentication.
    488 npm
    MIT