Skip to main content
Glama
Klartika

gsc-mcp-server

by Klartika

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 is Klartika's fork — a remote server

Upstream AminForou/mcp-gsc is a local (stdio) server that reads credential files from your machine. This fork adds a remote, OAuth 2.1-protected HTTP transport: it runs as a container, each user signs in with their own Google account, and it exposes a read-only subset of the tools (webmasters.readonly, no write operations).

Everything below this banner is upstream's documentation for the local server. It is accurate for that use, and unmodified so this fork stays easy to rebase — but uvx, client_secrets.json and the write tools it describes do not apply to the remote deployment.


What's New

[0.3.3] — July 2026

  • Fixed fresh installs broken by mcp 2.0 — pinned mcp[cli]<2.0.0. The mcp SDK 2.0.0 (released 2026-07-28) removed the mcp.server.fastmcp module, so every fresh uvx mcp-search-console install crashed on startup with ModuleNotFoundError: No module named 'mcp.server.fastmcp'. New installs now resolve a working 1.x SDK again — no --with "mcp<2" workaround needed.

[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: GSC 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

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

check_indexing_issues

Check multiple URLs for indexing problems

Site URL, list of URLs

get_sitemaps

Lists all sitemaps for a site

Site URL

list_sitemaps_enhanced

Detailed sitemap info including errors and warnings

Site 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 list of all 20 tools.


Getting Started

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.11+. This server will not start on Python 3.10 or older — and when it's launched by a GUI client like Claude Desktop, it fails silently (no tools appear and no log file is written). Check your version with python --version. If it's below 3.11, install Python 3.11 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 the recommended path on Windows.

Clone the repo:

git clone https://github.com/AminForou/mcp-gsc.git
cd mcp-gsc

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/mcp-gsc/.venv/bin/python",
      "args": ["/full/path/to/mcp-gsc/gsc_server.py"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

Service Account:

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

Mac path examples:

  • Python: /Users/yourname/Documents/mcp-gsc/.venv/bin/python

  • Script: /Users/yourname/Documents/mcp-gsc/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).

GSC_ALLOW_DESTRUCTIVE

No

false

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


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"

Full 28-day performance summary with period-over-period comparison and top queries

cannibalization-check

"Check for keyword cannibalization on example.com"

Finds queries where multiple pages compete; recommends which to keep

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 position-11-20 queries with high impressions and low CTR


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."


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, and delete_sitemap are disabled. To enable them:

"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.

HTTP Transport

MCP_TRANSPORT=sse 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

Docker

docker build -t mcp-gsc .

docker run \
  -e MCP_TRANSPORT=sse \
  -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.3] — July 2026

  • Pinned mcp[cli]>=1.3.0,<2.0.0. The mcp SDK 2.0.0 removed mcp.server.fastmcp, breaking all fresh uvx installs with ModuleNotFoundError. Capping below 2.0 restores working installs. (Fixes #41)

[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

  • 19 tools covering property management, search analytics, URL inspection, and sitemap management

  • OAuth and service account authentication

Available Tools

21 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.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 carry the full burden of behavioral disclosure. It does not mention that this is a write/mutation operation, any authentication or verification requirements, or potential side effects (e.g., whether the site appears immediately, whether duplicate adds are rejected). The description simply states the action without revealing behavioral traits.

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

Conciseness4/5

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

The description is concise and includes a structured Args section. It avoids unnecessary fluff while providing essential parameter details. The only minor issue is the mixed format (docstring-style with prose), but it remains easy to parse and front-loaded with the core purpose.

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

Completeness3/5

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

For a tool with a single parameter and no complex return values, the description covers the main aspects: what it does and how to specify the parameter. However, it lacks usage guidelines and behavioral transparency, which would make it more complete. The existence of an output schema reduces the need to describe return values, but additional context about prerequisites or side effects is still missing.

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 input schema only provides 'site_url' as a string with no additional meaning. The description significantly adds value by explaining the exact-match requirement and providing concrete examples for both standard URLs and domain properties (sc-domain:). This fully compensates for the 0% schema description coverage.

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

Purpose5/5

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

The description clearly states the action ('Add a site') and the target resource ('your Search Console properties'), making the tool's purpose immediately obvious. It also distinguishes itself from sibling tools like delete_site and list_properties by using the specific verb 'add'.

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

Usage Guidelines3/5

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

The context implicitly suggests when to use this tool (to add a new property), but it doesn't explicitly state when not to use it or mention alternatives. There are no exclusions or prerequisite conditions, leaving some ambiguity about scenarios where adding might not be appropriate.

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

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It mentions 'within API limits' indicating rate limits and explains domain property coverage, but it does not explicitly state that this is a read-only operation, nor does it describe error handling or failure outcomes. Output schema covers return values, but other behavioral traits are sparse.

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

Conciseness5/5

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

The description is concise and well-structured: a one-line summary followed by two parameter entries. No redundant or extraneous text—every sentence adds value, making it easy to scan and understand.

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

Completeness4/5

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

For a simple batch tool with only two parameters and an output schema, the description covers essential usage and parameter semantics. It lacks explicit alternatives or exclusions, but given the small scope and presence of an output schema, it is reasonably complete.

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 input schema has no descriptions (0% coverage), but the description fully compensates: it explains the exact format for site_url with examples, distinguishes domain vs URL properties, and specifies that urls should be one per line. This adds essential 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 the tool inspects multiple URLs in batch, with a specific verb+resource. It distinguishes from single-URL inspection tools like inspect_url_enhanced by emphasizing 'multiple' and 'batch', making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context on how to use site_url, including domain vs URL property handling and filtering by page for subdomains. However, it does not explicitly mention when to prefer this tool over alternatives like inspect_url_enhanced, relying mostly on the name and 'batch' wording.

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
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It transparently explains that domain properties cover subdomains and describes how to filter by page, which adds useful behavioral nuance. However, it does not disclose safety traits (e.g., read-only), potential side effects, or rate limits, leaving some ambiguity for an agent.

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

Conciseness5/5

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

The description is concise and well-structured: a one-sentence purpose statement followed by a clearly formatted Args block. Every line adds value, and the examples are embedded without unnecessary prose. It is front-loaded and easy to scan.

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 that an output schema exists (so return values are handled elsewhere) and the two parameters are thoroughly explained, the description is largely complete. It references list_properties for valid site_url values and covers the key usage nuance of domain properties. Minor gaps remain, such as not stating any limits on the number of URLs or how to interpret errors, but overall it is sufficient for a straightforward tool.

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 fully compensates. It provides detailed semantics for both parameters: site_url has exact format examples and explains domain vs. URL-property behavior, including how to scope to a subdomain; urls specifies 'List of URLs to check, one per line'. This is far beyond the bare 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 tool 'Check for specific indexing issues across multiple URLs' with a specific verb and resource, and the Args section further clarifies scope via site_url. However, it does not explicitly distinguish itself from sibling tools like batch_url_inspection or inspect_url_enhanced, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as batch_url_inspection or inspect_url_enhanced. The description provides detailed parameter usage (e.g., how to choose site_url for domain properties), but that is parameter-level guidance, not tool selection advice. No exclusions or alternative tool references are given.

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?

With no annotations provided, the description carries the full burden. It reveals some context about site_url formats and domain properties, but it does not disclose the nature of the operation (e.g., read-only), error handling, period overlap behavior, or what the comparison output represents. It focuses almost entirely on parameters rather than behavior.

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

Conciseness4/5

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

The description is structured as a docstring with a one-sentence summary followed by an Args list. Every line provides useful information without fluff. It is slightly long due to the number of parameters, but the structure is clean and front-loaded.

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 thoroughly documents parameters, but it lacks usage guidance and behavioral transparency. An output schema exists, so return values may be covered there, but the missing when-to-use and operational context leave the description incomplete for a 7-parameter comparison tool.

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 input schema has 0% descriptive coverage, but the description's Args section fully compensates. It explains each parameter, including the exact format for site_url (with examples), date format, defaults for dimensions and limit, and the subdomain filtering nuance. This is exemplary parameter documentation.

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

Purpose4/5

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

The description clearly states the tool's function: 'Compare search analytics data between two time periods.' This is a specific verb ('compare') with a clear resource (search analytics data) and scope (two periods). However, it does not explicitly differentiate from sibling tools like get_search_analytics or get_advanced_search_analytics, so it misses the top score.

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. There is no mention of 'use this when comparing two periods' or 'for single-period data, use get_search_analytics.' The context is implied by the tool name and description but not articulated.

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

A4.1/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral consequences. It states the action ('Remove') but does not mention irreversibility, required permissions, or effects on associated data, which is a significant gap for a destructive operation.

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

Conciseness5/5

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

The description consists of a single, clear sentence followed by a focused argument explanation. It is front-loaded, concise, and every part serves a purpose without wasting 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 one-parameter delete tool, the description covers the core behavior and parameter format effectively. The presence of an output schema reduces the need to explain return values, but the lack of side-effect information (e.g., irreversibility) is a minor gap, keeping it from a perfect score.

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 input schema only defines site_url with no description, so schema coverage is 0%. The description compensates fully by providing exact match requirements, concrete examples (https://example.com, sc-domain:example.com), and clarifying the format for domain properties, adding essential 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 uses a specific verb ('Remove') and resource ('a site from your Search Console properties'), making the tool's purpose immediate and unambiguous. It distinguishes itself from sibling tools like add_site (adding) and list_properties (listing).

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

Usage Guidelines4/5

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

The description provides clear context that this tool is for removing a site, giving no exclusions. It does not explicitly mention alternatives, but the verb 'remove' and the URL format guidance make its usage context clear, which earns a 4 rather than a 5.

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.9/5.0
Behavior2/5

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

With no annotations, the description must disclose side effects and safety traits. It only labels the operation as 'Delete (unsubmit)' without detailing permanence, required permissions, or post-deletion effects. The domain property note is more about parameter usage than behavioral 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?

The description is a single-sentence purpose followed by a clean Args list. Every sentence adds value, and the structure is front-loaded with the core action.

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 two-parameter delete operation, the description covers the required inputs and their semantics. The existing output schema handles return values, so no additional return info is needed. It lacks explicit prerequisites like property ownership, but the site_url reference to list_properties indirectly covers that.

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 schema provides no descriptions for the two parameters, so the description's Args section is essential. It explains the site_url format with examples and the domain property nuance, and defines sitemap_url clearly. This fully compensates for 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 clearly states the tool's action: 'Delete (unsubmit) a sitemap from Google Search Console.' This specifies a verb and resource, distinguishing it from sibling tools like submit_sitemap or list_sitemaps.

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

Usage Guidelines3/5

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

The description implies usage by naming the action ('Delete'), but it does not explicitly state when to use this tool versus alternatives such as submit_sitemap or manage_sitemaps. The domain property note provides context for site_url selection but not tool selection.

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.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and excels. It discloses critical behavior: the filters parameter overrides the single-filter parameters, data_state semantics (final data has a 2-3 day lag), row_limit max of 25000, pagination via start_row, and defaults for dates. This goes well beyond what a schema alone would convey.

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

Conciseness5/5

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

The description is long but every sentence adds substantive value. The Args-style list is front-loaded with the primary resource (site_url) and proceeds logically. Given 14 parameters, the length is justified and there is no filler.

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

Completeness5/5

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

The tool is complex with 14 parameters and an output schema, so the description does not need to explain return values. It covers all parameters, defaults, overrides, and edge cases, making it fully self-contained. The provided output schema handles the return structure.

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 is the sole source of parameter meaning. It explains every parameter with format examples, valid values, defaults, and relationships (e.g., filter_* vs. filters). The filters example with JSON array is especially helpful.

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

Purpose5/5

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

The description opens with a specific verb+resource: 'Get advanced search analytics data with sorting, filtering, and pagination.' It clearly distinguishes this tool from the sibling get_search_analytics by emphasizing advanced capabilities. The name and description align.

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

Usage Guidelines4/5

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

The description provides clear context on when to use the tool (for advanced analytics with sorting/filtering/pagination) and includes a practical usage tip about domain properties vs. filtering by page. However, it does not explicitly name alternatives or state when NOT to use this tool (e.g., simple queries might use get_search_analytics).

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
Behavior4/5

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

No annotations are provided, so the description bears the burden. It discloses that results are grouped by category, delivered in a single call, and include auth status. It stops short of explicitly stating read-only safety, but the 'get' verb and nature of the tool make that obvious enough.

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, each earning its place: purpose, usage rule, and behavior/benefit. Front-loaded and free of 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?

For a zero-parameter tool with an output schema, the description covers all essential aspects: what it returns, when to use it, and why it's efficient. No significant gaps.

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 takes zero parameters, so the description has nothing to add beyond the empty schema. The baseline for 0 params is 4, and the description appropriately spends no effort on param explanations.

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 lists all available tools, shows current auth status, and explains how to get started. This is specific and distinguishes it from sibling tools that retrieve individual resource details.

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?

It explicitly instructs to 'ALWAYS call this first' when asked about tool availability or server capabilities, and contrasts with searching individually. This provides strong when-to-use guidance and implicitly says not to use other tools for this purpose.

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

get_creator_infoA

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/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 burden. It explicitly characterizes the tool as informational ('Provides information'), making clear it is a read-only operation with no side effects. It doesn't detail what specific information is returned, but the existence of an output schema mitigates this.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the essence without any fluff. It is the model of conciseness for a simple informational tool.

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

Completeness5/5

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

Given the tool's simplicity (no parameters, no side effects, simple purpose) and the presence of an output schema, the description is complete. It covers everything an agent needs to understand the tool's role.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description adds no parameter details because none exist, and the schema is fully covered at 100%.

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

Purpose5/5

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

The description clearly states the tool provides information about Amin Foroutan, the creator of MCP-GSC. It uses a specific verb ('Provides information about') and names the exact resource, distinguishing it from all sibling tools that focus on Search Console 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 clearly implies when to use this tool — when one needs creator information. No alternatives exist among siblings, and the context is sufficiently clear, though it doesn't explicitly state an exclusion or alternative.

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

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals an important nuance about domain properties covering all subdomains and suggests filtering by page for specific subdomains. However, it does not disclose other behavioral aspects such as data aggregation, freshness, or that the tool only returns an overview rather than raw analytics, which would be useful for setting expectations.

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. It opens with a clear one-sentence summary, followed by an Args block. Every sentence provides valuable information, with no filler or redundancy. The structure makes it easy to scan and understand.

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

Completeness4/5

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

Given the tool's simplicity (2 parameters, no nested objects) and the availability of an output schema, the description provides sufficient context. It covers parameter semantics and key usage nuances, and references list_properties for prerequisite understanding. It could be slightly more complete by mentioning when to prefer this over get_search_analytics, but overall it is adequate for effective usage.

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 schema descriptions are empty (0% coverage), so the description must fully compensate. It thoroughly explains site_url with examples and clarifies that domain properties cover all subdomains, which is critical for correct usage. It also clarifies that days is a look-back period with a default, adding meaning beyond the basic type and default provided in the schema.

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

Purpose4/5

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

The description clearly states the tool's function: 'Get a performance overview for a specific property.' This uses a specific verb and resource, making the purpose obvious. However, it does not explicitly distinguish from siblings like get_search_analytics, though the term 'overview' implies a summarized view.

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

Usage Guidelines4/5

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

The description provides clear context for using the tool, referencing list_properties and explaining the difference between domain and page properties. It gives actionable guidance on how to use site_url effectively. However, it does not explicitly state when not to use this tool or mention alternative tools, falling short of a full when/when-not comparison.

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?

With no annotations, the description carries the burden. It discloses that domain properties cover all subdomains and how to analyze a specific subdomain, plus row_limit boundaries. It stops short of explicitly stating read-only behavior or error handling, but the output schema covers return values.

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

Conciseness4/5

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

The 'Args:' block is well-structured and informative, but slightly verbose with examples and recommendations. Every sentence contributes value, so it earns a high score, though it could be trimmed marginally.

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?

An output schema exists, so return values are covered. The description covers all four parameters, provides practical guidance, and points to an alternative tool for advanced needs. It is complete for a tool of this complexity.

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%, and the description thoroughly compensates by explaining each parameter: site_url format with examples, days default, dimensions accepted values and comma-separated usage, and row_limit recommendations including thresholds for different use cases.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Get search analytics data for a specific property.' It clearly distinguishes itself from the sibling tool get_advanced_search_analytics by mentioning row limits and directing bulk exports to that tool.

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 when to use get_advanced_search_analytics (for bulk exports beyond 500 rows) and provides detailed guidance on handling domain vs. site properties, including filtering by page. This clarifies appropriate usage vs. alternatives.

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.8/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 behavioral disclosure burden. It explains row_limit max of 500, the pagination limitation, and how domain properties work, but it does not explicitly state whether the operation is read-only or mention any rate limits or auth requirements. The provided context is useful 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?

The description is concise, organized as an Args block, and every sentence adds practical value. It avoids redundancy and keeps the content tightly scoped to the tool's operation.

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's moderate complexity and the presence of an output schema, the description covers all necessary input semantics and the key limitation (500-row cap). It provides enough context for an agent to select and invoke the tool correctly, including when to use an alternative.

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 by explaining each parameter: site_url format with sc-domain example, page_url purpose, days default, and row_limit semantics with recommended ranges. This goes well beyond the raw 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 gets search analytics data for a specific page, broken down by query, using a specific verb and resource. It distinguishes itself from siblings by noting that bulk exports beyond 500 rows should use get_advanced_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 Guidelines5/5

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

The description provides explicit when-to-use guidance, including suggested row_limit ranges (5-20 quick overviews, 50-200 deeper analysis, 500 comprehensive) and points to get_advanced_search_analytics as the alternative for paginated bulk exports. It also clarifies domain property coverage and filtering by page.

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.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 full burden. It notes that domain properties cover all subdomains and suggests filtering by page, which is useful behavioral context. However, it doesn't mention read-only nature, authentication, or potential errors, leaving gaps.

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

Conciseness5/5

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

The description is two well-structured sentences plus an args block, with no waste. It front-loads the purpose and gives concise, focused parameter guidance.

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

Completeness4/5

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

For a simple single-parameter tool with an output schema (not shown), the description adequately covers parameter semantics and usage. Missing details about errors or auth are minor for a getter, and return format is covered by the output schema.

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 schema has a bare string parameter with no description, and the description fully compensates with examples, source from list_properties, and domain property semantics. This significantly exceeds schema information.

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 it retrieves detailed information about a specific Search Console property, clearly distinguishing from list_properties by focusing on one property. However, 'detailed information' is somewhat generic, so it's not 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 Guidelines4/5

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

The description specifies that site_url must be the exact GSC property URL from list_properties, providing a clear workflow. It also explains how to handle domain properties to analyze subdomains. It does not explicitly mention alternative tools or when not to use this tool, but the guidance is clear.

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 transparency burden. It mentions the prerequisite of using an exact GSC property URL from list_properties and explains domain property behavior, but does not explicitly confirm read-only safety, potential errors, or rate limits. The read-only nature is only implied by 'Get detailed information.'

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

Conciseness5/5

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

The description is concise (~90 words), front-loaded with the purpose, and structured with an 'Args:' list. Every sentence contributes value, with no fluff or 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 an output schema exists, return details are not the description's responsibility. Both parameters are well-described, and the prerequisite for site_url adds context. However, usage alternatives and explicit safety disclosure are missing, preventing a perfect score.

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 descriptions are 0% covered, so the description compensates well. site_url is thoroughly explained with examples and domain property semantics; sitemap_url is given a basic definition. This adds substantial 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 detailed information about a specific sitemap,' which is a specific verb and resource. It distinguishes from siblings like get_sitemaps and list_sitemaps_enhanced by focusing on a single sitemap's details.

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

Usage Guidelines3/5

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

Usage is implied by the tool name and description ('specific sitemap'), but there is no explicit statement of when to use this tool versus alternatives like get_sitemaps. It provides parameter-specific guidance (domain vs subdomain) but no exclusions or when-not-to-use.

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

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds context about how domain properties behave, but does not disclose whether the operation is read-only, permissions needed, rate limits, or what the response contains. This leaves significant gaps for a tool with no annotation safety 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 concise, with a clear first sentence and a focused Args block that provides necessary parameter details without unnecessary fluff. 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?

The tool is simple with one parameter and has an output schema, so the description need not explain return values. It covers the main functional purpose and parameter semantics well, but lacks information about when to use this vs. the 'list_sitemaps_enhanced' sibling, which would make it more complete.

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%, and the description fully compensates by explaining site_url with concrete examples, the format (URL or sc-domain), and guidance on using domain properties for subdomain analysis. This adds substantial meaning beyond the bare 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 that the tool lists all sitemaps for a specific Search Console property, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like list_sitemaps_enhanced or get_sitemap_details, so it is slightly below top marks.

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 some usage context by explaining how to specify site_url, including the distinction between domain and URL properties, and recommends using the domain property and filtering by page for subdomain analysis. However, it does not explicitly state when to choose this tool over alternatives or mention any exclusions.

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

inspect_url_enhancedB
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
ParametersJSON Schema
NameRequiredDescriptionDefault
page_urlYes
site_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility. It implies a read-only inspection but doesn't disclose behavior such as what happens with invalid URLs, whether results are returned in a specific format, or any rate limits. It basically restates the purpose without adding behavioral detail.

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

Conciseness5/5

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

The description is very concise and well-structured: a single purpose sentence followed by clear argument explanations. No unnecessary words or repetition, and the key details are front-loaded.

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

Completeness3/5

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

The description covers the parameters and purpose adequately. An output schema exists, so return values don't need explanation. However, it lacks guidance on when to use this vs. sibling inspection tools, and prerequisites (like running list_properties first) are only implied via the site_url description.

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 does: site_url is explained with examples ('https://example.com/', 'sc-domain:example.com') and domain property nuance, and page_url is defined as 'the specific URL to inspect.' 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.

Purpose4/5

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

The description states a specific purpose with a clear verb and resource: 'check indexing status and rich results in Google.' It is distinguishable from batch_url_inspection by the singular 'URL' focus, but it doesn't explicitly name alternatives, so it's not a full 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 useful guidance on site_url (exact GSC property, domain vs subdomain usage), but it doesn't explicitly state when to use this tool over siblings like batch_url_inspection or check_indexing_issues. The context is clear but lacks exclusionary guidance.

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?

No annotations are provided, so the description carries the full burden. It clearly describes the scope (all accessed properties) and the usage pattern (call first), though it doesn't explicitly mention pagination or response format. The read-only nature is implied by 'list'.

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 a direct statement of function, followed by actionable usage guidance. No wasted words.

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

Completeness5/5

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

For a no-parameter listing tool with an output schema, the description fully covers purpose, usage, and relationship to other tools. It's a complete minimal description.

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 description adds value by explaining the purpose rather than parameter details, which are unnecessary. Baseline for 0 params is 4.

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

Purpose5/5

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

The description clearly identifies the tool as listing GSC properties/sites with a specific verb and resource, and distinguishes itself by noting it's the entry point for obtaining site_url for other tools.

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 when to use (to see all properties) and instructs to always call it first to get site_url for other tools, providing clear context relative to siblings.

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.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It implies a read-only operation through 'List', but does not explicitly state safety, permissions, rate limits, or side effects. It does add useful behavioral context about domain properties covering subdomains, which is a notable positive.

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, front-loaded with a clear purpose statement, followed by efficient parameter documentation. No filler or redundant information, 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?

The description covers parameters well and the presence of an output schema means return values are already documented. The main gap is the lack of alternative tool references, but for the tool's simplicity, the information provided is sufficient for correct invocation.

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 schema has zero description coverage, but the description thoroughly explains both parameters: site_url with concrete examples and domain property behavior, and sitemap_index as the optional index to list child sitemaps. This fully compensates for the schema's lack of 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 Search Console property with detailed information. The verb 'List' and resource 'sitemaps' are specific, but it does not explicitly distinguish itself from sibling tools like get_sitemaps or get_sitemap_details, so it misses the top score.

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

Usage Guidelines3/5

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

The description gives clear parameter usage guidance, such as site_url format and that domain properties cover all subdomains. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or when-not to use, leaving usage implied rather than explicit.

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

A3.7/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 burden of behavioral disclosure. It does add useful context about site_url semantics (domain property covers all subdomains and suggests filtering by page), which goes beyond raw parameter definitions. However, it does not disclose potential side effects of the delete action, permission requirements, or any irreversible consequences. This is a moderate disclosure, earning a 3.

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 captures the tool's purpose and actions in one line, followed by a clear 'Args' section that explains each parameter without unnecessary verbosity. The structure is efficient and all sentences earn their 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 that there are no annotations, 4 parameters, and an output schema, the description covers the essential parameter details and provides context about domain properties. It lacks clear usage guidance (when to choose this over siblings), which is a minor gap. Overall, it is complete enough for an experienced agent to use correctly, but not fully self-sufficient due to the missing sibling-differentiation context.

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 fully compensate. It does so excellently: explains site_url with exact examples and domain-property behavior, defines the action values (list, details, submit, delete), clarifies sitemap_url requirement for three actions, and specifies sitemap_index's optional use for 'list'. This is rich, precise parameter semantics that goes well beyond the bare 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 tool's purpose: 'All-in-one tool to manage sitemaps (list, get details, submit, delete).' It specifies the verb (manage), resource (sitemaps), and the supported actions. However, it does not explicitly distinguish itself from the dedicated sibling tools (get_sitemaps, submit_sitemap, delete_sitemap, etc.), so it earns a 4 rather than a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the alternative sitemap-specific tools. It does not mention that this is a consolidated alternative, nor does it give any context about when a user might prefer one tool over another. The only contextual note is about domain properties for site_url, which is parameter guidance, not usage 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.5/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, and it explicitly discloses the destructive action ('Deletes the current OAuth token file') and the interactive nature ('triggers the browser authentication flow'). It also notes the logout/login sequence, providing clear behavioral expectations. It could mention side effects or failure modes, but the disclosed information is substantial.

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

Conciseness5/5

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

The description is three concise sentences, each adding essential information: action, mechanism, and use case. It is front-loaded with the primary purpose and contains no filler or redundant content.

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's simplicity (0 parameters) and the presence of an output schema, the description is complete enough. It explains the purpose, the destructive side effect, and when to use it, which is sufficient for an agent to decide and invoke the tool 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?

The input schema has 0 parameters, so there is no parameter information to clarify. The description adds no parameter details, but none are needed. The baseline for 0 parameters is 4.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Perform a logout and new login sequence.' It specifies the mechanism ('Deletes the current OAuth token file and triggers the browser authentication flow') and the use case ('switch to a different Google account'). This distinguishes it from sibling tools, which are all search/analytics related.

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 when to use the tool: 'Useful when you need to switch to a different Google account.' It does not provide explicit when-not-to-use guidance or name alternatives, but the use case is clear and the tool is unique among the listed siblings.

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
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It only mentions submit/resubmit without addressing side effects, permissions, validation, or what happens on resubmission. The domain property note is helpful but does not cover mutation impact.

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 well-structured with an Args section, concise, and every sentence provides useful information. There is no fluff or 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?

The tool is relatively simple, and the description covers the core purpose and both parameters with practical guidance on domain properties. Since an output schema exists, return values are handled by that structure. It could be more complete by stating the outcome of resubmission, but it is adequate for the tool's simplicity.

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?

With 0% schema coverage, the description compensates exceptionally well by explaining both parameters. site_url includes examples and domain property guidance, while sitemap_url is clearly defined as the full URL. 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 'Submit a new sitemap or resubmit an existing one to Google' with a specific verb and resource. This distinguishes it from sibling tools like get_sitemaps, list_sitemaps_enhanced, and delete_sitemap, which handle listing or deletion.

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

Usage Guidelines4/5

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

It provides clear context by referencing list_properties for site_url and explaining the behavior of domain properties. However, it does not explicitly state when not to use this tool or mention alternatives such as manage_sitemaps for other sitemap operations.

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

TDQS

A3.6/5.0
Disambiguation2/5

Multiple tools overlap significantly: get_sitemaps, list_sitemaps_enhanced, and manage_sitemaps all list sitemaps; get_search_analytics, get_advanced_search_analytics, get_performance_overview, and get_search_by_page_query all return analytics data. This creates unclear boundaries and risks misselection.

Naming Consistency3/5

Most tools follow a verb_noun pattern (get_, list_, add_, delete_), but there are inconsistencies: get_sitemaps vs list_sitemaps_enhanced, inspect_url_enhanced vs batch_url_inspection (inconsistent word order), and the generic manage_sitemaps and reauthenticate break the pattern.

Tool Count3/5

21 tools is on the heavy side for a GSC server. Many tools duplicate functionality (e.g., multiple sitemap and analytics tools), making the count feel bloated, though it is not extremely excessive.

Completeness4/5

Core GSC operations are covered: property management (list/add/delete), sitemap submission and deletion, URL inspection, and search analytics. A minor gap is the lack of tools for managing permissions or performing bulk property changes, but the essential surface is complete.

Maintenance

ActivityMaintained
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 to MCP clients to query search analytics, manage sitemaps, and perform URL inspections. It enables users to identify SEO opportunities and generate performance reports through natural language interactions.
    86
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Google Search Console to query search analytics, inspect URL indexing status, and manage sitemaps. It allows users to monitor SEO performance and site health through natural language commands in MCP-compatible clients.
    132
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with Google Search Console via MCP, offering search analytics, performance summaries, URL inspection, sitemap management, and property listing for SEO workflows.
    159
    1
    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/Klartika/gsc-mcp-server'

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