Skip to main content
Glama
shutovdef-dotcom

Google Search Console MCP Server

Google Search Console MCP Server for SEOs

A Model Context Protocol (MCP) server that connects Google Search Console (GSC) to AI assistants, allowing you to analyze your SEO data through natural language conversations. Works with Claude Desktop, Cursor, Codex CLI, Gemini CLI, Antigravity, and any other MCP-compatible client.

This repository is a local fork of AminForou/mcp-gsc. It stays close to upstream and currently adds:

  • Local docs and notes

  • CI and Dependabot for the mirror

  • Python runtime compatibility of 3.10+ (Python 3.9 is not supported by the current MCP SDK)

Skip setup, get more. A more advanced hosted version — one-click sign-in, added GA4 tools. Works with Claude Desktop, Claude Code, Claude.ai, Codex, Cursor, and any MCP client. Only 100 seats. → Advanced GSC MCP (hosted)


What's New

[0.3.2] — April 2026

  • OAuth browser flow fixed for uvx — removed the isatty block that prevented the browser login window from opening when running as an MCP subprocess on macOS. OAuth now works out of the box with uvx, no manual terminal run needed.

  • get_capabilities tool added — call this to get a full list of available tools and current auth status in one shot. Useful when your AI assistant isn't sure what tools are available.

  • Better auth error messages — all tools now tell you exactly what to do when credentials are missing or expired.


Related MCP server: Google Search Console MCP Server

What Can This Do?

Property Management

  • See all your GSC properties in one place

  • Get verification details and ownership information

  • Add or remove properties from your account

Search Analytics & Reporting

  • Discover which queries bring visitors to your site

  • Track impressions, clicks, and click-through rates

  • Analyze performance trends and compare time periods

  • Visualize data with charts created by your AI assistant

URL Inspection & Indexing

  • Check if specific pages have indexing problems

  • See when Google last crawled your pages

  • Inspect multiple URLs at once to identify patterns

Sitemap Management

  • View all sitemaps and their status

  • Submit new sitemaps

  • Check for errors or warnings


Available Tools

Tool

What It Does

What You Need to Provide

get_capabilities

Lists all tools and shows auth status — call this first if unsure

Nothing

list_properties

Shows all your GSC properties

Nothing

get_site_details

Details about a specific site

Site URL

get_search_analytics

Top queries and pages with clicks, impressions, CTR, position

Site URL, time period

get_performance_overview

Summary of site performance

Site URL, time period

compare_search_periods

Compare performance between two time periods

Site URL, two date ranges

get_search_by_page_query

Search terms driving traffic to a specific page

Site URL, page URL

get_advanced_search_analytics

Analytics with filters by country, device, query, page

Site URL

gsc_export_search_analytics_snapshot

Read-only Search Analytics snapshot export with JSONL/CSV files and manifest

Site URL, date range

gsc_build_traffic_drop_queue

Read-only prioritized traffic-loss action queue for operator workflows

Site URL, current and previous date ranges

gsc_build_content_action_queue

Read-only prioritized content-opportunity action queue for operator workflows

Site URL, date range

gsc_build_cannibalization_decision_queue

Read-only sampled cannibalization decision queue for manual review

Site URL, date range

gsc_run_weekly_seo_ops_report

Read-only weekly SEO ops report aggregator with performance snapshot, prioritized queues, and manual checklist guidance

Site URL, optional date ranges

gsc_get_manual_operator_checklist

Read-only checklist of Search Console UI-only/manual review tasks and evidence to collect

Optional site URL, focus

inspect_url_enhanced

Detailed crawl/index status for a URL

Site URL, page URL

batch_url_inspection

Inspect up to 10 URLs at once

Site URL, list of URLs

build_indexing_action_queue

Read-only prioritized action queue from URL Inspection data

Site URL, list of URLs

check_indexing_issues

Check multiple URLs for indexing problems

Site URL, list of URLs

gsc_audit_jobposting_schema

Read-only JobPosting JSON-LD audit with Indexing API eligibility dry-run; never calls the Indexing API

Site URL, job URLs

gsc_build_jobposting_lifecycle_queue

Read-only JobPosting lifecycle action queue with dry-run Indexing API recommendations only

Site URL, job URLs

gsc_run_adjacent_technical_diagnostics

Auth-free sampled adjacent technical diagnostics with manual PageSpeed/Rich Results links; no PSI, CrUX, or GSC API calls

Site URL, page URLs

get_sitemaps

Lists all sitemaps for a site

Site URL

list_sitemaps_enhanced

Detailed sitemap info including errors and warnings

Site URL

audit_sitemap_urls

Safely fetches and parses a sitemap or sitemap index for read-only URL diagnostics

Site URL, sitemap URL

manage_sitemaps

Submit or delete sitemaps

Site URL, action

reauthenticate

Re-run the OAuth browser login (switch accounts)

Nothing

Ask your AI assistant to "call get_capabilities" for the full registered tool catalog.


Search Analytics Data Behavior

Google Search Analytics API responses are best treated as official API data with clear coverage limits:

  • Search Analytics sorts rows by clicks by default, except when results are grouped by date.

  • Requested ranking such as sort_by is applied by this server after rows are returned, so client-side sorting only reorders the retrieved rows.

  • Returned rows are the top rows for the request, not a guaranteed complete export of everything visible in the Search Console UI.

  • gsc_export_search_analytics_snapshot writes a read-only API snapshot under GSC_EXPORT_DIR when set, otherwise under the GSC config directory's exports/ folder. Relative export directories are normalized to absolute paths. Each snapshot includes manifest.json with request fingerprint, row/page counts, totals, artifact checksums, and limitations.

  • gsc_build_traffic_drop_queue compares current and previous Search Analytics periods using two official query calls and returns stable JSON action items with heuristic likely causes, confidence, limitations, and manual-verification flags.

  • gsc_build_content_action_queue uses one official Search Analytics query call and returns stable JSON heuristic opportunities for high-impression/low-CTR rows, striking-distance rankings, and page/query refresh candidates. Items require manual verification before content changes.

  • gsc_build_cannibalization_decision_queue uses one official Search Analytics query call with query,page dimensions and returns a stable sampled diagnostic queue for likely competing pages. It is not proof of cannibalization and requires SERP, intent, canonical, internal-link, and business review before URL changes.

  • gsc_run_weekly_seo_ops_report composes a stable read-only JSON weekly operator report from two dimensionless Search Analytics performance calls, the traffic-drop/content/cannibalization queues, and the static manual checklist. It supports partial failures by returning section-level errors and warnings instead of collapsing the whole report when at least one section succeeds.

  • gsc_get_manual_operator_checklist is a static read-only checklist for UI-only/manual Search Console surfaces such as Manual actions, Security issues, Removals, Crawl stats, Core Web Vitals, HTTPS, Links, Enhancements, and Settings access. It does not call Google APIs, require credentials, click UI buttons, submit requests, remove URLs, request indexing, validate fixes, or change permissions.

  • gsc_audit_jobposting_schema is a read-only HTML fetch and JSON-LD parser for supplied property-scoped job URLs. It blocks off-property/private targets, does not follow redirects, does not call Search Console, does not call the Google Indexing API, does not publish URL_UPDATED or URL_DELETED, does not request indexing, and does not write files. Its indexing_api_dry_run recommendation is advisory only.

  • gsc_build_jobposting_lifecycle_queue composes the JobPosting audit with optional URL Inspection diagnostics when credentials are available. It is read-only, dry-run only, quota-conscious, supports partial per-URL failures, and never calls the Indexing API or mutates Search Console.

  • gsc_run_adjacent_technical_diagnostics is auth-free and read-only. It safely samples supplied property-scoped pages for basic adjacent technical signals such as robots meta noindex, canonical hints, JSON-LD type counts, robots.txt summary counts, and manual PageSpeed/Rich Results UI links. It is not Search Console parity and does not call PageSpeed Insights, CrUX, Rich Results, Search Console, or Indexing APIs.

  • Snapshot exports paginate with Search Analytics startRow and rowLimit, but the API remains bounded: exported rows may not equal a full UI export.

  • Search Analytics requests support data_state="all", data_state="final", and data_state="hourly_all" (per call where available, or globally through GSC_DATA_STATE). Use hourly_all only with dimensions="hour" or a dimension list that includes hour, for example dimensions="hour,query"; requests without hour are rejected before invalid API calls or snapshot file writes.

  • Official API surfaces: Search Analytics metrics, URL Inspection results for requested URLs, sitemap metadata, and property information.

  • Adjacent approximations: content opportunities, page prioritization, period comparisons, and other workflows that rank or filter the returned rows.

  • Sampled diagnostics: cannibalization checks and broad audits that look for patterns within available top rows.

  • Manual-only surfaces: full UI exports, UI-only reports, and any workflow that requires complete row coverage beyond the API response.

JobPosting Schema Audit & Indexing API Dry-Run

gsc_audit_jobposting_schema returns stable JSON with top-level schema_version: "jobposting_schema_audit.v1" plus summary counts, per-URL issues, summarized JobPosting objects, dry-run Indexing API recommendations, limitations, and source provenance.

gsc_build_jobposting_lifecycle_queue returns stable JSON with top-level schema_version: "jobposting_lifecycle_queue.v1" plus prioritized action items for active valid jobs, schema-blocked jobs, missing or stale validThrough, expired/noindex jobs, optional URL Inspection observations, and dry-run-only URL_UPDATED/URL_DELETED recommendations. Actual Indexing API publish/delete remains outside this MCP flow and should only happen later behind explicit approval, eligibility, and quota gates.

Encoded source constraints:

  • Google JobPosting docs: required properties checked include datePosted, description, hiringOrganization, jobLocation, and title; the remote-work exception requires jobLocationType plus applicantLocationRequirements; JobPosting should be on the most specific single job page, not listing pages; expired jobs should be removed or use past validThrough; content must match the page and users must be able to apply.

  • Google Indexing API usage docs: Indexing API is only for pages with JobPosting or BroadcastEvent embedded in VideoObject; URL_UPDATED and URL_DELETED are publish actions; getMetadata is read-only status metadata and not indexing proof.

  • Google Indexing API quota docs: default publish quota is 200 URLs/day/project, metadata quota is 180/min/project, and all endpoints share 380/min/project; production use requires approval and quota planning.

Limitations:

  • The audit parses only static JSON-LD in <script type="application/ld+json">; it does not evaluate Microdata, RDFa, rendered JavaScript, or external feeds.

  • The tool returns summaries only and does not echo full job descriptions.

  • The dry-run recommendation is not proof of rich result eligibility, indexing, crawl timing, quota approval, or API access.

  • Manual review is still required for apply-flow availability, page/content matching, whether the page is truly a single-job detail page, and business decisions about expired/noindex pages.



Getting Started

Quick Start Example

For a domain property, the most common format will be:

sc-domain:example.com

Recommended first workflow in your MCP client:

  1. Call get_capabilities

  2. Run get_search_analytics for sc-domain:example.com

  3. Run compare_search_periods for the last 28 days vs. previous 28 days

  4. Use batch_url_inspection or check_indexing_issues for priority URLs

  5. Review get_sitemaps or manage_sitemaps

For job pages, ask: "Run gsc_build_jobposting_lifecycle_queue for https://example.com/ on these vacancy URLs and prioritize lifecycle actions, including dry-run URL_UPDATED or URL_DELETED recommendations." The tool will not call the Indexing API; if you later want fast recrawl requests for eligible vacancy pages, use the Google Indexing API separately for valid JobPosting URLs only after approval/quota review.

Step 1 — Set Up Google API Credentials

You need credentials before configuring any client. Pick one method:

  1. Go to Google Cloud Console and create or select a project

  2. Enable the Search Console API

  3. Go to Credentials → Create Credentials → OAuth client ID

  4. Configure the OAuth consent screen, select Desktop app, click Create

  5. Download the JSON file — save it somewhere permanent (e.g. ~/Documents/client_secrets.json)

On first use, a browser window will open asking you to sign in to your Google account. After that, the token is saved and no browser interaction is needed again.

Option B — Service Account (For automation or team use)

  1. Go to Google Cloud Console and create or select a project

  2. Enable the Search Console API

  3. Go to Credentials → Create Credentials → Service Account

  4. Go to the Keys tab → Add Key → Create new key → JSON → Download

  5. Save the file somewhere permanent (e.g. ~/Documents/service_account.json)

  6. Add the service account email to your GSC property: Search Console → Settings → Users and permissions → Add user → Full access

🎥 Watch the step-by-step setup tutorial for this section

Updated 2026 — covers the full installation process using the new uvx method, from setting up your Google credentials to your first successful query.


Step 2 — Installation

No cloning, no Python installation, no virtual environments. uvx downloads and runs the server automatically and keeps it up to date.

Install uv — open Terminal and run all three commands in order:

# 1. Download and install
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. Activate in the current Terminal session
source $HOME/.local/bin/env

# 3. Make it permanent for all future sessions
echo 'source $HOME/.local/bin/env' >> ~/.zshrc

Verify:

uv --version

Why all three commands? The installer puts uv in ~/.local/bin, but your already-open Terminal session doesn't know about that folder yet. Step 2 activates it immediately. Step 3 ensures every future Terminal window has it automatically.

Now configure your AI client:


Claude Desktop

Config file: ~/Library/Application Support/Claude/claude_desktop_config.json

OAuth:

{
  "mcpServers": {
    "gscServer": {
      "command": "/FULL/PATH/TO/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

Service Account:

{
  "mcpServers": {
    "gscServer": {
      "command": "/FULL/PATH/TO/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json",
        "GSC_SKIP_OAUTH": "true"
      }
    }
  }
}

Cursor

Config file: ~/.cursor/mcp.json

OAuth:

{
  "mcpServers": {
    "gscServer": {
      "command": "/FULL/PATH/TO/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

Codex CLI

Config file: ~/.codex/config.toml

OAuth:

[mcp_servers.gscServer]
command = "/FULL/PATH/TO/uvx"
args = ["mcp-search-console"]
enabled = true
env = { GSC_OAUTH_CLIENT_SECRETS_FILE = "/full/path/to/client_secrets.json" }

Service Account:

[mcp_servers.gscServer]
command = "/FULL/PATH/TO/uvx"
args = ["mcp-search-console"]
enabled = true
env = { GSC_CREDENTIALS_PATH = "/full/path/to/service_account.json", GSC_SKIP_OAUTH = "true" }

Finding your uvx path: On macOS/Linux run which uvx in Terminal after installing uv (typically /Users/YOUR_NAME/.local/bin/uvx). On Windows, run Get-Command uvx | Select-Object -ExpandProperty Source in PowerShell (or where uvx in cmd) — it's usually C:\Users\YOUR_NAME\.local\bin\uvx.exe. Replace /FULL/PATH/TO/uvx in the configs above with that path.

Why the full path? GUI apps like Claude Desktop and Cursor launch without reading your shell config (~/.zshrc), so they don't know about ~/.local/bin. Using the full path guarantees it works regardless of how the app is launched. If you see a spawn uvx ENOENT error, this is the fix.

After saving the config, fully quit the app (Cmd+Q) and reopen it.

For OAuth: on first use, a browser window will open automatically for login. After that, the token is cached and you won't be asked again.


Option B — Clone (Advanced)

Prefer a video walkthrough for this method? The tutorial below covers the clone install path step by step — virtual environment setup, dependencies, and config:

Use this if you want to modify the code or run a specific local version. This method uses the video tutorial above for the credential setup steps.

Requires Python 3.10+. Python 3.9 is not supported by the current MCP Python SDK, so this server will not start there. Check your version with python --version. If it's below 3.10, install Python 3.10 or newer and recreate your virtual environment. The uvx method (Option A) avoids this entirely by managing the Python version for you, so it's still the recommended path for most users.

Clone the repo:

git clone <your-fork-url>
cd google-search-console-mcp

If you want to compare changes with upstream or contribute a fix back, keep the original project as an upstream remote:

git remote add upstream https://github.com/AminForou/mcp-gsc.git

Or download the ZIP from the green Code button at the top of this page and unzip it.

Set up the environment:

uv venv .venv
uv pip install -r requirements.txt

Configure your AI client (Claude Desktop example):

OAuth:

{
  "mcpServers": {
    "gscServer": {
      "command": "/full/path/to/google-search-console-mcp/.venv/bin/python",
      "args": ["/full/path/to/google-search-console-mcp/gsc_server.py"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

Service Account:

{
  "mcpServers": {
    "gscServer": {
      "command": "/full/path/to/google-search-console-mcp/.venv/bin/python",
      "args": ["/full/path/to/google-search-console-mcp/gsc_server.py"],
      "env": {
        "GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json",
        "GSC_SKIP_OAUTH": "true"
      }
    }
  }
}

Mac path examples:

  • Python: /Users/yourname/Documents/google-search-console-mcp/.venv/bin/python

  • Script: /Users/yourname/Documents/google-search-console-mcp/gsc_server.py


Step 3 — Test

Ask your AI assistant: "List my GSC properties"

If you see your properties — it's working. If not, ask: "Call get_capabilities" to see auth status and diagnose the issue.


Environment Variables Reference

Variable

Required

Default

Description

GSC_OAUTH_CLIENT_SECRETS_FILE

OAuth only

Absolute path to your OAuth client secrets JSON. Always required when using uvx.

GSC_CREDENTIALS_PATH

Service account only

Absolute path to your service account JSON key. Always required when using uvx.

GSC_SKIP_OAUTH

No

false

Set to "true" to force service account auth and skip OAuth entirely

GSC_DATA_STATE

No

"all"

"all" matches the GSC dashboard. "final" returns only confirmed data (2–3 day lag). "hourly_all" enables hourly fresh data only for Search Analytics requests whose dimensions include hour; non-hour requests are rejected before calling the API.

GSC_EXPORT_DIR

No

<GSC config dir>/exports

Directory for read-only Search Analytics snapshot exports. Relative values are expanded to absolute paths. Tool args cannot override this path.

GSC_ALLOW_DESTRUCTIVE

No

false

Set to "true" to enable add/delete site and submit/delete sitemap external mutation tools

GSC_ALLOW_REMOTE_SSE

No

false

Required to bind SSE/HTTP transport to a non-loopback host such as 0.0.0.0


Cursor Marketplace

One-click install available — search for mcp-search-console in the Cursor Marketplace.

After installing, configure your credentials (see Step 1 above) then use the bundled skills directly in Cursor Agent chat:

Skill

How to invoke

What it does

seo-weekly-report

"Run the SEO weekly report for example.com"

Weekly ops report with performance snapshot, prioritized queues, and manual checklist guidance

cannibalization-check

"Check for keyword cannibalization on example.com"

Builds a sampled manual-review decision queue for likely competing pages

indexing-audit

"Audit indexing for my top pages"

Batch-inspects top 20 pages and returns a prioritized fix list

content-opportunities

"Find content opportunities for example.com"

Surfaces low-CTR/high-impression, striking-distance, and query/page refresh candidates for manual verification


Sample Prompts

Tool

Sample Prompt

list_properties

"List all my GSC properties and tell me which ones have the most pages indexed."

get_search_analytics

"Show me the top 20 search queries for mywebsite.com in the last 30 days, highlight any with CTR below 2%, and suggest title improvements."

get_performance_overview

"Create a visual performance overview of mywebsite.com for the last 28 days, identify any unusual drops or spikes, and explain possible causes."

check_indexing_issues

"Check these pages for indexing issues: mywebsite.com/product, mywebsite.com/services, mywebsite.com/about"

inspect_url_enhanced

"Do a comprehensive inspection of mywebsite.com/landing-page and give me actionable recommendations."

compare_search_periods

"Compare my site's performance between January and February. What queries improved the most?"

get_advanced_search_analytics

"Analyze queries with high impressions but positions below 10, filtered to mobile traffic in the US only."

gsc_export_search_analytics_snapshot

"Export a Search Analytics snapshot for June as both JSONL and CSV, then summarize the manifest totals and truncation warning."

gsc_run_weekly_seo_ops_report

"Run the weekly SEO ops report for example.com for the last 28 days, include prioritized manual follow-up actions, and call out any section-level errors."

gsc_build_content_action_queue

"Build a content action queue for the last 28 days and prioritize high-impression low-CTR, striking-distance (default positions 4-20), and query/page refresh opportunities for manual verification."

gsc_build_cannibalization_decision_queue

"Build a cannibalization decision queue for the last 28 days, show likely competing pages by query, and explain which cases need manual SERP and intent review first."

gsc_get_manual_operator_checklist

"Give me the weekly manual Search Console operator checklist for example.com, including UI paths and evidence I should collect without taking actions in the UI."


Troubleshooting

spawn uvx ENOENT or command not found: uvx

Your AI client can't find uvx. Use the full path instead of just uvx:

# Find your full path (macOS/Linux):
which uvx
# Typically: /Users/YOUR_NAME/.local/bin/uvx
# Find your full path (Windows PowerShell):
Get-Command uvx | Select-Object -ExpandProperty Source
# Typically: C:\Users\YOUR_NAME\.local\bin\uvx.exe

Replace "command": "uvx" with the full path (e.g. "command": "/Users/YOUR_NAME/.local/bin/uvx") in your config.

uv --version gives "command not found" right after installing

The installer updates ~/.local/bin but your current Terminal session doesn't see it yet. Run:

source $HOME/.local/bin/env

Then add it permanently:

echo 'source $HOME/.local/bin/env' >> ~/.zshrc

Authentication failed / credentials file not found

Make sure you are using the absolute path to your credentials file — not a relative path, not ~/. Example:

/Users/yourname/Documents/client_secrets.json   ✅
~/Documents/client_secrets.json                 ✅
client_secrets.json                              ❌

MCP only works in Claude Desktop app, not the website

The MCP server runs locally on your machine. It only works in the Claude Desktop app (downloaded from claude.ai/download), not in the claude.ai browser interface.

AI Client Configuration Issues

  1. Make sure all file paths in your config are correct absolute paths

  2. Fully quit (Cmd+Q) and reopen the app after any config change — just closing the window is not enough

  3. Ask your AI assistant to "call get_capabilities" — it will report the exact auth status and error


Safety: Destructive Operations

By default, add_site, delete_site, submit_sitemap, and delete_sitemap are disabled because they mutate external Google Search Console state. To enable these external mutations:

"GSC_ALLOW_DESTRUCTIVE": "true"

Remote Deployment & Docker (Advanced)

The standard setup runs the server locally. This section is only for users who want to run it on a remote server or in a container.

Remote SSE/HTTP mode has no built-in authentication. Treat it as a trusted-network-only mode and place it behind your own network controls, reverse proxy, or tunnel.

HTTP Transport

MCP_TRANSPORT=sse GSC_ALLOW_REMOTE_SSE=true MCP_HOST=0.0.0.0 MCP_PORT=3001 python gsc_server.py

Variable

Default

Description

MCP_TRANSPORT

stdio

Set to sse for network/remote use

MCP_HOST

127.0.0.1

Host to bind

MCP_PORT

3001

Port to bind

GSC_ALLOW_REMOTE_SSE

false

Explicit safety switch required for non-loopback SSE/HTTP binding

Docker

docker build -t mcp-gsc .

docker run \
  -e MCP_TRANSPORT=sse \
  -e GSC_ALLOW_REMOTE_SSE=true \
  -e MCP_HOST=0.0.0.0 \
  -e MCP_PORT=3001 \
  -e GSC_CREDENTIALS_PATH=/app/credentials.json \
  -v /path/to/credentials.json:/app/credentials.json \
  -p 3001:3001 \
  mcp-gsc

Advanced GSC Visualizer — A Chrome extension (14,000+ users) with interactive charts, one-click export of up to 25,000 rows, keyword cannibalization detection, and an AI assistant — all directly inside Google Search Console. Built by the same author. Install from the Chrome Web Store →


Contributing

Found a bug or have an idea for improvement? Open an issue or submit a pull request on GitHub.


License

MIT License. See the LICENSE file for details.


Changelog

[0.3.2] — April 2026

  • OAuth browser flow fixed for uvx — removed isatty block that prevented the OAuth browser window from opening when running as an MCP subprocess on macOS. OAuth + uvx now works out of the box.

  • get_capabilities tool — returns all available tools grouped by category plus live auth status in one call.

  • Better auth error messages — all tools now explicitly tell you to call reauthenticate when credentials are missing or expired.

  • Improved list_properties description — better semantic tool discovery in clients that use lazy tool loading.

[0.3.1] — April 2026

  • Fixed list_properties masking real auth errors; fail-fast on missing credentials.

[0.3.0] — April 2026

  • Cursor Marketplace plugin with 4 bundled SEO skills

  • Stable token storage in platform user config dir (survives uvx upgrades)

  • Structured JSON output for all data tools

  • 39 unit tests

[0.2.2] — April 2026

  • Safety mode for destructive tools (disabled by default)

  • HTTP/SSE transport for remote deployments

  • Dockerfile

[0.2.1] — March 2026

  • reauthenticate tool for switching Google accounts

  • Fixed sitemap TypeError crash

  • Fixed domain property 404 errors

[0.2.0] — March 2026

  • dataState: "all" by default (matches GSC dashboard)

  • Flexible row_limit parameter (up to 500)

  • Multi-dimension filtering for advanced analytics

[0.1.0] — Initial release

  • 20+ tools covering property management, search analytics, URL inspection, sitemap management, and operator queues

  • OAuth and service account authentication

Available Tools

32 tools
add_siteA
Add a site to your Search Console properties.

Args:
    site_url: The URL of the site to add (must be exact match e.g. https://example.com, or https://www.example.com, or https://subdomain.example.com/path/, for domain properties use format: sc-domain:example.com)
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it adds a site but does not disclose consequences of adding, prerequisites, or if it has destructive effects. Does not mention authentication or rate limits.

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

Conciseness5/5

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

Extremely concise: one sentence for purpose, then parameter explanation. Every sentence adds value with no 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 simple one-parameter tool, description is fairly complete. Covers purpose and parameter format. Could mention output or errors but not required per output schema existence.

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

Parameters4/5

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

Schema has 0% coverage with only 'Site Url' title. Description adds essential semantics: exact match requirements, examples for URL patterns and domain properties. Significantly compensates for bare 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?

Description clearly states 'Add a site to your Search Console properties.' Uses specific verb and resource, and distinguishes from sibling tools like delete_site or list_properties.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. With siblings like delete_site, get_site_details, and list_properties, explicit usage context would help agents choose correctly.

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

audit_sitemap_urlsA
Safely fetch and parse an XML sitemap or sitemap index for read-only diagnostics.

This tool does not submit/delete sitemaps and does not call URL Inspection. It
validates the sitemap URL against the supplied GSC property scope before any
network request, resolves DNS to block unsafe IP targets, disables redirects,
and caps response bytes.

Args:
    site_url: Exact GSC property URL from list_properties, or sc-domain:example.com
    sitemap_url: Full URL of the sitemap XML to fetch
    max_urls: Maximum number of URL or child sitemap entries to include in samples
ParametersJSON Schema
NameRequiredDescriptionDefault
max_urlsNo
site_urlYes
sitemap_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses safety measures (validation, DNS resolution, redirect disabling, byte capping) and confirms read-only behavior. Could mention error handling but overall good.

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

Conciseness5/5

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

The description is concise and well-structured, with a clear purpose statement followed by safety notes and parameter explanations. 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?

Given the existence of an output schema, the description covers input and safety adequately. It could be more explicit about return data but likely covered by output schema.

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 description adds meaning to all three parameters beyond the schema, explaining site_url format, sitemap_url as full URL, and max_urls limit on samples. Schema coverage is 0%, so this is valuable; slight improvement could be format requirements for sitemap_url.

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 fetches and parses XML sitemaps for read-only diagnostics, using specific verbs and distinguishing from sibling tools like submit_sitemap and delete_sitemap.

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 explicitly states what the tool does not do (submit/delete sitemaps, call URL Inspection), providing context for when to use versus siblings. However, it could be more explicit about when to use this tool instead of other read tools like get_sitemaps.

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

batch_url_inspectionA
Inspect multiple URLs in batch (within API limits).

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    urls: List of URLs to inspect, one per line
ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions batch and API limits but gives no details on rate limits, error handling, partial success, or failure behavior. For a batch operation, more behavioral context is needed.

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

Conciseness5/5

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

The description is concise with a clear Args section. No extraneous words; every sentence provides value. It is well-structured and easy to parse.

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

Completeness3/5

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

Given the batch complexity and existence of an output schema, the description covers main points but misses rate limits, error handling, and input format specifics. It is adequate but could be more complete.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It explains site_url with examples and domain property coverage, and urls as a list per line. This adds meaning beyond the schema, but lacks constraints like max URL count or format validation.

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 inspects multiple URLs in batch within API limits. The verb 'inspect' and resource 'multiple URLs' are specific, and the batch aspect distinguishes it from single-URL siblings like inspect_url_enhanced.

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 mentions 'within API limits' and explains domain property usage, but does not explicitly state when to use this tool versus alternatives (e.g., for bulk vs. single inspection). No exclusion criteria or when-not-to-use guidance is provided.

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

build_indexing_action_queueA

Build a read-only prioritized action queue from URL Inspection data.

This tool does not request indexing. It only inspects URL-level indexed state for up to 10 URLs and recommends manual next steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states read-only, no indexing, and 10-URL limit, but does not disclose authentication, rate limits, or whether it modifies state. Adequate but not exhaustive.

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 fluff. Front-loaded with key purpose and constraints. Every sentence adds value.

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

Completeness3/5

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

Covers overall purpose and behavioral traits, but misses parameter details critical for correct invocation. Output schema exists but is not shown; still, parameter guidance is insufficient for a 0% schema coverage 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 0%, and description only adds 'up to 10 URLs' as a constraint for 'urls'. Lacks format, examples, or explanation of 'site_url', leaving the agent with insufficient guidance.

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

Purpose5/5

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

The description clearly states it builds a read-only prioritized action queue from URL Inspection data, distinguishing it from indexing tools. It specifies the verb, resource, and scope (up to 10 URLs).

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

Usage Guidelines4/5

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

It explicitly says it does not request indexing, guiding when not to use it. It implies use for URL inspection and recommendations, but does not explicitly name alternatives like inspect_url_enhanced.

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

check_indexing_issuesA
Check for specific indexing issues across multiple URLs.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    urls: List of URLs to check, one per line
ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose side effects, rate limits, or return structure. It only says 'check for specific indexing issues' without explaining what those are or the output.

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

Conciseness5/5

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

The description is concise, with a clear one-liner purpose followed by structured Args. No unnecessary text.

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

Completeness3/5

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

Given the tool's purpose and the existence of an output schema, the description provides basic parameter guidance but lacks details on return values, limitations, or what constitutes 'indexing issues'. It is adequate but not fully complete.

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

Parameters3/5

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

The description adds value by explaining site_url in detail and noting that urls should be 'one per line'. However, with 0% schema description coverage, more could be said about parameter types or constraints.

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 'Check for specific indexing issues across multiple URLs', using a specific verb and resource. It distinguishes from sibling tools like batch_url_inspection and inspect_url_enhanced by focusing on indexing issues and multiple URLs.

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

Usage Guidelines4/5

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

The Args section provides explicit guidance on site_url format and domain property usage, aiding correct invocation. However, it lacks when-not-to-use or alternative tool mentions.

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

compare_search_periodsB
Compare search analytics data between two time periods.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    period1_start: Start date for period 1 (YYYY-MM-DD)
    period1_end: End date for period 1 (YYYY-MM-DD)
    period2_start: Start date for period 2 (YYYY-MM-DD)
    period2_end: End date for period 2 (YYYY-MM-DD)
    dimensions: Dimensions to group by (default: query)
    limit: Number of top results to compare (default: 10)
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
site_urlYes
dimensionsNoquery
period1_endYes
period2_endYes
period1_startYes
period2_startYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether it is read-only, any rate limits, required permissions, or side effects. For a comparison tool, it fails to mention if data is fetched from an API, cached, or if it modifies state.

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

Conciseness3/5

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

The description is structured as a docstring with parameter list. It is fairly concise for 7 parameters, but the parameter descriptions are somewhat verbose. Could be more terse without losing meaning.

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

Completeness3/5

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

The description covers required parameters adequately, and since there is an output schema, omitting return value details is acceptable. However, it lacks usage context and does not mention any prerequisites or limitations.

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

Parameters4/5

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

The schema has 0% description coverage (no descriptions in JSON Schema), so the description carries full burden. The description explains each parameter's meaning and format (e.g., site_url formats, date format). This adds significant 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's purpose: comparing search analytics data between two time periods. The name 'compare_search_periods' and the description together distinguish it from siblings like 'get_search_analytics' or 'get_performance_overview', which do not perform comparisons.

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 parameter details but no explicit guidance on when to use this tool versus alternatives (e.g., 'get_search_analytics' for a single period). No when-not-to-use or 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.

delete_siteA
Remove a site from your Search Console properties.

Args:
    site_url: The URL of the site to remove (must be exact match e.g. https://example.com, or https://www.example.com, or https://subdomain.example.com/path/, for domain properties use format: sc-domain:example.com)
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It notes the destructive action and URL format requirements, but lacks information on irreversibility, authentication needs, or post-deletion effects.

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

Conciseness5/5

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

The description is concise and efficient, with the purpose front-loaded and parameter details following in a clean structure without unnecessary words.

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 deletion tool, the description covers the essential action and parameter. An output schema exists, so return values need not be described. Minor missing details like confirmation or error messages, but acceptable.

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

Parameters4/5

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

Schema coverage is 0%, but the description adds significant value by explaining the site_url parameter with exact match examples and domain property format, which is beyond the schema's type definition.

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 the specific action ('Remove a site') and resource ('from your Search Console properties'), clearly distinguishing it from sibling tools like add_site or delete_sitemap.

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 does not explicitly state when to use this tool versus alternatives. While the purpose is clear, there's no guidance on prerequisites or exclusions.

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

delete_sitemapA
Delete (unsubmit) a sitemap from Google Search Console.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    sitemap_url: The full URL of the sitemap to delete
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes
sitemap_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits beyond deleting. It omits side effects (e.g., irreversibility, impacts on indexing) or any required permissions, which is essential for a destructive operation.

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

Conciseness4/5

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

The description is front-loaded with the purpose and structured with clear argument headings. It is relatively concise, though the argument details are slightly lengthy. Overall well-organized.

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

Completeness3/5

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

Given that an output schema exists, return value explanation is not needed. However, the description lacks usage guidelines and behavioral transparency, making it insufficiently complete for a tool with no annotations and high parameter count.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate. It provides thorough detail for both parameters: site_url format with examples and domain property clarification, and sitemap_url as full URL. This adds significant meaning 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 action: 'Delete (unsubmit) a sitemap from Google Search Console.' It uses a specific verb (Delete) and resource (sitemap), and implicitly distinguishes from sibling tools like 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?

The description provides no guidance on when to use this tool versus alternatives (e.g., audit_sitemap_urls) or any prerequisites (e.g., permissions). It only describes arguments, not the usage context.

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

get_advanced_search_analyticsA
Get advanced search analytics data with sorting, filtering, and pagination.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    start_date: Start date in YYYY-MM-DD format (defaults to 28 days ago)
    end_date: End date in YYYY-MM-DD format (defaults to today)
    dimensions: Dimensions to group by, comma-separated (e.g., "query,page,device")
    search_type: Type of search results (WEB, IMAGE, VIDEO, NEWS, DISCOVER)
    row_limit: Maximum number of rows to return (max 25000)
    start_row: Starting row for pagination
    sort_by: Metric to sort by (clicks, impressions, ctr, position)
    sort_direction: Sort direction (ascending or descending)
    filter_dimension: Single filter dimension (query, page, country, device). Use 'filters' instead for multiple filters.
    filter_operator: Single filter operator (contains, equals, notContains, notEquals)
    filter_expression: Single filter expression value
    filters: JSON array of filter objects for AND logic across multiple dimensions. Overrides
             filter_dimension/filter_operator/filter_expression when provided. Each object must
             have 'dimension', 'operator', and 'expression' keys. Valid dimensions: query, page,
             country, device. Valid operators: contains, equals, notContains, notEquals.
             Example: [{"dimension":"country","operator":"equals","expression":"usa"},
                       {"dimension":"device","operator":"equals","expression":"MOBILE"}]
    data_state: Data freshness — "all" (default, matches GSC dashboard) or "final" (confirmed data only, 2-3 day lag)
ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNo
sort_byNoclicks
end_dateNo
site_urlYes
row_limitNo
start_rowNo
data_stateNo
dimensionsNoquery
start_dateNo
search_typeNoWEB
sort_directionNodescending
filter_operatorNocontains
filter_dimensionNo
filter_expressionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full behavioral disclosure. It covers data freshness (data_state), pagination (start_row, row_limit), filter logic (single vs multiple filter parameters), and domain property nuances. It does not mention rate limits, error handling, or performance, but key behaviors are transparent.

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 front-loaded with a clear purpose sentence and organized into a readable Args block. While slightly verbose for some parameter descriptions, the structure is clear and each parameter has its own line. Could be tightened without losing clarity.

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

Completeness4/5

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

Given the tool's complexity (14 parameters, pagination, multiple filter modes) and the presence of an output schema, the description covers most essential usage context: defaults, allowed values, parameter interactions. It lacks error case handling or performance notes, but overall it enables effective use.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It provides detailed explanations for all 14 parameters, including defaults, formats, allowed values, examples, and interactions (e.g., filters overrides filter_dimension/filter_operator/filter_expression). This adds significant meaning beyond the bare 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 'Get advanced search analytics data with sorting, filtering, and pagination.' It uses a specific verb and resource, and the term 'advanced' distinguishes it from sibling tool 'get_search_analytics'.

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

Usage Guidelines3/5

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

The description provides detailed parameter guidance (e.g., site_url format, filter overrides, data_state options) but does not explicitly state when to use this tool versus alternatives like 'get_search_analytics' or other siblings. Usage is implied but not contrasted.

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

get_capabilitiesA

Get a full list of all available tools, current auth status, and how to get started. ALWAYS call this first when asked what tools are available, what this server can do, or how to get started. Returns all tool names grouped by category in a single call — faster than searching individually. Also shows if authentication is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavior: returns tools grouped by category, auth status, and getting started info. Notes that it's a single call and faster than alternatives. No side effects implied.

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

Conciseness5/5

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

Three concise sentences, each earning its place: purpose, usage guidance, and behavioral detail. No fluff.

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

Completeness5/5

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

Given the tool has an output schema, the description sufficiently explains what the tool returns. The simple purpose is well covered.

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?

No parameters, baseline 4. Description does not need to add parameter info beyond what schema already provides.

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

Purpose5/5

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

The description clearly states the tool returns a full list of tools, auth status, and getting started info. It explicitly distinguishes itself from sibling tools by positioning it as the first call for discovery.

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

Usage Guidelines4/5

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

Provides explicit conditions for use: 'when asked what tools are available, what this server can do, or how to get started.' Also explains comparative advantage over searching individually. No explicit when-not-to-use, but the context is clear.

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

get_creator_infoB

Provides information about Amin Foroutan, the creator of the MCP-GSC tool.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool is informational and benign, but does not specify what information is returned or any potential side effects. For a zero-parameter tool, this is adequate but minimal.

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

Conciseness5/5

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

A single sentence that is front-loaded and contains no unnecessary words. Every part adds value.

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

Completeness3/5

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

Given that the tool has no parameters and an output schema exists, the description is moderately complete. However, it does not specify what kind of information is provided (e.g., bio, contact, version), leaving the agent uncertain about the output.

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 no parameters, and the input schema (with 0 properties) is fully documented. The description adds no parameter meaning, but none is needed. Baseline is 4 for zero-parameter tools.

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 information about Amin Foroutan, the creator. It specifies the verb ('provides information') and resource ('the creator of MCP-GSC'). This distinguishes it from sibling tools, which are all related to GSC functionality.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool vs alternatives. While it is unique among siblings, the description does not mention any context or exclusions. The agent must infer its use case.

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

get_performance_overviewA
Get a performance overview for a specific property.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    days: Number of days to look back (default: 28)
ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention that the operation is read-only, any rate limits, potential errors, or side effects. Although the name implies a read operation, without explicit disclosure the agent lacks important behavioral context.

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

Conciseness5/5

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

The description is concise and front-loaded. The first sentence states the purpose, followed by a structured 'Args' section. Every sentence adds value, with no redundancy or fluff. It is appropriately sized for the tool's complexity.

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

Completeness4/5

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

The description adequately covers the input parameters with usage context, especially site_url. Since an output schema exists, the lack of output explanation is acceptable. However, it does not address behavioral traits (e.g., read-only) or differentiate from sibling analytics tools, leaving minor gaps in overall completeness.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries full burden. It adds significant value: site_url is explained with example formats and a note on domain properties and subdomain analysis; days is explained with default and meaning ('look back'). Both parameters are fully described beyond the schema.

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

Purpose4/5

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

The description clearly states the action ('Get a performance overview') and the resource ('for a specific property'). The verb and resource are specific. While it does not explicitly distinguish from sibling tools like get_search_analytics, the name and context imply a high-level summary. However, lack of explicit differentiation prevents a 5.

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

Usage Guidelines3/5

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

The description provides practical guidance on using the site_url parameter (e.g., format, domain vs subdomain) and explains the days parameter. However, it does not specify when to use this tool versus alternatives, such as get_search_analytics or get_advanced_search_analytics. The guidance is helpful but insufficient for tool selection.

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

get_search_analyticsA
Get search analytics data for a specific property.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    days: Number of days to look back (default: 28)
    dimensions: Dimensions to group by (default: query). Options: query, page, device, country, date
               You can provide multiple dimensions separated by comma (e.g., "query,page")
    row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews,
               50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports
               beyond 500 rows, use get_advanced_search_analytics which supports pagination.
ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
site_urlYes
row_limitNo
dimensionsNoquery

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It explains site_url format, default values, and constraints like row_limit max. Does not mention rate limits or authentication, but given context, sufficient.

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?

Well-structured with clear parameter explanations, but could be slightly more concise. Main purpose is front-loaded.

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

Completeness5/5

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

Given 4 parameters and output schema exists, description covers all parameter semantics and provides cross-tool guidance. No gaps for agent decision-making.

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

Parameters5/5

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

Schema description coverage is 0%, yet description fully explains all 4 parameters with examples, options, and usage advice (e.g., dimensions options, row_limit ranges). Adds significant value beyond 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?

Clearly states 'Get search analytics data for a specific property' with specific verb and resource. Explicitly distinguishes from sibling get_advanced_search_analytics for bulk exports.

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

Usage Guidelines5/5

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

Provides explicit guidance on when to use this tool vs. get_advanced_search_analytics for paginated bulk exports. Also advises on row_limit ranges for different use cases.

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

get_search_by_page_queryA
Get search analytics data for a specific page, broken down by query.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    page_url: The specific page URL to analyze
    days: Number of days to look back (default: 28)
    row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews,
               50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports
               beyond 500 rows, use get_advanced_search_analytics which supports pagination.
ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
page_urlYes
site_urlYes
row_limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It clearly implies a read operation (getting data) and explains parameters in detail, but it does not explicitly declare read-only behavior or mention permissions. For a simple search analytics retrieval, this is largely sufficient, though a note on non-destructiveness would be beneficial.

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?

Description is front-loaded with a clear purpose statement, followed by well-structured parameter explanations in bullet-like format. Each sentence is informative and necessary, with no 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?

Given the tool has 4 parameters, an output schema (so return values are covered), and no annotations, the description covers all parameters with useful context. It could mention the output's scope (e.g., aggregated query data) but is largely complete for effective use.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates: for site_url it provides examples and domain property vs page filtering explanation; for row_limit it offers usage ranges and scenarios; for days it explains default and purpose; for page_url it clearly defines. This adds significant meaning beyond the bare 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?

Description explicitly states 'Get search analytics data for a specific page, broken down by query.' This clearly distinguishes it from sibling tools like get_search_analytics (broader) and get_advanced_search_analytics (paginated).

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

Usage Guidelines5/5

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

Provides explicit guidance: explains domain property usage for site_url, recommends filtering by page for subdomain analysis, and for row_limit gives usage scenarios and explicitly cites get_advanced_search_analytics for bulk exports beyond 500 rows. This is a clear when/when-not/alternatives pattern.

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

get_site_detailsA
Get detailed information about a specific Search Console property.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only status, potential side effects, or access requirements. The description carries the full burden but adds no transparency beyond the basic purpose.

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

Conciseness5/5

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

The description is concise, with a clear one-sentence purpose followed by structured parameter details. No extraneous information exists, and the Args section is well-organized.

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

Completeness4/5

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

The description covers the parameter sufficiently and, given the existence of an output schema, need not detail return values. However, it could briefly summarize what 'detailed information' includes to better set expectations.

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?

With 0% schema coverage, the description explains the site_url parameter in detail, including acceptable formats and a usage tip about domain properties. This adds significant value beyond the raw schema definition.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get detailed information about a specific Search Console property.' This distinct verb+resource pattern differentiates it from sibling tools like list_properties and 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 Guidelines4/5

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

The description provides specific guidance on the site_url parameter, including format examples and a tip about using domain properties with filtering. However, it does not explicitly mention when to avoid this tool or suggest alternatives.

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

get_sitemap_detailsA
Get detailed information about a specific sitemap.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    sitemap_url: The full URL of the sitemap to inspect
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes
sitemap_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose whether the operation is safe/read-only, authentication requirements, rate limits, or what 'detailed information' includes. The description only states the basic purpose and parameter hints.

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

Conciseness5/5

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

The description is very concise: one sentence for purpose followed by clear parameter explanations. No fluff, well-structured, and front-loaded.

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

Completeness4/5

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

Given the tool has a simple interface (2 required params, no nested objects, output schema exists), the description covers the parameter semantics adequately. It does not explain return values (but output schema exists) or prerequisites, but is sufficient for a straightforward retrieval operation.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates well. It explains site_url format and domain property behavior, and clarifies sitemap_url as 'the full URL'. This adds significant meaning beyond the schema's bare parameter titles.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get detailed information about a specific sitemap.' This is a specific verb+resource pair, and it differentiates from sibling tools like 'delete_sitemap' or 'list_sitemaps_enhanced'.

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 provides parameter guidance (e.g., site_url format, domain property coverage) but does not explicitly state when to use this tool versus alternatives like 'get_sitemaps' or 'list_sitemaps_enhanced'. The usage context is implied but lacks clear exclusions.

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

get_sitemapsA
List all sitemaps for a specific Search Console property.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It implies a read operation but does not disclose permissions, rate limits, or output format. It adds useful format hints for the parameter but lacks broader behavioral context.

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

Conciseness5/5

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

The description is extremely concise: two sentences plus an Args section. The main purpose is front-loaded, and the parameter breakdown is well-structured with no wasted words.

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 and an output schema, the description covers the parameter usage and gives domain-specific guidance. It could mention that the output is a list of sitemap URLs/details, but the output schema exists and rules don't require describing it.

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

Parameters5/5

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

The single parameter site_url is thoroughly explained: it must be an exact GSC property URL, with examples and a note about domain properties. This adds significant meaning beyond the bare schema (which has 0% description coverage).

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

Purpose5/5

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

The description clearly states 'List all sitemaps for a specific Search Console property.' The verb 'list' and resource 'sitemaps' are specific, and it distinguishes from siblings like 'get_sitemap_details' and '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 Guidelines4/5

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

Provides context that the site_url must be an exact GSC property URL from list_properties, and explains domain property behavior. However, it does not explicitly mention when not to use this tool or suggest alternatives.

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

gsc_audit_jobposting_schemaA
Read-only JobPosting JSON-LD audit and Indexing API eligibility dry run.

This tool fetches only property-scoped URLs, blocks unsafe/private targets,
does not follow redirects, parses JSON-LD JobPosting objects from static HTML,
validates a minimal Google JobPosting checklist, and returns what Indexing API
action would be eligible in a dry run. It never calls the Indexing API, never
publishes URL_UPDATED or URL_DELETED, never writes files, and never mutates
Search Console.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
max_urlsNo
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden. It explicitly states multiple behavioral traits: read-only, blocks unsafe/private targets, does not follow redirects, never calls Indexing API, never mutates Search Console. These are clear and accurate.

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, dense paragraph that is front-loaded with the key purpose. Every sentence adds value: it lists actions, constraints, and what it returns. No redundancy or fluff.

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 provides good behavioral detail but lacks parameter explanations (site_url, urls, max_urls). Given that the input schema has no descriptions and 3 parameters, the description should clarify what each parameter represents. The output schema exists, so return values are covered.

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

Parameters2/5

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

Schema description coverage is 0%, but the description does not explain the parameters (site_url, urls, max_urls). It only mentions 'fetches property-scoped URLs' which implies url is a list, but does not clarify format or meaning. The description fails to compensate for missing schema descriptions.

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

Purpose5/5

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

The description clearly states it's a read-only audit of JobPosting JSON-LD and a dry run for Indexing API eligibility. It specifies the scope (property-scoped URLs), actions (fetches, blocks unsafe, parses, validates), and output (eligible action). It is distinct from sibling tools like build_indexing_action_queue or inspect_url_enhanced, which have different purposes.

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

Usage Guidelines3/5

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

The description implies usage for auditing job posting schema and performing a dry run, but does not explicitly state when to use this tool versus alternatives (e.g., inspect_url_enhanced, build_indexing_action_queue). No exclusions or when-not-to-use guidance is provided.

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

gsc_build_cannibalization_decision_queueB

Build a read-only sampled decision queue for likely keyword cannibalization.

Uses one official Search Analytics query call with dimensions query,page. A query is a candidate when two or more distinct returned page URLs compete for that query. This is a diagnostic queue, not proof of cannibalization.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNo
site_urlYes
row_limitNo
data_stateNo
start_dateNo
max_queriesNo
search_typeNoWEB
min_total_impressionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool is 'read-only' and 'sampled,' and clarifies it is a 'diagnostic queue, not proof.' However, it does not disclose whether the queue is persistent, how sampling works, or potential side effects (e.g., if it overwrites previous queues). For a tool with no annotations, this is adequate 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.

Conciseness4/5

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

The description is concise, consisting of three short sentences. It is front-loaded with the core purpose. However, it could benefit from a more structured format (e.g., bullet points or explicit parameter guidance) given the complexity of the tool (8 parameters). As is, it is efficient but slightly under-structured.

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 (8 parameters, output schema present but not described) and lack of schema descriptions, the description is incomplete. It does not explain how parameters affect the queue behavior, nor does it detail the output format. While the purpose is clear, the missing parameter semantics leaves significant gaps for an AI agent to correctly invoke the tool.

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

Parameters1/5

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

Schema description coverage is 0%, leaving 8 parameters completely undocumented. The description mentions 'dimensions query,page' and 'sampled' but does not connect these to any specific parameter like row_limit, max_queries, or min_total_impressions. The description adds no semantic value beyond the parameter names, failing to compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states 'Build a read-only sampled decision queue for likely keyword cannibalization,' specifying the verb, resource, and purpose. It distinguishes from siblings like gsc_build_content_action_queue by focusing on cannibalization. The line 'Uses one official Search Analytics query call with dimensions query,page' adds technical specificity, and 'diagnostic queue, not proof' clarifies limitations.

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

Usage Guidelines3/5

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

The description implies usage for diagnosing keyword cannibalization but does not provide explicit guidance on when to use this tool versus alternatives like gsc_build_content_action_queue. It lacks when-not-to-use conditions or prerequisites. The context of sibling 'build queue' tools suggests additional comparative guidance would be beneficial.

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

gsc_build_content_action_queueB

Build a read-only prioritized content-opportunity action queue.

Uses one official Search Analytics query call and returns heuristic action items for high-impression/low-CTR rows, striking-distance rankings, and page/query refresh opportunities. It does not mutate Search Console state.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_ctrNo
end_dateNo
site_urlYes
max_itemsNo
row_limitNo
data_stateNo
dimensionsNopage,query
start_dateNo
search_typeNoWEB
min_impressionsNo
striking_distance_maxNo
striking_distance_minNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior4/5

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

Explicitly declares read-only and that it does not mutate Search Console state. With no annotations, this is good, though rate limits or data freshness are unaddressed.

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?

Description is brief (3 sentences) and front-loaded with purpose. No redundancy, but could be slightly more informative without bloat.

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 existing, the large number of parameters (12) with no description coverage leaves significant gaps. The agent lacks guidance on parameter values like dates, thresholds, and dimensions.

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

Parameters1/5

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

Schema coverage 0% and description provides no explanation for any of the 12 parameters, leaving their meaning and usage entirely to 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?

Clearly states it builds a read-only prioritized content-opportunity action queue using Search Analytics. Distinguishes from sibling tools by naming specific alternative queues.

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?

Describes what it returns but does not explicitly state when to use this tool over alternatives like gsc_build_cannibalization_decision_queue. Context is implied but not directive.

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

gsc_build_jobposting_lifecycle_queueA
Build a read-only JobPosting lifecycle action queue.

This composes the safe JobPosting schema audit with optional URL Inspection
diagnostics. It never calls the Google Indexing API, never publishes
URL_UPDATED/URL_DELETED, never requests indexing, never writes files, and
never mutates Search Console.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
max_urlsNo
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

Despite no annotations, the description fully discloses all key behavioral traits: read-only, no Indexing API calls, no URL updates, no file writes, no mutation of Search Console.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no extraneous verbiage.

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

Completeness5/5

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

With an output schema present, the description adequately covers the tool's composition (schema audit + URL Inspection) and safe nature, making it complete for an agent to understand when and how to invoke.

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 has 0% description coverage and the tool description does not explain any parameters. Agent must infer meanings from parameter names alone; format of urls string is ambiguous.

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?

Clearly states it builds a read-only JobPosting lifecycle action queue, and distinguishes from sibling tools like build_indexing_action_queue by explicitly noting it never calls the Indexing API.

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

Usage Guidelines5/5

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

Explicitly describes when to use (for read-only queue building) and when not to use (not for actual indexing), and contrasts with sibling tools that may call the Indexing API.

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

gsc_build_traffic_drop_queueC

Build a read-only prioritized action queue for Search Analytics traffic drops.

Uses two official Search Analytics query calls, compares current vs previous rows by dimension keys, and returns stable JSON for operator/agent workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes
max_itemsNo
row_limitNo
data_stateNo
dimensionsNopage,query
current_endYes
search_typeNoWEB
previous_endYes
current_startYes
min_click_dropNo
previous_startYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

The description correctly identifies the tool as 'read-only' and explains it compares current vs previous rows by dimension keys, returning stable JSON. However, with no annotations, it could disclose more about rate limits, data staleness, or behavior with missing data.

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 efficient sentences: first states purpose, second adds methodology and output format. No redundant or extraneous information.

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 11 parameters (5 required), no schema description coverage, and no annotations, the description is insufficient to guide correct usage. The output schema exists but is not referenced, and parameter semantics are completely absent.

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

Parameters1/5

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

With 0% schema description coverage, the description provides no explanation of parameters like site_url, date ranges, max_items, or dimensions. It adds no value beyond the raw schema, leaving the agent without guidance on how to properly set inputs.

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 builds a 'read-only prioritized action queue for Search Analytics traffic drops' and mentions it uses two official query calls. However, it does not differentiate from sibling tools like compare_search_periods or other build_*_queue tools, leaving ambiguity about when to use this one.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives such as compare_search_periods. The description does not specify prerequisites, context, or when not to use it.

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

gsc_export_search_analytics_snapshotC
Export a read-only Search Analytics snapshot to JSONL and/or CSV plus manifest.

Files are written only below GSC_EXPORT_DIR when set, otherwise below the GSC
config directory's exports/ folder. This uses Search Analytics query pagination
and does not mutate Search Console state.
ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNo
end_dateNo
site_urlYes
max_pagesNo
row_limitNo
data_stateNo
dimensionsNoquery,page
start_dateNo
search_typeNoWEB
output_formatNojsonl
aggregation_typeNoauto

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

The description discloses it is read-only and does not mutate state, and mentions pagination and file location. However, it lacks details on rate limits, auth requirements, or what happens if files already exist. With no annotations, more context would be beneficial.

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 concise with two sentences that front-load the core functionality. It is appropriately sized for a tool with moderate complexity, though it could be more structured.

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 11 parameters and no parameter descriptions, the description is insufficient. It does not explain key parameters like filters, dates, or dimensions, leaving agents without enough context to use the tool effectively.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no information about any of the 11 parameters. The schema itself lacks descriptions, so the agent has minimal guidance on parameter usage.

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 'Export a read-only Search Analytics snapshot to JSONL and/or CSV plus manifest', which provides a clear verb and resource. However, it does not distinguish this tool from siblings like get_search_analytics, which might also retrieve similar data.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies it is for exporting, but does not specify scenarios or provide reasons to choose it over sibling tools.

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

gsc_get_manual_operator_checklistA

Return a stable read-only checklist for Search Console UI-only/manual surfaces. This tool never calls Google APIs, never requires credentials, and never mutates Search Console. It tells an operator what to review and what evidence to bring back.

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNoweekly
site_urlNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior5/5

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

Description explicitly states the tool is read-only, never calls Google APIs, never requires credentials, and never mutates Search Console. This fully discloses its behavioral traits, especially since annotations are absent.

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-sentence description is extremely concise, front-loaded with the primary purpose, and each sentence adds unique value. No wasted words.

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

Completeness3/5

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

The description covers purpose and behavior well, and an output schema exists (as per context signals) to detail return values. However, the lack of parameter explanation is a significant gap, making the tool's interface unclear for the agent.

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?

Input schema has two parameters ('focus' with default 'weekly', 'site_url' with default '') with no schema descriptions. The description does not explain what these parameters do or how they affect the checklist, leaving the agent with no guidance despite 0% 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?

Description clearly states the tool returns a stable read-only checklist for Search Console UI-only/manual surfaces. It specifies verb, resource, and distinguishes from sibling tools by noting it never calls Google APIs, requires no credentials, and never mutates Search Console.

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

Usage Guidelines4/5

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

Description implies usage context: when an operator needs a checklist for manual review surfaces. It does not explicitly state when not to use it or list alternatives, but the sibling tools (e.g., get_search_analytics) suggest when API-calling tools are more appropriate.

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

gsc_run_adjacent_technical_diagnosticsA

Run auth-free, read-only sampled adjacent technical diagnostics for supplied URLs.

This tool performs safe property-scoped HTML and robots.txt fetches only. It never calls Search Console, the Indexing API, PageSpeed Insights, CrUX, or Rich Results Test APIs, never writes files, and never mutates external state.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes
max_urlsNo
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

In the absence of annotations, the description fully discloses that the tool is auth-free, read-only, never calls external APIs, never writes files, and never mutates state. The term 'sampled adjacent technical diagnostics' is somewhat vague but overall provides a clear safety profile. A small deduction for not clarifying 'sampled' or 'adjacent'.

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

Conciseness4/5

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

The description is two sentences: the first states the purpose, the second elaborates on safety and scope. It is concise and front-loaded with the essential verb and resource. However, it could be structured slightly better with bullet points or clearer separation of purpose and behavior.

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

Completeness2/5

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

Given the complexity of 3 parameters (2 required), 0% schema descriptions, and no annotations, the description lacks completeness. It does not explain the expected output (though an output schema exists), the meaning of 'sampled', or how to set the parameters. The agent would need additional context to use the tool correctly.

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

Parameters2/5

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

The description provides no explanation of the parameters (urls, max_urls, site_url) and the input schema has 0% description coverage. The agent must infer parameter meaning from names alone, which is insufficient for correct invocation. The description does not compensate for the schema gap.

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

Purpose5/5

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

The description clearly states the tool runs 'auth-free, read-only sampled adjacent technical diagnostics for supplied URLs' and elaborates that it only performs property-scoped HTML and robots.txt fetches. It distinguishes itself from sibling tools by explicitly listing APIs it does not call (Search Console, Indexing API, etc.).

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

Usage Guidelines3/5

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

The description gives context on when to use it (for safe, read-only diagnostics without authentication) but does not explicitly state when not to use it or provide alternatives among siblings. The reference to 'auth-free' and 'read-only' implies appropriate use cases but lacks explicit guidance.

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

gsc_run_weekly_seo_ops_reportB

Compose a read-only weekly SEO ops report from official Search Analytics data, existing diagnostic queues, and an auth-free static manual checklist.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes
row_limitNo
data_stateNo
current_endNo
max_actionsNo
search_typeNoWEB
previous_endNo
current_startNo
previous_startNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

The description mentions 'read-only' which assures no side effects, but does not disclose auth requirements, rate limits, or how it combines the three data sources. With no annotations, more behavioral context is desirable.

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

Conciseness5/5

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

The description is a single, clear sentence with 16 words—no redundancy or excess.

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 9 parameters and no schema descriptions, the description is too brief. It omits details on how parameters affect the report and the relationship between inputs and outputs, though an output schema exists.

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

Parameters1/5

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

Schema description coverage is 0% and the description provides no elaboration on any of the 9 parameters (e.g., site_url, row_limit, data_state). Users must rely solely on parameter names, which are ambiguous.

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 composes a read-only weekly SEO ops report from specific data sources (Search Analytics, diagnostic queues, manual checklist). It effectively distinguishes from sibling tools like get_search_analytics (raw data retrieval) and gsc_build_*_queue (queue builders).

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

Usage Guidelines3/5

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

The description implies use for generating a consolidated report but provides no explicit when-to-use or when-not-to-use guidance against alternatives. Context from sibling names helps, but the description itself lacks usage criteria.

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

inspect_url_enhancedA
Enhanced URL inspection to check indexing status and rich results in Google.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    page_url: The specific URL to inspect
    language_code: Optional IETF BCP-47 language code to pass to the URL Inspection API
ParametersJSON Schema
NameRequiredDescriptionDefault
page_urlYes
site_urlYes
language_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 burden. It discloses the tool inspects indexing status and rich results, but does not specify behavioral traits such as read-only nature, rate limits, or authentication needs. The output schema exists, which helps, but the description lacks explicit safety or side-effect disclosure.

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

Conciseness4/5

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

The description is concise and front-loaded with the purpose. The parameter details are structured clearly in Args. Every sentence adds value, though it could be slightly more structured (e.g., bullet points) for easier reading.

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 has an output schema (so return values are documented), the description adequately covers the 3 parameters (2 required). It provides necessary context about site_url and subdomain handling, making it complete for an agent to use correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It explains the site_url format and usage in detail, including domain property coverage. The page_url is briefly described, and language_code is explained as optional IETF BCP-47. This adds significant meaning 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 inspects a URL for indexing status and rich results. It uses a specific verb ('inspect') and resource ('URL') with a clear purpose ('check indexing status and rich results'), and distinguishes from sibling tools like batch_url_inspection and check_indexing_issues by being single-URL and enhanced.

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

Usage Guidelines4/5

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

Provides detailed guidance on the site_url parameter, including the format and how to handle domain vs. subdomain properties. It also mentions the optional language_code parameter. However, it does not explicitly state when to use this tool vs. alternatives like batch_url_inspection, though the context is implied.

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

list_propertiesA
List all Google Search Console (GSC) properties and sites the user has access to.
Use this to see all verified sites, domain properties, and URL-prefix properties
in the connected Google Search Console account. Always call this first to get the
exact site_url needed for other tools.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

The description implies a read-only operation by stating it lists properties, but no annotations are provided to confirm; it lacks explicit mention of side effects but is not misleading.

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

Conciseness5/5

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

Three concise sentences with no fluff, purpose first, and actionable guidance.

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

Completeness5/5

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

The description is complete for a parameterless list tool with an output schema; it covers purpose and when to use.

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?

There are no parameters, so the baseline is 4. The description adds value by explaining what the tool returns (a list of properties) beyond the empty 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 specific verbs ('list') and resources ('Google Search Console properties and sites') and distinguishes from siblings by recommending it as the first call to get site_url.

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

Usage Guidelines5/5

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

Explicitly states 'Always call this first to get the exact site_url needed for other tools,' providing clear context for when to use it.

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

list_sitemaps_enhancedA
List all sitemaps for a specific Search Console property with detailed information.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    sitemap_index: Optional sitemap index URL to list child sitemaps
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes
sitemap_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It adds useful parameter context (e.g., site_url format, domain property note) but does not disclose side effects, auth requirements, rate limits, or what 'detailed information' includes. Adequate 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.

Conciseness4/5

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

Two main sentences plus parameter descriptions. Front-loaded with purpose, no fluff. Each sentence adds value. Could be slightly improved by explicitly stating enhanced nature up front, but overall efficient.

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

Completeness3/5

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

Given sibling tools and output schema existence, the description covers parameters well and hints at enhanced detail but does not fully guide tool selection. Lacks comparison to get_sitemaps and does not mention what 'detailed information' includes. Adequate but with gaps.

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

Parameters5/5

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

Schema coverage is 0%, but the description provides excellent semantic information for both parameters. site_url includes format examples and domain property guidance; sitemap_index explicitly explains its purpose. This compensates fully for the missing schema descriptions.

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

Purpose4/5

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

The description clearly states the tool lists sitemaps for a specific GSC property with detailed information. The verb 'list' and resource 'sitemaps' are specific. It distinguishes from siblings by hinting at enhanced detail and optional child sitemap listing, but could explicitly contrast with get_sitemaps.

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

Usage Guidelines3/5

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

Provides clear usage context: requires site_url from list_properties, explains domain property behavior, and descriptions of sitemap_index. However, no explicit guidance on when to prefer this over get_sitemaps or manage_sitemaps, nor when not to use it.

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

manage_sitemapsA
All-in-one tool to manage sitemaps (list, get details, submit, delete).

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    action: The action to perform (list, details, submit, delete)
    sitemap_url: The full URL of the sitemap (required for details, submit, delete)
    sitemap_index: Optional sitemap index URL for listing child sitemaps (only used with 'list' action)
ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
site_urlYes
sitemap_urlNo
sitemap_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description must cover behavioral traits. It lists actions but doesn't disclose side effects (e.g., destructive nature of delete), authorization needs, or rate limits. Adequate 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?

Very concise: one sentence stating purpose, followed by clear parameter breakdown. No filler, every sentence adds value.

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

Completeness4/5

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

Covers all parameters and action options adequately. Output schema exists but return values not described, which is acceptable. Missing some behavioral context for mutation actions, but overall complete for decision-making.

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

Parameters5/5

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

Schema coverage is 0%, but description explains all 4 parameters in detail: site_url format, action options, sitemap_url requirement, and sitemap_index usage. Adds significant value beyond 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 is for managing sitemaps with specific actions (list, get details, submit, delete). It differentiates from siblings like get_sitemaps and submit_sitemap by being a combined tool.

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

Usage Guidelines4/5

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

Provides guidance on site_url format (exact GSC property URL, domain vs subdomain) and when sitemap_url is required. However, it doesn't explicitly compare with sibling tools like get_sitemaps or submit_sitemap to guide tool selection.

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

reauthenticateA

Perform a logout and new login sequence. Deletes the current OAuth token file and triggers the browser authentication flow. Useful when you need to switch to a different Google account.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description fully discloses that it deletes the current OAuth token and triggers a browser authentication flow. However, it does not mention potential side effects like requiring user interaction or loss of session state, which would enhance transparency.

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

Conciseness5/5

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

Three sentences, front-loaded with the core action, no wasted words. Every sentence adds value: what it does, how it does it, and when to use it.

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

Completeness4/5

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

The tool is simple with no parameters and an output schema exists. The description explains the purpose and usage, though it could mention that it might return a success/failure indication. Overall adequate for a straightforward auth tool.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is 100% (empty schema). According to guidelines, baseline is 4. The description adds no parameter info, which is appropriate as there are none.

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

Purpose5/5

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

The description clearly states the tool's action ('Perform a logout and new login sequence'), specifies what it does (deletes OAuth token file and triggers browser authentication flow), and distinguishes it from siblings by focusing on authentication rather than GSC operations.

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 explicitly says 'Useful when you need to switch to a different Google account,' providing a clear use case. It does not mention when not to use it or alternatives, but the context of sibling tools makes it clear this is for authentication.

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

submit_sitemapA
Submit a new sitemap or resubmit an existing one to Google.

Args:
    site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
              "sc-domain:example.com"). Domain properties cover all subdomains — use the
              domain property as site_url and filter by page to analyze a specific subdomain.
    sitemap_url: The full URL of the sitemap to submit
ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYes
sitemap_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 burden. It explains the site_url format and domain property coverage, but does not disclose whether submission is asynchronous, overwrites existing sitemaps, or has quotas.

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 plus parameter descriptions, front-loaded with purpose, no wasted words.

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 2 required parameters and the presence of an output schema, the description adequately explains inputs. It could mention success/error behavior, but is largely complete for a submit action.

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

Parameters5/5

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

Schema coverage is 0%, but the description provides detailed explanations for both parameters, including examples and usage notes for site_url (e.g., domain properties covering subdomains) and a clear definition for sitemap_url.

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

Purpose5/5

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

Description clearly states the verb 'Submit' and the resource 'sitemap to Google', distinguishing it from sibling tools like delete_sitemap or audit_sitemap_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 explains what the tool does (submit/resubmit), but does not provide explicit guidance on when to use it vs alternatives like manage_sitemaps or audit_sitemap_urls.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 32 tool updatesv0.3.2
    • First observedadd_site
    • First observedaudit_sitemap_urls
    • First observedbatch_url_inspection
    • First observedbuild_indexing_action_queue
    • First observedcheck_indexing_issues
    • First observedcompare_search_periods
    • First observeddelete_site
    • First observeddelete_sitemap
    • First observedget_advanced_search_analytics
    • First observedget_capabilities
    • First observedget_creator_info
    • First observedget_performance_overview
    • First observedget_search_analytics
    • First observedget_search_by_page_query
    • First observedget_site_details
    • First observedget_sitemap_details
    • First observedget_sitemaps
    • First observedgsc_audit_jobposting_schema
    • First observedgsc_build_cannibalization_decision_queue
    • First observedgsc_build_content_action_queue
    • First observedgsc_build_jobposting_lifecycle_queue
    • First observedgsc_build_traffic_drop_queue
    • First observedgsc_export_search_analytics_snapshot
    • First observedgsc_get_manual_operator_checklist
    • First observedgsc_run_adjacent_technical_diagnostics
    • First observedgsc_run_weekly_seo_ops_report
    • First observedinspect_url_enhanced
    • First observedlist_properties
    • First observedlist_sitemaps_enhanced
    • First observedmanage_sitemaps
    • First observedreauthenticate
    • First observedsubmit_sitemap

TDQS

B3.2/5.0
Disambiguation3/5

Many tools have overlapping purposes (e.g., get_sitemaps, list_sitemaps_enhanced, manage_sitemaps all can list sitemaps; get_search_analytics vs get_advanced_search_analytics). Detailed descriptions help distinguish, but the redundancy creates ambiguity.

Naming Consistency2/5

Naming is inconsistent: some use verb_noun (list_properties, get_site_details), others use gsc_ prefix for diagnostics, but verbs vary (list vs get, build vs gsc_build). No single pattern is followed across all tools.

Tool Count2/5

32 tools is excessive for GSC's limited API surface. Many tools are near-duplicates or highly specialized diagnostics that could be combined, making the toolset feel bloated.

Completeness4/5

Covers properties, sitemaps, URL inspection, search analytics, performance overview, and advanced diagnostics. Minor gaps like crawl errors or detailed index coverage, but overall a thorough surface for GSC.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Google Search Console with Claude AI to analyze SEO data through natural language, enabling search analytics reporting, URL inspection, indexing status checks, sitemap management, and data visualization for SEO professionals.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Connects AI assistants to Google Search Console data for SEO analysis, including search analytics, URL inspection, sitemaps, indexing, and opportunity detection.
    17
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects Google Search Console to AI assistants, enabling natural language queries for SEO data, indexing audits, sitemap management, and full site audits.
    20
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shutovdef-dotcom/google-search-console-mcp'

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