Google Search Console MCP Server
Provides tools for interacting with Google Search Console, enabling AI agents to manage properties, analyze search analytics, inspect URLs, manage sitemaps, and perform SEO diagnostics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Search Console MCP Servershow me my top queries from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Search Console MCP Server for SEOs
A Model Context Protocol (MCP) server that connects Google Search Console (GSC) to AI assistants, allowing you to analyze your SEO data through natural language conversations. Works with Claude Desktop, Cursor, Codex CLI, Gemini CLI, Antigravity, and any other MCP-compatible client.
This repository is a local fork of AminForou/mcp-gsc. It stays close to upstream and currently adds:
Local docs and notes
CI and Dependabot for the mirror
Python runtime compatibility of 3.10+ (Python 3.9 is not supported by the current MCP SDK)
Skip setup, get more. A more advanced hosted version — one-click sign-in, added GA4 tools. Works with Claude Desktop, Claude Code, Claude.ai, Codex, Cursor, and any MCP client. Only 100 seats. → Advanced GSC MCP (hosted)
What's New
[0.3.2] — April 2026
OAuth browser flow fixed for uvx — removed the
isattyblock that prevented the browser login window from opening when running as an MCP subprocess on macOS. OAuth now works out of the box withuvx, no manual terminal run needed.get_capabilitiestool added — call this to get a full list of available tools and current auth status in one shot. Useful when your AI assistant isn't sure what tools are available.Better auth error messages — all tools now tell you exactly what to do when credentials are missing or expired.
Related MCP server: Google Search Console MCP Server
What Can This Do?
Property Management
See all your GSC properties in one place
Get verification details and ownership information
Add or remove properties from your account
Search Analytics & Reporting
Discover which queries bring visitors to your site
Track impressions, clicks, and click-through rates
Analyze performance trends and compare time periods
Visualize data with charts created by your AI assistant
URL Inspection & Indexing
Check if specific pages have indexing problems
See when Google last crawled your pages
Inspect multiple URLs at once to identify patterns
Sitemap Management
View all sitemaps and their status
Submit new sitemaps
Check for errors or warnings
Available Tools
Tool | What It Does | What You Need to Provide |
| Lists all tools and shows auth status — call this first if unsure | Nothing |
| Shows all your GSC properties | Nothing |
| Details about a specific site | Site URL |
| Top queries and pages with clicks, impressions, CTR, position | Site URL, time period |
| Summary of site performance | Site URL, time period |
| Compare performance between two time periods | Site URL, two date ranges |
| Search terms driving traffic to a specific page | Site URL, page URL |
| Analytics with filters by country, device, query, page | Site URL |
| Read-only Search Analytics snapshot export with JSONL/CSV files and manifest | Site URL, date range |
| Read-only prioritized traffic-loss action queue for operator workflows | Site URL, current and previous date ranges |
| Read-only prioritized content-opportunity action queue for operator workflows | Site URL, date range |
| Read-only sampled cannibalization decision queue for manual review | Site URL, date range |
| Read-only weekly SEO ops report aggregator with performance snapshot, prioritized queues, and manual checklist guidance | Site URL, optional date ranges |
| Read-only checklist of Search Console UI-only/manual review tasks and evidence to collect | Optional site URL, focus |
| Detailed crawl/index status for a URL | Site URL, page URL |
| Inspect up to 10 URLs at once | Site URL, list of URLs |
| Read-only prioritized action queue from URL Inspection data | Site URL, list of URLs |
| Check multiple URLs for indexing problems | Site URL, list of URLs |
| Read-only JobPosting JSON-LD audit with Indexing API eligibility dry-run; never calls the Indexing API | Site URL, job URLs |
| Read-only JobPosting lifecycle action queue with dry-run Indexing API recommendations only | Site URL, job URLs |
| Auth-free sampled adjacent technical diagnostics with manual PageSpeed/Rich Results links; no PSI, CrUX, or GSC API calls | Site URL, page URLs |
| Lists all sitemaps for a site | Site URL |
| Detailed sitemap info including errors and warnings | Site URL |
| Safely fetches and parses a sitemap or sitemap index for read-only URL diagnostics | Site URL, sitemap URL |
| Submit or delete sitemaps | Site URL, action |
| Re-run the OAuth browser login (switch accounts) | Nothing |
Ask your AI assistant to "call get_capabilities" for the full registered tool catalog.
Search Analytics Data Behavior
Google Search Analytics API responses are best treated as official API data with clear coverage limits:
Search Analytics sorts rows by clicks by default, except when results are grouped by date.
Requested ranking such as
sort_byis applied by this server after rows are returned, so client-side sorting only reorders the retrieved rows.Returned rows are the top rows for the request, not a guaranteed complete export of everything visible in the Search Console UI.
gsc_export_search_analytics_snapshotwrites a read-only API snapshot underGSC_EXPORT_DIRwhen set, otherwise under the GSC config directory'sexports/folder. Relative export directories are normalized to absolute paths. Each snapshot includesmanifest.jsonwith request fingerprint, row/page counts, totals, artifact checksums, and limitations.gsc_build_traffic_drop_queuecompares current and previous Search Analytics periods using two officialquerycalls and returns stable JSON action items with heuristic likely causes, confidence, limitations, and manual-verification flags.gsc_build_content_action_queueuses one official Search Analyticsquerycall and returns stable JSON heuristic opportunities for high-impression/low-CTR rows, striking-distance rankings, and page/query refresh candidates. Items require manual verification before content changes.gsc_build_cannibalization_decision_queueuses one official Search Analyticsquerycall withquery,pagedimensions and returns a stable sampled diagnostic queue for likely competing pages. It is not proof of cannibalization and requires SERP, intent, canonical, internal-link, and business review before URL changes.gsc_run_weekly_seo_ops_reportcomposes a stable read-only JSON weekly operator report from two dimensionless Search Analytics performance calls, the traffic-drop/content/cannibalization queues, and the static manual checklist. It supports partial failures by returning section-level errors and warnings instead of collapsing the whole report when at least one section succeeds.gsc_get_manual_operator_checklistis a static read-only checklist for UI-only/manual Search Console surfaces such as Manual actions, Security issues, Removals, Crawl stats, Core Web Vitals, HTTPS, Links, Enhancements, and Settings access. It does not call Google APIs, require credentials, click UI buttons, submit requests, remove URLs, request indexing, validate fixes, or change permissions.gsc_audit_jobposting_schemais a read-only HTML fetch and JSON-LD parser for supplied property-scoped job URLs. It blocks off-property/private targets, does not follow redirects, does not call Search Console, does not call the Google Indexing API, does not publishURL_UPDATEDorURL_DELETED, does not request indexing, and does not write files. Itsindexing_api_dry_runrecommendation is advisory only.gsc_build_jobposting_lifecycle_queuecomposes the JobPosting audit with optional URL Inspection diagnostics when credentials are available. It is read-only, dry-run only, quota-conscious, supports partial per-URL failures, and never calls the Indexing API or mutates Search Console.gsc_run_adjacent_technical_diagnosticsis auth-free and read-only. It safely samples supplied property-scoped pages for basic adjacent technical signals such as robots meta noindex, canonical hints, JSON-LD type counts, robots.txt summary counts, and manual PageSpeed/Rich Results UI links. It is not Search Console parity and does not call PageSpeed Insights, CrUX, Rich Results, Search Console, or Indexing APIs.Snapshot exports paginate with Search Analytics
startRowandrowLimit, but the API remains bounded: exported rows may not equal a full UI export.Search Analytics requests support
data_state="all",data_state="final", anddata_state="hourly_all"(per call where available, or globally throughGSC_DATA_STATE). Usehourly_allonly withdimensions="hour"or a dimension list that includeshour, for exampledimensions="hour,query"; requests withouthourare rejected before invalid API calls or snapshot file writes.Official API surfaces: Search Analytics metrics, URL Inspection results for requested URLs, sitemap metadata, and property information.
Adjacent approximations: content opportunities, page prioritization, period comparisons, and other workflows that rank or filter the returned rows.
Sampled diagnostics: cannibalization checks and broad audits that look for patterns within available top rows.
Manual-only surfaces: full UI exports, UI-only reports, and any workflow that requires complete row coverage beyond the API response.
JobPosting Schema Audit & Indexing API Dry-Run
gsc_audit_jobposting_schema returns stable JSON with top-level schema_version: "jobposting_schema_audit.v1" plus summary counts, per-URL issues, summarized JobPosting objects, dry-run Indexing API recommendations, limitations, and source provenance.
gsc_build_jobposting_lifecycle_queue returns stable JSON with top-level schema_version: "jobposting_lifecycle_queue.v1" plus prioritized action items for active valid jobs, schema-blocked jobs, missing or stale validThrough, expired/noindex jobs, optional URL Inspection observations, and dry-run-only URL_UPDATED/URL_DELETED recommendations. Actual Indexing API publish/delete remains outside this MCP flow and should only happen later behind explicit approval, eligibility, and quota gates.
Encoded source constraints:
Google JobPosting docs: required properties checked include
datePosted,description,hiringOrganization,jobLocation, andtitle; the remote-work exception requiresjobLocationTypeplusapplicantLocationRequirements; JobPosting should be on the most specific single job page, not listing pages; expired jobs should be removed or use pastvalidThrough; content must match the page and users must be able to apply.Google Indexing API usage docs: Indexing API is only for pages with
JobPostingorBroadcastEventembedded inVideoObject;URL_UPDATEDandURL_DELETEDare publish actions;getMetadatais read-only status metadata and not indexing proof.Google Indexing API quota docs: default publish quota is 200 URLs/day/project, metadata quota is 180/min/project, and all endpoints share 380/min/project; production use requires approval and quota planning.
Limitations:
The audit parses only static JSON-LD in
<script type="application/ld+json">; it does not evaluate Microdata, RDFa, rendered JavaScript, or external feeds.The tool returns summaries only and does not echo full job descriptions.
The dry-run recommendation is not proof of rich result eligibility, indexing, crawl timing, quota approval, or API access.
Manual review is still required for apply-flow availability, page/content matching, whether the page is truly a single-job detail page, and business decisions about expired/noindex pages.
Getting Started
Quick Start Example
For a domain property, the most common format will be:
sc-domain:example.comRecommended first workflow in your MCP client:
Call
get_capabilitiesRun
get_search_analyticsforsc-domain:example.comRun
compare_search_periodsfor the last 28 days vs. previous 28 daysUse
batch_url_inspectionorcheck_indexing_issuesfor priority URLsReview
get_sitemapsormanage_sitemaps
For job pages, ask: "Run gsc_build_jobposting_lifecycle_queue for https://example.com/ on these vacancy URLs and prioritize lifecycle actions, including dry-run URL_UPDATED or URL_DELETED recommendations." The tool will not call the Indexing API; if you later want fast recrawl requests for eligible vacancy pages, use the Google Indexing API separately for valid JobPosting URLs only after approval/quota review.
Step 1 — Set Up Google API Credentials
You need credentials before configuring any client. Pick one method:
Option A — OAuth (Recommended — uses your own Google account)
Go to Google Cloud Console and create or select a project
Go to Credentials → Create Credentials → OAuth client ID
Configure the OAuth consent screen, select Desktop app, click Create
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)
Go to Google Cloud Console and create or select a project
Go to Credentials → Create Credentials → Service Account
Go to the Keys tab → Add Key → Create new key → JSON → Download
Save the file somewhere permanent (e.g.
~/Documents/service_account.json)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
Option A — uvx (Recommended)
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' >> ~/.zshrcVerify:
uv --versionWhy all three commands? The installer puts
uvin~/.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 uvxin Terminal after installing uv (typically/Users/YOUR_NAME/.local/bin/uvx). On Windows, runGet-Command uvx | Select-Object -ExpandProperty Sourcein PowerShell (orwhere uvxin cmd) — it's usuallyC:\Users\YOUR_NAME\.local\bin\uvx.exe. Replace/FULL/PATH/TO/uvxin 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 aspawn uvx ENOENTerror, this is the fix.
After saving the config, fully quit the app (Cmd+Q) and reopen it.
For OAuth: on first use, a browser window will open automatically for login. After that, the token is cached and you won't be asked again.
Option B — Clone (Advanced)
Prefer a video walkthrough for this method? The tutorial below covers the clone install path step by step — virtual environment setup, dependencies, and config:
Use this if you want to modify the code or run a specific local version. This method uses the video tutorial above for the credential setup steps.
Requires Python 3.10+. Python 3.9 is not supported by the current MCP Python SDK, so this server will not start there. Check your version with
python --version. If it's below 3.10, install Python 3.10 or newer and recreate your virtual environment. Theuvxmethod (Option A) avoids this entirely by managing the Python version for you, so it's still the recommended path for most users.
Clone the repo:
git clone <your-fork-url>
cd google-search-console-mcpIf you want to compare changes with upstream or contribute a fix back, keep the original project as an upstream remote:
git remote add upstream https://github.com/AminForou/mcp-gsc.gitOr 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.txtConfigure your AI client (Claude Desktop example):
OAuth:
{
"mcpServers": {
"gscServer": {
"command": "/full/path/to/google-search-console-mcp/.venv/bin/python",
"args": ["/full/path/to/google-search-console-mcp/gsc_server.py"],
"env": {
"GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
}
}
}
}Service Account:
{
"mcpServers": {
"gscServer": {
"command": "/full/path/to/google-search-console-mcp/.venv/bin/python",
"args": ["/full/path/to/google-search-console-mcp/gsc_server.py"],
"env": {
"GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json",
"GSC_SKIP_OAUTH": "true"
}
}
}
}Mac path examples:
Python:
/Users/yourname/Documents/google-search-console-mcp/.venv/bin/pythonScript:
/Users/yourname/Documents/google-search-console-mcp/gsc_server.py
Step 3 — Test
Ask your AI assistant: "List my GSC properties"
If you see your properties — it's working. If not, ask: "Call get_capabilities" to see auth status and diagnose the issue.
Environment Variables Reference
Variable | Required | Default | Description |
| OAuth only | — | Absolute path to your OAuth client secrets JSON. Always required when using |
| Service account only | — | Absolute path to your service account JSON key. Always required when using |
| No |
| Set to |
| No |
|
|
| No |
| Directory for read-only Search Analytics snapshot exports. Relative values are expanded to absolute paths. Tool args cannot override this path. |
| No |
| Set to |
| No |
| Required to bind SSE/HTTP transport to a non-loopback host such as |
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 |
| "Run the SEO weekly report for example.com" | Weekly ops report with performance snapshot, prioritized queues, and manual checklist guidance |
| "Check for keyword cannibalization on example.com" | Builds a sampled manual-review decision queue for likely competing pages |
| "Audit indexing for my top pages" | Batch-inspects top 20 pages and returns a prioritized fix list |
| "Find content opportunities for example.com" | Surfaces low-CTR/high-impression, striking-distance, and query/page refresh candidates for manual verification |
Sample Prompts
Tool | Sample Prompt |
| "List all my GSC properties and tell me which ones have the most pages indexed." |
| "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." |
| "Create a visual performance overview of mywebsite.com for the last 28 days, identify any unusual drops or spikes, and explain possible causes." |
| "Check these pages for indexing issues: mywebsite.com/product, mywebsite.com/services, mywebsite.com/about" |
| "Do a comprehensive inspection of mywebsite.com/landing-page and give me actionable recommendations." |
| "Compare my site's performance between January and February. What queries improved the most?" |
| "Analyze queries with high impressions but positions below 10, filtered to mobile traffic in the US only." |
| "Export a Search Analytics snapshot for June as both JSONL and CSV, then summarize the manifest totals and truncation warning." |
| "Run the weekly SEO ops report for example.com for the last 28 days, include prioritized manual follow-up actions, and call out any section-level errors." |
| "Build a content action queue for the last 28 days and prioritize high-impression low-CTR, striking-distance (default positions 4-20), and query/page refresh opportunities for manual verification." |
| "Build a cannibalization decision queue for the last 28 days, show likely competing pages by query, and explain which cases need manual SERP and intent review first." |
| "Give me the weekly manual Search Console operator checklist for example.com, including UI paths and evidence I should collect without taking actions in the UI." |
Troubleshooting
spawn uvx ENOENT or command not found: uvx
Your AI client can't find uvx. Use the full path instead of just uvx:
# Find your full path (macOS/Linux):
which uvx
# Typically: /Users/YOUR_NAME/.local/bin/uvx# Find your full path (Windows PowerShell):
Get-Command uvx | Select-Object -ExpandProperty Source
# Typically: C:\Users\YOUR_NAME\.local\bin\uvx.exeReplace "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/envThen add it permanently:
echo 'source $HOME/.local/bin/env' >> ~/.zshrcAuthentication 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
Make sure all file paths in your config are correct absolute paths
Fully quit (
Cmd+Q) and reopen the app after any config change — just closing the window is not enoughAsk your AI assistant to "call get_capabilities" — it will report the exact auth status and error
Safety: Destructive Operations
By default, add_site, delete_site, submit_sitemap, and delete_sitemap are disabled because they mutate external Google Search Console state. To enable these external mutations:
"GSC_ALLOW_DESTRUCTIVE": "true"Remote Deployment & Docker (Advanced)
The standard setup runs the server locally. This section is only for users who want to run it on a remote server or in a container.
Remote SSE/HTTP mode has no built-in authentication. Treat it as a trusted-network-only mode and place it behind your own network controls, reverse proxy, or tunnel.
HTTP Transport
MCP_TRANSPORT=sse GSC_ALLOW_REMOTE_SSE=true MCP_HOST=0.0.0.0 MCP_PORT=3001 python gsc_server.pyVariable | Default | Description |
|
| Set to |
|
| Host to bind |
|
| Port to bind |
|
| Explicit safety switch required for non-loopback SSE/HTTP binding |
Docker
docker build -t mcp-gsc .
docker run \
-e MCP_TRANSPORT=sse \
-e GSC_ALLOW_REMOTE_SSE=true \
-e MCP_HOST=0.0.0.0 \
-e MCP_PORT=3001 \
-e GSC_CREDENTIALS_PATH=/app/credentials.json \
-v /path/to/credentials.json:/app/credentials.json \
-p 3001:3001 \
mcp-gscRelated Tools
Advanced GSC Visualizer — A Chrome extension (14,000+ users) with interactive charts, one-click export of up to 25,000 rows, keyword cannibalization detection, and an AI assistant — all directly inside Google Search Console. Built by the same author. Install from the Chrome Web Store →
Contributing
Found a bug or have an idea for improvement? Open an issue or submit a pull request on GitHub.
License
MIT License. See the LICENSE file for details.
Changelog
[0.3.2] — April 2026
OAuth browser flow fixed for uvx — removed
isattyblock that prevented the OAuth browser window from opening when running as an MCP subprocess on macOS. OAuth +uvxnow works out of the box.get_capabilitiestool — 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
reauthenticatewhen credentials are missing or expired.Improved
list_propertiesdescription — better semantic tool discovery in clients that use lazy tool loading.
[0.3.1] — April 2026
Fixed
list_propertiesmasking 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
uvxupgrades)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
reauthenticatetool for switching Google accountsFixed sitemap TypeError crash
Fixed domain property 404 errors
[0.2.0] — March 2026
dataState: "all"by default (matches GSC dashboard)Flexible
row_limitparameter (up to 500)Multi-dimension filtering for advanced analytics
[0.1.0] — Initial release
20+ tools covering property management, search analytics, URL inspection, sitemap management, and operator queues
OAuth and service account authentication
Available Tools
32 toolsadd_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)
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only says the tool 'adds' a site, with no details about side effects, permissions, duplicate-add behavior, whether the site is immediately usable, or what the API returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with no filler. The brief 'Args' section provides exactly the parameter detail needed without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, the URL semantics are well covered and an output schema exists. However, key operational context is missing: what happens when the site is added, whether verification is required, and how this relates to other Search Console management steps. The agent can invoke the tool correctly but lacks deeper context for robust decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% coverage, but the description fully compensates by specifying that site_url must be an exact match, giving concrete URL patterns, and explaining the sc-domain: format for domain properties. This is strong, actionable parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Add a site') and a clear target ('Search Console properties'). This is unambiguous and naturally distinguishes the tool from siblings like delete_site, list_properties, and get_site_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives, nor any mention of prerequisites, ownership, or verification requirements. The description only explains what the tool does, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_sitemap_urlsA
Safely fetch and parse an XML sitemap or sitemap index for read-only diagnostics.
This tool does not submit/delete sitemaps and does not call URL Inspection. It
validates the sitemap URL against the supplied GSC property scope before any
network request, resolves DNS to block unsafe IP targets, disables redirects,
and caps response bytes.
Args:
site_url: Exact GSC property URL from list_properties, or sc-domain:example.com
sitemap_url: Full URL of the sitemap XML to fetch
max_urls: Maximum number of URL or child sitemap entries to include in samples
| Name | Required | Description | Default |
|---|---|---|---|
| max_urls | No | ||
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses safety measures (validation, DNS resolution, redirect disabling, byte capping) and confirms read-only behavior. Could mention error handling but overall good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a clear purpose statement followed by safety notes and parameter explanations. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description covers input and safety adequately. It could be more explicit about return data but likely covered by output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to all three parameters beyond the schema, explaining site_url format, sitemap_url as full URL, and max_urls limit on samples. Schema coverage is 0%, so this is valuable; slight improvement could be format requirements for sitemap_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches and parses XML sitemaps for read-only diagnostics, using specific verbs and distinguishing from sibling tools like submit_sitemap and delete_sitemap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states what the tool does not do (submit/delete sitemaps, call URL Inspection), providing context for when to use versus siblings. However, it could be more explicit about when to use this tool instead of other read tools like get_sitemaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_url_inspectionA
Inspect multiple URLs in batch (within API limits).
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
urls: List of URLs to inspect, one per line
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. 'Within API limits' is vague and gives no concrete limit, error behavior, or side-effect information. The read-only nature is only implied, not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. The Args section adds essential parameter guidance without fluff, and every line contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Input semantics are well-covered and an output schema exists, so return values do not need explanation. However, the description lacks concrete batch-limit numbers and does not guide the agent toward or away from the single-URL sibling tool. These gaps matter for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description fully compensates. It explains that site_url must be an exact GSC property URL from list_properties, gives example formats, and clarifies domain-property subdomain coverage. It also specifies that urls must be provided one per line.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Inspect multiple URLs in batch'. The batch qualifier distinguishes this from sibling tools like inspect_url_enhanced, though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The batch scope implies it is intended for inspecting multiple URLs at once, and the site_url guidance references list_properties as a prerequisite. However, there is no explicit statement about when to choose this over inspect_url_enhanced or any batch-limit threshold.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_indexing_action_queueA
Build a read-only prioritized action queue from URL Inspection data.
This tool does not request indexing. It only inspects URL-level indexed state for up to 10 URLs and recommends manual next steps.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states read-only, no indexing, and 10-URL limit, but does not disclose authentication, rate limits, or whether it modifies state. Adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. Front-loaded with key purpose and constraints. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers overall purpose and behavioral traits, but misses parameter details critical for correct invocation. Output schema exists but is not shown; still, parameter guidance is insufficient for a 0% schema coverage tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and description only adds 'up to 10 URLs' as a constraint for 'urls'. Lacks format, examples, or explanation of 'site_url', leaving the agent with insufficient guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it builds a read-only prioritized action queue from URL Inspection data, distinguishing it from indexing tools. It specifies the verb, resource, and scope (up to 10 URLs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says it does not request indexing, guiding when not to use it. It implies use for URL inspection and recommendations, but does not explicitly name alternatives like inspect_url_enhanced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_indexing_issuesA
Check for specific indexing issues across multiple URLs.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
urls: List of URLs to check, one per line
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. 'Check' implies a read-only operation and the parameter guidance is useful, but the description does not disclose what kinds of indexing issues are reported, any request limits for the URL list, or error behavior. It is not contradictory or misleading, just minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a one-sentence summary followed by an Args block with no redundant text. Every sentence earns its place, and the formatting makes parameter semantics easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema, the description covers the essential invocation details well. The main omissions are the exact nature of 'specific indexing issues' and guidance on choosing this tool over sibling inspection tools, but the output schema likely fills in return-value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it does thoroughly. It explains that site_url must be an exact GSC property from list_properties, gives examples, and explains domain vs. site property semantics. It also clarifies that urls is a list with one URL per line, which is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence 'Check for specific indexing issues across multiple URLs' names a clear verb, resource, and scope. However, the term 'specific indexing issues' is undefined and the description does not differentiate this from sibling tools like batch_url_inspection or inspect_url_enhanced, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use versus alternative tools, but the Args section provides meaningful usage guidance on how to select site_url (exact GSC property from list_properties and domain-property handling for subdomains). This is implied usage context rather than a clear routing rule, so it is slightly above no guidance but below explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_search_periodsA
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)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| site_url | Yes | ||
| dimensions | No | query | |
| period1_end | Yes | ||
| period2_end | Yes | ||
| period1_start | Yes | ||
| period2_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden for behavioral context. It adds a useful GSC-related behavior ('Domain properties cover all subdomains') and explains how to adapt site_url plus page filtering for subdomains. Still, it does not disclose permissions, read-only/side-effect status, rate limits, or how 'top results' are ranked, leaving behavioral transparency only partially covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-line purpose is front-loaded, followed by a tight Args list. Every line earns its place: formats, defaults, and the domain-property guidance are all necessary for correct invocation. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all seven parameters, includes the key domain-vs-site property nuance, and the presence of an output schema covers return-value details. It is slightly incomplete because dimensions has no allowed-value list ('query', 'page', etc.) and 'top results' does not specify the ranking metric, but these are minor gaps for an otherwise well-specified tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully: site_url includes exact expected formats and examples, all four date parameters specify YYYY-MM-DD, and dimensions/limit explain their defaults and purpose. This adds substantial meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Compare search analytics data between two time periods.' This unambiguously names the tool's operation and distinguishes it from single-period siblings like get_search_analytics, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case (comparing two periods) is clear, and the site_url note correctly ties the parameter to list_properties. However, the description never explicitly says when to prefer this tool over get_search_analytics or get_advanced_search_analytics, nor states exclusions such as 'use for single-period trends instead.' The usage guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It states the core action but does not mention that deletion is likely irreversible, what cascade effects occur (e.g., sitemaps removed), whether ownership is required, or what happens on failure. For a destructive operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences: the action is front-loaded, and parameter details are compactly structured with clear examples. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool, the operational calling information is nearly complete, and the output schema covers return values. However, the missing behavioral context around permanence, side effects, and prerequisites means the definition is only minimally adequate rather than thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides zero description for the single parameter, but the tool description thoroughly compensates: it gives exact-match requirements, concrete URL examples, and the special sc-domain: format for domain properties. This is exactly the level of detail an agent needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Remove') and resource ('site from your Search Console properties'), making the tool's purpose unambiguous. It clearly distinguishes itself from siblings like add_site and list_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
When to use this tool is implied by its name and action ('remove a site'), but there is no explicit guidance on when not to use it, no mention of alternatives, and no prerequisites or conditions. The context is clear enough, but the description leaves routing entirely to inference.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. 'Delete (unsubmit)' communicates the mutating action and clarifies that it removes the sitemap submission rather than the hosted file, but it does not mention permissions, side effects on indexed pages, or error/response behavior. It is adequate but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the purpose, followed by a focused Args section. Every sentence adds necessary information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter delete operation with an output schema, the description provides all needed input context: where site_url comes from, how to format it, and exactly what sitemap_url should be. Nothing required for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must fully explain the parameters. It does: site_url is defined as an exact GSC property with examples and domain-property guidance, and sitemap_url is defined as the full sitemap URL to delete. This adds substantial meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Delete (unsubmit) a sitemap from Google Search Console,' which names the exact operation and resource. This clearly distinguishes it from sibling tools like submit_sitemap or delete_site.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It does not explicitly name alternatives, but it gives concrete usage context: site_url must be an exact GSC property from list_properties, and it explains when to use a domain property versus a URL property. This is clear contextual guidance, though exclusions such as preferring manage_sitemaps for bulk operations are absent.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | ||
| sort_by | No | clicks | |
| end_date | No | ||
| site_url | Yes | ||
| row_limit | No | ||
| start_row | No | ||
| data_state | No | ||
| dimensions | No | query | |
| start_date | No | ||
| search_type | No | WEB | |
| sort_direction | No | descending | |
| filter_operator | No | contains | |
| filter_dimension | No | ||
| filter_expression | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses default date ranges, filter override behavior, row_limit maximum, pagination via start_row, and the difference between 'all' and 'final' data states. It does not explicitly state read-only behavior, but 'Get' and the analytics context make that reasonably clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact Args-style block with each parameter on its own line and the core purpose front-loaded. It is long due to 14 parameters, but each line provides necessary detail without fluff. The JSON filter example is the only slightly verbose part, yet it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with no annotations and no enum constraints, this description provides all necessary invocation details: exact formats, defaults, constraints, pagination semantics, and data freshness behavior. An output schema exists, so the description does not need to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by documenting every parameter with formats, defaults, valid values, and relationships. The filters parameter even includes a JSON example and explains that it overrides the single-filter parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Get advanced search analytics data with sorting, filtering, and pagination.' This clearly distinguishes it from the simpler sibling get_search_analytics and states exactly what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers concrete usage context, such as requiring site_url to be an exact property from list_properties, explaining domain-property/subdomain analysis, and describing data_state freshness trade-offs. It does not explicitly contrast with get_search_analytics, but the advanced capabilities and parameter guidance make the intended use clear.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses return behavior (tool names grouped by category), efficiency (single call is faster), and that it indicates authentication needs. This is solid though not exhaustive; it does not explicitly state that the call is read-only or describe failure modes, but for a capability-discovery tool the provided detail is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and usage instruction, then supplies behavioral detail. It is compact, but 'current auth status' in the first sentence and 'Also shows if authentication is needed' later are mildly redundant, preventing a perfect conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter discovery tool with an output schema, the description covers invocation triggers, return grouping, auth-status behavior, and where to start. Nothing essential is missing for an agent to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100%, so the schema already fully documents the input surface. The baseline for zero-parameter tools is 4; the description adds no parameter detail because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Get a full list of all available tools') and adds auth status and getting-started guidance. It clearly differentiates from domain-specific siblings like get_site_details or submit_sitemap by defining its scope as server-wide discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit trigger condition: 'ALWAYS call this first when asked what tools are available, what this server can do, or how to get started.' It also gives a rationale (single call vs individual searching), which helps the agent decide when to invoke it instead of alternatives.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full transparency burden. 'Provides information' implies a safe, read-only operation with no side effects, which is the key behavioral trait an agent needs. It does not elaborate on response shape or potential errors, but for a zero-parameter informational tool the stated behavior is largely sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or repetition. It communicates exactly what the tool does and who it is about without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool takes no parameters and an output schema exists, the description provides all the context needed for safe invocation. An agent can confidently call this tool when creator information is requested, and the output schema covers return-value specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so description-level parameter guidance is not needed. The empty schema already makes this clear, and the description adds no unnecessary parameter-related content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete verb and resource: it provides information about Amin Foroutan, the creator of the MCP-GSC tool. This clearly differentiates the tool from all siblings, which focus on sites, analytics, sitemaps, and other operational concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. However, the intended usage is reasonably implied: an agent should call this tool when asked about the creator of MCP-GSC. It does not mislead, but it also does not formally contrast with other informational tools like get_capabilities.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. 'Get a performance overview' implies a read-only operation, and the description adds detail about domain property coverage. However, it does not mention what the overview contains, whether it requires special permissions, or what the response shape is; the output schema helps but is not described here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a concise parameter explanation. Every sentence contributes useful information and there is no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only overview tool with a simple two-parameter schema and an output schema available, the description is largely sufficient. It covers parameter semantics and usage context well. The only notable gap is that 'performance overview' is not defined, so the agent must rely on the output schema or tool name to infer metrics like clicks, impressions, CTR, or position.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains that site_url should be an exact GSC property URL from list_properties, gives concrete examples, clarifies that domain properties cover all subdomains, and explains how to analyze a specific subdomain. It also gives the meaning and default of days. This fully covers both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Get a performance overview for a specific property.' It is not as specific as sibling names like get_search_analytics or get_advanced_search_analytics, but it is not a tautology and gives the agent a reasonable idea of the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful context on how to supply site_url, including the distinction between URL-prefix and domain properties and how to handle subdomains. However, it does not explicitly say when to use this tool versus alternatives like get_search_analytics, get_advanced_search_analytics, or compare_search_periods.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| site_url | Yes | ||
| row_limit | No | ||
| dimensions | No | query |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It covers defaults, the 500-row cap, allowed dimensions, comma-separated multi-dimensions, and the subdomain behavior of domain properties. It stops short of mentioning authorization or rate limits, but since this is a read-only analytics query, the most important behavioral constraints are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with a one-sentence summary followed by a compact, scannable Args list. Each line adds meaningful guidance: defaults, options, max limits, and a pointer to the paginated sibling. No filler or redundancy is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for an agent to call this tool correctly: all parameters are explained, defaults are given, the 500-row boundary is explicit, and the paginated alternative is identified. An output schema exists, so documenting return values is unnecessary here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 document the parameters—and it does. It explains site_url with exact GSC formats and subdomain filtering, days with a default, dimensions with allowed options and comma-separated examples, and row_limit with defaults, maximum, and suggested ranges. This exceeds what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence clearly states the action and resource: 'Get search analytics data for a specific property.' It also distinguishes itself from get_advanced_search_analytics by noting that the advanced tool supports pagination for bulk exports, which prevents an agent from selecting the wrong sibling by mistake.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance for every parameter and explicitly states when to use an alternative: 'For bulk exports beyond 500 rows, use get_advanced_search_analytics which supports pagination.' It also explains how to choose site_url and row_limit ranges, giving an agent clear conditions for using this tool correctly.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| page_url | Yes | ||
| site_url | Yes | ||
| row_limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 clearly implies a read-only analytics operation and transparently discloses the 500-row limit with a pagination alternative. However, it does not mention potential rate limits, exact-match requirements, or behavior when no data exists for a page, which would be useful completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured as a one-line purpose followed by an Args list. Every sentence adds value: parameter explanations, defaults, usage intervals, and a sibling reference. There is no filler or repetition of schema data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 existence of an output schema, the description covers all necessary invocation context: required parameters, optional parameters with defaults, max limit, usage guidance, and a pointer to an alternative for larger exports. It is fully sufficient for an agent to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by explaining every parameter in depth: site_url with property URL formats and domain-property nuance, page_url as a specific page, days with default, and row_limit with practical ranges and a hard max. This goes far beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get search analytics data for a specific page, broken down by query,' which names a specific verb, resource, and scope. This clearly distinguishes it from sibling tools like get_search_analytics and get_advanced_search_analytics without needing to inspect their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives: it advises using the domain property as site_url and filtering by page for subdomain analysis, and it directs users to get_advanced_search_analytics for bulk exports beyond 500 rows. The row_limit usage ranges also give situational recommendations.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Get' implies a read-only operation, and the domain-property guidance adds useful behavior context, but it does not disclose authentication requirements, potential errors, or side-effect guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a clear lead sentence immediately followed by focused parameter guidance. There is no filler or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, an output schema, and no nested objects, the description covers the essential invocation details. It could be slightly more complete with explicit when-to-use guidance, but the provided context is sufficient for a straightforward getter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully compensates for the single parameter by explaining the exact URL format, giving examples, and clarifying how domain properties behave. This is exactly the kind of guidance an agent needs to supply a correct site_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Get detailed information about a specific Search Console property.' It identifies the resource and uses a specific verb, though it does not explicitly differentiate itself from sibling tools like get_capabilities or get_sitemaps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context by instructing that site_url must come from list_properties and explains how to handle domain properties ('use the domain property as site_url and filter by page'). However, it does not explicitly state when to prefer this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemap_detailsA
Get detailed information about a specific sitemap.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_url: The full URL of the sitemap to inspect
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'detailed information' and gives parameter guidance, but does not disclose response behavior, permissions, error cases, or any side effects. For a read-only inspection tool this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by concise, useful parameter explanations. Every sentence adds meaningful guidance, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values do not need explanation. The description covers both required parameters well and gives practical context about domain properties. The only missing piece is explicit guidance on when to use this tool versus sibling sitemap tools, which would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it does thoroughly. It explains that site_url must be an exact GSC property URL from list_properties, gives concrete examples for URL-prefix and domain properties, and clarifies subdomain coverage. sitemap_url is defined as the full URL of the sitemap, which is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Get detailed information about a specific sitemap.' It is differentiated from sibling list tools by emphasizing a specific sitemap, though it does not explicitly name alternatives like get_sitemaps or list_sitemaps_enhanced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear contextual guidance on choosing site_url, including that domain properties cover all subdomains and how to analyze a specific subdomain by filtering by page. It does not explicitly say when to prefer this tool over sibling sitemap tools, so it stops short of a full when/when-not explanation.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It adds the useful nuance that domain properties cover all subdomains, but it does not mention pagination, limits, response format, or explicitly confirm read-only behavior. 'List' implies a read operation, but that is not enough for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear one-sentence purpose followed by a tight parameter note. The domain-property caveat is valuable and there is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-required-parameter tool with an output schema, the description thoroughly explains the only parameter and how to obtain it. It does not explicitly route the agent to list_sitemaps_enhanced when richer sitemap data is needed, but that is a differentiation gap rather than a correctness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates well. It explains that site_url must be an exact GSC property URL, gives concrete examples including sc-domain:example.com, and explains how domain properties cover subdomains. This adds substantial meaning beyond the bare schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and object: 'List all sitemaps for a specific Search Console property.' It clearly identifies what the tool does and its scope, but it does not explicitly distinguish itself from sibling tools like list_sitemaps_enhanced or get_sitemap_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete prerequisite (use site_url from list_properties) and explains property URL formats, but it never states when to prefer this tool over list_sitemaps_enhanced or get_sitemap_details. Usage context is implied by the simple listing action rather than explicitly contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_audit_jobposting_schemaA
Read-only JobPosting JSON-LD audit and Indexing API eligibility dry run.
This tool fetches only property-scoped URLs, blocks unsafe/private targets,
does not follow redirects, parses JSON-LD JobPosting objects from static HTML,
validates a minimal Google JobPosting checklist, and returns what Indexing API
action would be eligible in a dry run. It never calls the Indexing API, never
publishes URL_UPDATED or URL_DELETED, never writes files, and never mutates
Search Console.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| max_urls | No | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It explicitly states multiple behavioral traits: read-only, blocks unsafe/private targets, does not follow redirects, never calls Indexing API, never mutates Search Console. These are clear and accurate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph that is front-loaded with the key purpose. Every sentence adds value: it lists actions, constraints, and what it returns. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides good behavioral detail but lacks parameter explanations (site_url, urls, max_urls). Given that the input schema has no descriptions and 3 parameters, the description should clarify what each parameter represents. The output schema exists, so return values are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description does not explain the parameters (site_url, urls, max_urls). It only mentions 'fetches property-scoped URLs' which implies url is a list, but does not clarify format or meaning. The description fails to compensate for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a read-only audit of JobPosting JSON-LD and a dry run for Indexing API eligibility. It specifies the scope (property-scoped URLs), actions (fetches, blocks unsafe, parses, validates), and output (eligible action). It is distinct from sibling tools like build_indexing_action_queue or inspect_url_enhanced, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for auditing job posting schema and performing a dry run, but does not explicitly state when to use this tool versus alternatives (e.g., inspect_url_enhanced, build_indexing_action_queue). No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_build_cannibalization_decision_queueB
Build a read-only sampled decision queue for likely keyword cannibalization.
Uses one official Search Analytics query call with dimensions query,page. A query is a candidate when two or more distinct returned page URLs compete for that query. This is a diagnostic queue, not proof of cannibalization.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | ||
| site_url | Yes | ||
| row_limit | No | ||
| data_state | No | ||
| start_date | No | ||
| max_queries | No | ||
| search_type | No | WEB | |
| min_total_impressions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool is 'read-only' and 'sampled,' and clarifies it is a 'diagnostic queue, not proof.' However, it does not disclose whether the queue is persistent, how sampling works, or potential side effects (e.g., if it overwrites previous queues). For a tool with no annotations, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of three short sentences. It is front-loaded with the core purpose. However, it could benefit from a more structured format (e.g., bullet points or explicit parameter guidance) given the complexity of the tool (8 parameters). As is, it is efficient but slightly under-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, output schema present but not described) and lack of schema descriptions, the description is incomplete. It does not explain how parameters affect the queue behavior, nor does it detail the output format. While the purpose is clear, the missing parameter semantics leaves significant gaps for an AI agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, leaving 8 parameters completely undocumented. The description mentions 'dimensions query,page' and 'sampled' but does not connect these to any specific parameter like row_limit, max_queries, or min_total_impressions. The description adds no semantic value beyond the parameter names, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Build a read-only sampled decision queue for likely keyword cannibalization,' specifying the verb, resource, and purpose. It distinguishes from siblings like gsc_build_content_action_queue by focusing on cannibalization. The line 'Uses one official Search Analytics query call with dimensions query,page' adds technical specificity, and 'diagnostic queue, not proof' clarifies limitations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for diagnosing keyword cannibalization but does not provide explicit guidance on when to use this tool versus alternatives like gsc_build_content_action_queue. It lacks when-not-to-use conditions or prerequisites. The context of sibling 'build queue' tools suggests additional comparative guidance would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_build_content_action_queueB
Build a read-only prioritized content-opportunity action queue.
Uses one official Search Analytics query call and returns heuristic action items for high-impression/low-CTR rows, striking-distance rankings, and page/query refresh opportunities. It does not mutate Search Console state.
| Name | Required | Description | Default |
|---|---|---|---|
| max_ctr | No | ||
| end_date | No | ||
| site_url | Yes | ||
| max_items | No | ||
| row_limit | No | ||
| data_state | No | ||
| dimensions | No | page,query | |
| start_date | No | ||
| search_type | No | WEB | |
| min_impressions | No | ||
| striking_distance_max | No | ||
| striking_distance_min | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly declares read-only and that it does not mutate Search Console state. With no annotations, this is good, though rate limits or data freshness are unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is brief (3 sentences) and front-loaded with purpose. No redundancy, but could be slightly more informative without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema existing, the large number of parameters (12) with no description coverage leaves significant gaps. The agent lacks guidance on parameter values like dates, thresholds, and dimensions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 0% and description provides no explanation for any of the 12 parameters, leaving their meaning and usage entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it builds a read-only prioritized content-opportunity action queue using Search Analytics. Distinguishes from sibling tools by naming specific alternative queues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes what it returns but does not explicitly state when to use this tool over alternatives like gsc_build_cannibalization_decision_queue. Context is implied but not directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_build_jobposting_lifecycle_queueA
Build a read-only JobPosting lifecycle action queue.
This composes the safe JobPosting schema audit with optional URL Inspection
diagnostics. It never calls the Google Indexing API, never publishes
URL_UPDATED/URL_DELETED, never requests indexing, never writes files, and
never mutates Search Console.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| max_urls | No | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses all key behavioral traits: read-only, no Indexing API calls, no URL updates, no file writes, no mutation of Search Console.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no extraneous verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description adequately covers the tool's composition (schema audit + URL Inspection) and safe nature, making it complete for an agent to understand when and how to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage and the tool description does not explain any parameters. Agent must infer meanings from parameter names alone; format of urls string is ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it builds a read-only JobPosting lifecycle action queue, and distinguishes from sibling tools like build_indexing_action_queue by explicitly noting it never calls the Indexing API.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes when to use (for read-only queue building) and when not to use (not for actual indexing), and contrasts with sibling tools that may call the Indexing API.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_build_traffic_drop_queueC
Build a read-only prioritized action queue for Search Analytics traffic drops.
Uses two official Search Analytics query calls, compares current vs previous rows by dimension keys, and returns stable JSON for operator/agent workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| max_items | No | ||
| row_limit | No | ||
| data_state | No | ||
| dimensions | No | page,query | |
| current_end | Yes | ||
| search_type | No | WEB | |
| previous_end | Yes | ||
| current_start | Yes | ||
| min_click_drop | No | ||
| previous_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description correctly identifies the tool as 'read-only' and explains it compares current vs previous rows by dimension keys, returning stable JSON. However, with no annotations, it could disclose more about rate limits, data staleness, or behavior with missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose, second adds methodology and output format. No redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters (5 required), no schema description coverage, and no annotations, the description is insufficient to guide correct usage. The output schema exists but is not referenced, and parameter semantics are completely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides no explanation of parameters like site_url, date ranges, max_items, or dimensions. It adds no value beyond the raw schema, leaving the agent without guidance on how to properly set inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool builds a 'read-only prioritized action queue for Search Analytics traffic drops' and mentions it uses two official query calls. However, it does not differentiate from sibling tools like compare_search_periods or other build_*_queue tools, leaving ambiguity about when to use this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives such as compare_search_periods. The description does not specify prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_export_search_analytics_snapshotC
Export a read-only Search Analytics snapshot to JSONL and/or CSV plus manifest.
Files are written only below GSC_EXPORT_DIR when set, otherwise below the GSC
config directory's exports/ folder. This uses Search Analytics query pagination
and does not mutate Search Console state.
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | ||
| end_date | No | ||
| site_url | Yes | ||
| max_pages | No | ||
| row_limit | No | ||
| data_state | No | ||
| dimensions | No | query,page | |
| start_date | No | ||
| search_type | No | WEB | |
| output_format | No | jsonl | |
| aggregation_type | No | auto |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses it is read-only and does not mutate state, and mentions pagination and file location. However, it lacks details on rate limits, auth requirements, or what happens if files already exist. With no annotations, more context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that front-load the core functionality. It is appropriately sized for a tool with moderate complexity, though it could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no parameter descriptions, the description is insufficient. It does not explain key parameters like filters, dates, or dimensions, leaving agents without enough context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about any of the 11 parameters. The schema itself lacks descriptions, so the agent has minimal guidance on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Export a read-only Search Analytics snapshot to JSONL and/or CSV plus manifest', which provides a clear verb and resource. However, it does not distinguish this tool from siblings like get_search_analytics, which might also retrieve similar data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies it is for exporting, but does not specify scenarios or provide reasons to choose it over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_get_manual_operator_checklistA
Return a stable read-only checklist for Search Console UI-only/manual surfaces. This tool never calls Google APIs, never requires credentials, and never mutates Search Console. It tells an operator what to review and what evidence to bring back.
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | weekly | |
| site_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description explicitly states the tool is read-only, never calls Google APIs, never requires credentials, and never mutates Search Console. This fully discloses its behavioral traits, especially since annotations are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two-sentence description is extremely concise, front-loaded with the primary purpose, and each sentence adds unique value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and behavior well, and an output schema exists (as per context signals) to detail return values. However, the lack of parameter explanation is a significant gap, making the tool's interface unclear for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has two parameters ('focus' with default 'weekly', 'site_url' with default '') with no schema descriptions. The description does not explain what these parameters do or how they affect the checklist, leaving the agent with no guidance despite 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns a stable read-only checklist for Search Console UI-only/manual surfaces. It specifies verb, resource, and distinguishes from sibling tools by noting it never calls Google APIs, requires no credentials, and never mutates Search Console.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage context: when an operator needs a checklist for manual review surfaces. It does not explicitly state when not to use it or list alternatives, but the sibling tools (e.g., get_search_analytics) suggest when API-calling tools are more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_run_adjacent_technical_diagnosticsA
Run auth-free, read-only sampled adjacent technical diagnostics for supplied URLs.
This tool performs safe property-scoped HTML and robots.txt fetches only. It never calls Search Console, the Indexing API, PageSpeed Insights, CrUX, or Rich Results Test APIs, never writes files, and never mutates external state.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| max_urls | No | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
In the absence of annotations, the description fully discloses that the tool is auth-free, read-only, never calls external APIs, never writes files, and never mutates state. The term 'sampled adjacent technical diagnostics' is somewhat vague but overall provides a clear safety profile. A small deduction for not clarifying 'sampled' or 'adjacent'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose, the second elaborates on safety and scope. It is concise and front-loaded with the essential verb and resource. However, it could be structured slightly better with bullet points or clearer separation of purpose and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 3 parameters (2 required), 0% schema descriptions, and no annotations, the description lacks completeness. It does not explain the expected output (though an output schema exists), the meaning of 'sampled', or how to set the parameters. The agent would need additional context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no explanation of the parameters (urls, max_urls, site_url) and the input schema has 0% description coverage. The agent must infer parameter meaning from names alone, which is insufficient for correct invocation. The description does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs 'auth-free, read-only sampled adjacent technical diagnostics for supplied URLs' and elaborates that it only performs property-scoped HTML and robots.txt fetches. It distinguishes itself from sibling tools by explicitly listing APIs it does not call (Search Console, Indexing API, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context on when to use it (for safe, read-only diagnostics without authentication) but does not explicitly state when not to use it or provide alternatives among siblings. The reference to 'auth-free' and 'read-only' implies appropriate use cases but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_run_weekly_seo_ops_reportB
Compose a read-only weekly SEO ops report from official Search Analytics data, existing diagnostic queues, and an auth-free static manual checklist.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| row_limit | No | ||
| data_state | No | ||
| current_end | No | ||
| max_actions | No | ||
| search_type | No | WEB | |
| previous_end | No | ||
| current_start | No | ||
| previous_start | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'read-only' which assures no side effects, but does not disclose auth requirements, rate limits, or how it combines the three data sources. With no annotations, more behavioral context is desirable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with 16 words—no redundancy or excess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no schema descriptions, the description is too brief. It omits details on how parameters affect the report and the relationship between inputs and outputs, though an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no elaboration on any of the 9 parameters (e.g., site_url, row_limit, data_state). Users must rely solely on parameter names, which are ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool composes a read-only weekly SEO ops report from specific data sources (Search Analytics, diagnostic queues, manual checklist). It effectively distinguishes from sibling tools like get_search_analytics (raw data retrieval) and gsc_build_*_queue (queue builders).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for generating a consolidated report but provides no explicit when-to-use or when-not-to-use guidance against alternatives. Context from sibling names helps, but the description itself lacks usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_url_enhancedA
Enhanced URL inspection to check indexing status and rich results in Google.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
page_url: The specific URL to inspect
language_code: Optional IETF BCP-47 language code to pass to the URL Inspection API
| Name | Required | Description | Default |
|---|---|---|---|
| page_url | Yes | ||
| site_url | Yes | ||
| language_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool inspects indexing status and rich results, but does not specify behavioral traits such as read-only nature, rate limits, or authentication needs. The output schema exists, which helps, but the description lacks explicit safety or side-effect disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the purpose. The parameter details are structured clearly in Args. Every sentence adds value, though it could be slightly more structured (e.g., bullet points) for easier reading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (so return values are documented), the description adequately covers the 3 parameters (2 required). It provides necessary context about site_url and subdomain handling, making it complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the site_url format and usage in detail, including domain property coverage. The page_url is briefly described, and language_code is explained as optional IETF BCP-47. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool inspects a URL for indexing status and rich results. It uses a specific verb ('inspect') and resource ('URL') with a clear purpose ('check indexing status and rich results'), and distinguishes from sibling tools like batch_url_inspection and check_indexing_issues by being single-URL and enhanced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides detailed guidance on the site_url parameter, including the format and how to handle domain vs. subdomain properties. It also mentions the optional language_code parameter. However, it does not explicitly state when to use this tool vs. alternatives like batch_url_inspection, though the context is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_propertiesA
List all Google Search Console (GSC) properties and sites the user has access to.
Use this to see all verified sites, domain properties, and URL-prefix properties
in the connected Google Search Console account. Always call this first to get the
exact site_url needed for other tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals the operation is a read-only list of everything the user can access, enumerates property types ('verified sites, domain properties, and URL-prefix properties'), and references the 'connected Google Search Console account,' implying the read scope. It could mention pagination or rate limits, but for a list tool the transparency is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. The purpose verb is front-loaded, the scope is specified next, and the usage directive closes it. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 defined, the description is complete: it names what the tool lists, when to call it, and what to extract from it (site_url). No additional detail is needed for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description adds no parameter-specific meaning since none exist, but it does clarify the output context (site_url needed for other tools), which is relevant even though not a parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List all Google Search Console (GSC) properties and sites the user has access to.' It clearly distinguishes itself from siblings like get_site_details by emphasizing 'all' and 'Always call this first,' positioning it as the discovery entry point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Always call this first to get the exact site_url needed for other tools.' It does not mention when not to use it or name alternatives, but for a top-level list operation this is clear and sufficiently directive.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden of behavioral disclosure. It does add meaningful behavioral context: domain properties cover all subdomains, and sitemap_index lists child sitemaps. It does not mention auth requirements, rate limits, or explicitly confirm that the operation is read-only, though 'List' suggests it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and reasonably concise, front-loading the purpose and then providing an Args section. Every sentence adds signal, though 'with detailed information' is somewhat vague and could be omitted without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the output schema is available, and both parameters are clearly documented, the description is largely complete. The main gap is the lack of explicit guidance on when to use this tool instead of the overlapping get_sitemaps or get_sitemap_details siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for parameter meaning. It does: site_url is explained with exact formatting examples and linkage to list_properties, including domain-property nuance, and sitemap_index is described as an optional sitemap index URL for listing child sitemaps. This is strong, complete parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'List all sitemaps for a specific Search Console property with detailed information.' This clearly conveys what the tool does. However, it does not explicitly distinguish itself from the sibling get_sitemaps or get_sitemap_details tools beyond the word 'enhanced' and 'detailed information.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful usage context for the site_url parameter, instructing users to use an exact GSC property URL from list_properties and explaining how domain properties behave. It does not, however, say when to choose this tool over siblings like get_sitemaps or get_sitemap_details, so tool-selection guidance is only implied.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| site_url | Yes | ||
| sitemap_url | No | ||
| sitemap_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for disclosing side effects and requirements. It mentions actions like delete and submit, which imply mutations, but does not state whether delete is irreversible, whether submit requires existing verification, or any rate-limit/auth context. This is a significant gap for a management tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a one-line purpose followed by a clear, line-per-parameter Args section. Every sentence adds value, and the most important scoping information (site_url source) is placed early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return shape, and the Args section covers parameters well. However, the description lacks guidance on how this umbrella tool relates to the specialized sitemap siblings and does not mention failure/error behavior, so an agent is left to infer when to prefer it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section compensates for 0% schema coverage by detailing each parameter: site_url must be an exact GSC property URL from list_properties, action has four allowed values, sitemap_url is required for details/submit/delete, and sitemap_index is optional and only used with the list action. It even gives an example for site_url. This fully explains the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is an 'All-in-one tool to manage sitemaps' and explicitly lists the covered actions: list, get details, submit, delete. This is a clear verb+resource statement, though it does not mention the sibling specialized tools (e.g., get_sitemaps, delete_sitemap) or how it differs from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies broad use for all sitemap operations but offers no explicit guidance on when to choose this tool over the many sibling tools like list_sitemaps_enhanced or submit_sitemap. It does provide some parameter-level guidance (e.g., using the domain property from list_properties and filtering by page for subdomains), but that pertains to arguments, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reauthenticateA
Perform a logout and new login sequence. Deletes the current OAuth token file and triggers the browser authentication flow. Useful when you need to switch to a different Google account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses a destructive side effect: 'Deletes the current OAuth token file.' It also explains the resulting auth flow, so an agent understands this is a state-changing, interactive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The core action comes first, the mechanism second, and the use case last. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 fully covers what the tool does, the important destructive behavior, and the scenario where it is needed. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with 0 parameters, so parameter semantics are not applicable. Per the 0-parameter baseline, the description does not need to add parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Perform a logout and new login sequence') and the resource affected (OAuth token file, browser authentication flow). It directly distinguishes itself from sibling tools, which are all Search Console data/site operations, by making clear this is an authentication restart tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly identifies when to use it: 'when you need to switch to a different Google account.' It doesn't discuss when not to use it or list alternatives, but the intended context is clear and the tool is unique among 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
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 states the action but does not mention side effects, whether resubmission replaces existing sitemaps, permissions required, rate limits, or async validation behavior. This is a mutation tool, so those gaps are meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, then uses an Args section to add parameter guidance without redundancy. Every sentence provides actionable information, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema, the description covers the main action and both parameters thoroughly. It lacks explicit behavioral context like side effects or permissions, but the presence of an output schema reduces the need to explain return values, so the overall package is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates. It details that site_url must be an exact GSC property URL from list_properties, provides concrete examples including sc-domain format, and explains domain-property behavior. sitemap_url is also clarified as the full URL.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Submit') and resource ('sitemap') with a clear target ('to Google'), and the distinction between new and existing submissions is explicit. This clearly differentiates the tool from the get/list/delete sitemap siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the tool for both initial submission and resubmission, and it gives domain-vs-subdomain usage guidance for site_url. It does not explicitly mention when not to use it or compare with siblings like manage_sitemaps or delete_sitemap, but the context is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
32 tool updates
v0.3.2- First observed
add_site - First observed
audit_sitemap_urls - First observed
batch_url_inspection - First observed
build_indexing_action_queue - First observed
check_indexing_issues - First observed
compare_search_periods - First observed
delete_site - First observed
delete_sitemap - First observed
get_advanced_search_analytics - First observed
get_capabilities - First observed
get_creator_info - First observed
get_performance_overview - First observed
get_search_analytics - First observed
get_search_by_page_query - First observed
get_site_details - First observed
get_sitemap_details - First observed
get_sitemaps - First observed
gsc_audit_jobposting_schema - First observed
gsc_build_cannibalization_decision_queue - First observed
gsc_build_content_action_queue - First observed
gsc_build_jobposting_lifecycle_queue - First observed
gsc_build_traffic_drop_queue - First observed
gsc_export_search_analytics_snapshot - First observed
gsc_get_manual_operator_checklist - First observed
gsc_run_adjacent_technical_diagnostics - First observed
gsc_run_weekly_seo_ops_report - First observed
inspect_url_enhanced - First observed
list_properties - First observed
list_sitemaps_enhanced - First observed
manage_sitemaps - First observed
reauthenticate - First observed
submit_sitemap
TDQS
Scored across 32 tools
Many tools have overlapping purposes (e.g., get_sitemaps, list_sitemaps_enhanced, manage_sitemaps all can list sitemaps; get_search_analytics vs get_advanced_search_analytics). Detailed descriptions help distinguish, but the redundancy creates ambiguity.
Naming is inconsistent: some use verb_noun (list_properties, get_site_details), others use gsc_ prefix for diagnostics, but verbs vary (list vs get, build vs gsc_build). No single pattern is followed across all tools.
32 tools is excessive for GSC's limited API surface. Many tools are near-duplicates or highly specialized diagnostics that could be combined, making the toolset feel bloated.
Covers properties, sitemaps, URL inspection, search analytics, performance overview, and advanced diagnostics. Minor gaps like crawl errors or detailed index coverage, but overall a thorough surface for GSC.
Maintenance
Related MCP Connectors
Real SEO data for AI assistants: page audits, Keyword Planner volumes, Search Console history.
Turn Search Console data into SEO actions, content, publishing, indexing, and AI insights.
Google Search Console in your AI: overview, opportunities, index gaps, page checks, long history.
Query your SEO data in plain language: rankings, audits, backlinks, competitors and AI visibility.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects Google Search Console with Claude AI to analyze SEO data through natural language, enabling search analytics reporting, URL inspection, indexing status checks, sitemap management, and data visualization for SEO professionals.MIT
- AlicenseAqualityDmaintenanceConnects AI assistants to Google Search Console data for SEO analysis, including search analytics, URL inspection, sitemaps, indexing, and opportunity detection.17MIT
- AlicenseNot gradedqualityBmaintenanceConnects Google Search Console to AI assistants, enabling SEO data analysis via natural language conversations.MIT
- AlicenseAqualityCmaintenanceConnects Google Search Console to AI assistants, enabling natural language queries for SEO data, indexing audits, sitemap management, and full site audits.20MIT