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 "Install 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 provided, so description carries full burden. Only states it adds a site but does not disclose consequences of adding, prerequisites, or if it has destructive effects. Does not mention authentication or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence for purpose, then parameter explanation. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, description is fairly complete. Covers purpose and parameter format. Could mention output or errors but not required per output schema existence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% coverage with only 'Site Url' title. Description adds essential semantics: exact match requirements, examples for URL patterns and domain properties. Significantly compensates for bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Add a site to your Search Console properties.' Uses specific verb and resource, and distinguishes from sibling tools like delete_site or list_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With siblings like delete_site, get_site_details, and list_properties, explicit usage context would help agents choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_sitemap_urlsA
Safely fetch and parse an XML sitemap or sitemap index for read-only diagnostics.
This tool does not submit/delete sitemaps and does not call URL Inspection. It
validates the sitemap URL against the supplied GSC property scope before any
network request, resolves DNS to block unsafe IP targets, disables redirects,
and caps response bytes.
Args:
site_url: Exact GSC property URL from list_properties, or sc-domain:example.com
sitemap_url: Full URL of the sitemap XML to fetch
max_urls: Maximum number of URL or child sitemap entries to include in samples
| 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 carries full burden. It mentions batch and API limits but gives no details on rate limits, error handling, partial success, or failure behavior. For a batch operation, more behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear Args section. No extraneous words; every sentence provides value. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the batch complexity and existence of an output schema, the description covers main points but misses rate limits, error handling, and input format specifics. It is adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains site_url with examples and domain property coverage, and urls as a list per line. This adds meaning beyond the schema, but lacks constraints like max URL count or format validation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool inspects multiple URLs in batch within API limits. The verb 'inspect' and resource 'multiple URLs' are specific, and the batch aspect distinguishes it from single-URL siblings like inspect_url_enhanced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'within API limits' and explains domain property usage, but does not explicitly state when to use this tool versus alternatives (e.g., for bulk vs. single inspection). No exclusion criteria or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_indexing_action_queueA
Build a read-only prioritized action queue from URL Inspection data.
This tool does not request indexing. It only inspects URL-level indexed state for up to 10 URLs and recommends manual next steps.
| 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?
No annotations are provided, and the description does not disclose side effects, rate limits, or return structure. It only says 'check for specific indexing issues' without explaining what those are or the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear one-liner purpose followed by structured Args. No unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's purpose and the existence of an output schema, the description provides basic parameter guidance but lacks details on return values, limitations, or what constitutes 'indexing issues'. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value by explaining site_url in detail and noting that urls should be 'one per line'. However, with 0% schema description coverage, more could be said about parameter types or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Check for specific indexing issues across multiple URLs', using a specific verb and resource. It distinguishes from sibling tools like batch_url_inspection and inspect_url_enhanced by focusing on indexing issues and multiple URLs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Args section provides explicit guidance on site_url format and domain property usage, aiding correct invocation. However, it lacks when-not-to-use or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_search_periodsB
Compare search analytics data between two time periods.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
period1_start: Start date for period 1 (YYYY-MM-DD)
period1_end: End date for period 1 (YYYY-MM-DD)
period2_start: Start date for period 2 (YYYY-MM-DD)
period2_end: End date for period 2 (YYYY-MM-DD)
dimensions: Dimensions to group by (default: query)
limit: Number of top results to compare (default: 10)
| 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?
No annotations are provided, and the description does not disclose behavioral traits such as whether it is read-only, any rate limits, required permissions, or side effects. For a comparison tool, it fails to mention if data is fetched from an API, cached, or if it modifies state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a docstring with parameter list. It is fairly concise for 7 parameters, but the parameter descriptions are somewhat verbose. Could be more terse without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers required parameters adequately, and since there is an output schema, omitting return value details is acceptable. However, it lacks usage context and does not mention any prerequisites or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage (no descriptions in JSON Schema), so the description carries full burden. The description explains each parameter's meaning and format (e.g., site_url formats, date format). This adds significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing search analytics data between two time periods. The name 'compare_search_periods' and the description together distinguish it from siblings like 'get_search_analytics' or 'get_performance_overview', which do not perform comparisons.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides parameter details but no explicit guidance on when to use this tool versus alternatives (e.g., 'get_search_analytics' for a single period). No when-not-to-use or context for selection is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_siteA
Remove a site from your Search Console properties.
Args:
site_url: The URL of the site to remove (must be exact match e.g. https://example.com, or https://www.example.com, or https://subdomain.example.com/path/, for domain properties use format: sc-domain:example.com)
| 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 must fully disclose behavior. It notes the destructive action and URL format requirements, but lacks information on irreversibility, authentication needs, or post-deletion effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and efficient, with the purpose front-loaded and parameter details following in a clean structure without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool, the description covers the essential action and parameter. An output schema exists, so return values need not be described. Minor missing details like confirmation or error messages, but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds significant value by explaining the site_url parameter with exact match examples and domain property format, which is beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action ('Remove a site') and resource ('from your Search Console properties'), clearly distinguishing it from sibling tools like add_site or delete_sitemap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While the purpose is clear, there's no guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sitemapA
Delete (unsubmit) a sitemap from Google Search Console.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_url: The full URL of the sitemap to delete
| 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 provided, and the description does not disclose behavioral traits beyond deleting. It omits side effects (e.g., irreversibility, impacts on indexing) or any required permissions, which is essential for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and structured with clear argument headings. It is relatively concise, though the argument details are slightly lengthy. Overall well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, return value explanation is not needed. However, the description lacks usage guidelines and behavioral transparency, making it insufficiently complete for a tool with no annotations and high parameter count.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It provides thorough detail for both parameters: site_url format with examples and domain property clarification, and sitemap_url as full URL. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Delete (unsubmit) a sitemap from Google Search Console.' It uses a specific verb (Delete) and resource (sitemap), and implicitly distinguishes from sibling tools like submit_sitemap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., audit_sitemap_urls) or any prerequisites (e.g., permissions). It only describes arguments, not the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_advanced_search_analyticsA
Get advanced search analytics data with sorting, filtering, and pagination.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
start_date: Start date in YYYY-MM-DD format (defaults to 28 days ago)
end_date: End date in YYYY-MM-DD format (defaults to today)
dimensions: Dimensions to group by, comma-separated (e.g., "query,page,device")
search_type: Type of search results (WEB, IMAGE, VIDEO, NEWS, DISCOVER)
row_limit: Maximum number of rows to return (max 25000)
start_row: Starting row for pagination
sort_by: Metric to sort by (clicks, impressions, ctr, position)
sort_direction: Sort direction (ascending or descending)
filter_dimension: Single filter dimension (query, page, country, device). Use 'filters' instead for multiple filters.
filter_operator: Single filter operator (contains, equals, notContains, notEquals)
filter_expression: Single filter expression value
filters: JSON array of filter objects for AND logic across multiple dimensions. Overrides
filter_dimension/filter_operator/filter_expression when provided. Each object must
have 'dimension', 'operator', and 'expression' keys. Valid dimensions: query, page,
country, device. Valid operators: contains, equals, notContains, notEquals.
Example: [{"dimension":"country","operator":"equals","expression":"usa"},
{"dimension":"device","operator":"equals","expression":"MOBILE"}]
data_state: Data freshness — "all" (default, matches GSC dashboard) or "final" (confirmed data only, 2-3 day lag)
| 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 provided, the description carries full behavioral disclosure. It covers data freshness (data_state), pagination (start_row, row_limit), filter logic (single vs multiple filter parameters), and domain property nuances. It does not mention rate limits, error handling, or performance, but key behaviors are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose sentence and organized into a readable Args block. While slightly verbose for some parameter descriptions, the structure is clear and each parameter has its own line. Could be tightened without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, pagination, multiple filter modes) and the presence of an output schema, the description covers most essential usage context: defaults, allowed values, parameter interactions. It lacks error case handling or performance notes, but overall it enables effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides detailed explanations for all 14 parameters, including defaults, formats, allowed values, examples, and interactions (e.g., filters overrides filter_dimension/filter_operator/filter_expression). This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get advanced search analytics data with sorting, filtering, and pagination.' It uses a specific verb and resource, and the term 'advanced' distinguishes it from sibling tool 'get_search_analytics'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed parameter guidance (e.g., site_url format, filter overrides, data_state options) but does not explicitly state when to use this tool versus alternatives like 'get_search_analytics' or other siblings. Usage is implied but not contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilitiesA
Get a full list of all available tools, current auth status, and how to get started. ALWAYS call this first when asked what tools are available, what this server can do, or how to get started. Returns all tool names grouped by category in a single call — faster than searching individually. Also shows if authentication is needed.
| 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 fully discloses behavior: returns tools grouped by category, auth status, and getting started info. Notes that it's a single call and faster than alternatives. No side effects implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each earning its place: purpose, usage guidance, and behavioral detail. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema, the description sufficiently explains what the tool returns. The simple purpose is well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, baseline 4. Description does not need to add parameter info beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a full list of tools, auth status, and getting started info. It explicitly distinguishes itself from sibling tools by positioning it as the first call for discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit conditions for use: 'when asked what tools are available, what this server can do, or how to get started.' Also explains comparative advantage over searching individually. No explicit when-not-to-use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creator_infoB
Provides information about Amin Foroutan, the creator of the MCP-GSC tool.
| 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?
No annotations are provided, so the description carries the full burden. It discloses that the tool is informational and benign, but does not specify what information is returned or any potential side effects. For a zero-parameter tool, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded and contains no unnecessary words. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and an output schema exists, the description is moderately complete. However, it does not specify what kind of information is provided (e.g., bio, contact, version), leaving the agent uncertain about the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the input schema (with 0 properties) is fully documented. The description adds no parameter meaning, but none is needed. Baseline is 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides information about Amin Foroutan, the creator. It specifies the verb ('provides information') and resource ('the creator of MCP-GSC'). This distinguishes it from sibling tools, which are all related to GSC functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs alternatives. While it is unique among siblings, the description does not mention any context or exclusions. The agent must infer its use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performance_overviewA
Get a performance overview for a specific property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
days: Number of days to look back (default: 28)
| 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?
No annotations are provided, so the description must disclose behavioral traits. It does not mention that the operation is read-only, any rate limits, potential errors, or side effects. Although the name implies a read operation, without explicit disclosure the agent lacks important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded. The first sentence states the purpose, followed by a structured 'Args' section. Every sentence adds value, with no redundancy or fluff. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the input parameters with usage context, especially site_url. Since an output schema exists, the lack of output explanation is acceptable. However, it does not address behavioral traits (e.g., read-only) or differentiate from sibling analytics tools, leaving minor gaps in overall completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries full burden. It adds significant value: site_url is explained with example formats and a note on domain properties and subdomain analysis; days is explained with default and meaning ('look back'). Both parameters are fully described beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get a performance overview') and the resource ('for a specific property'). The verb and resource are specific. While it does not explicitly distinguish from sibling tools like get_search_analytics, the name and context imply a high-level summary. However, lack of explicit differentiation prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides practical guidance on using the site_url parameter (e.g., format, domain vs subdomain) and explains the days parameter. However, it does not specify when to use this tool versus alternatives, such as get_search_analytics or get_advanced_search_analytics. The guidance is helpful but insufficient for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_search_analyticsA
Get search analytics data for a specific property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
days: Number of days to look back (default: 28)
dimensions: Dimensions to group by (default: query). Options: query, page, device, country, date
You can provide multiple dimensions separated by comma (e.g., "query,page")
row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews,
50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports
beyond 500 rows, use get_advanced_search_analytics which supports pagination.
| 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?
No annotations provided, so description carries full burden. It explains site_url format, default values, and constraints like row_limit max. Does not mention rate limits or authentication, but given context, sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear parameter explanations, but could be slightly more concise. Main purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and output schema exists, description covers all parameter semantics and provides cross-tool guidance. No gaps for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet description fully explains all 4 parameters with examples, options, and usage advice (e.g., dimensions options, row_limit ranges). Adds significant value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get search analytics data for a specific property' with specific verb and resource. Explicitly distinguishes from sibling get_advanced_search_analytics for bulk exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this tool vs. get_advanced_search_analytics for paginated bulk exports. Also advises on row_limit ranges for different use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_search_by_page_queryA
Get search analytics data for a specific page, broken down by query.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
page_url: The specific page URL to analyze
days: Number of days to look back (default: 28)
row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews,
50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports
beyond 500 rows, use get_advanced_search_analytics which supports pagination.
| 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?
No annotations are provided, so the description carries the burden. It clearly implies a read operation (getting data) and explains parameters in detail, but it does not explicitly declare read-only behavior or mention permissions. For a simple search analytics retrieval, this is largely sufficient, though a note on non-destructiveness would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with a clear purpose statement, followed by well-structured parameter explanations in bullet-like format. Each sentence is informative and necessary, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, an output schema (so return values are covered), and no annotations, the description covers all parameters with useful context. It could mention the output's scope (e.g., aggregated query data) but is largely complete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description fully compensates: for site_url it provides examples and domain property vs page filtering explanation; for row_limit it offers usage ranges and scenarios; for days it explains default and purpose; for page_url it clearly defines. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Get search analytics data for a specific page, broken down by query.' This clearly distinguishes it from sibling tools like get_search_analytics (broader) and get_advanced_search_analytics (paginated).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: explains domain property usage for site_url, recommends filtering by page for subdomain analysis, and for row_limit gives usage scenarios and explicitly cites get_advanced_search_analytics for bulk exports beyond 500 rows. This is a clear when/when-not/alternatives pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_detailsA
Get detailed information about a specific Search Console property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
| 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, and the description does not disclose behavioral traits such as read-only status, potential side effects, or access requirements. The description carries the full burden but adds no transparency beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear one-sentence purpose followed by structured parameter details. No extraneous information exists, and the Args section is well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the parameter sufficiently and, given the existence of an output schema, need not detail return values. However, it could briefly summarize what 'detailed information' includes to better set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description explains the site_url parameter in detail, including acceptable formats and a usage tip about domain properties. This adds significant value beyond the raw schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get detailed information about a specific Search Console property.' This distinct verb+resource pattern differentiates it from sibling tools like list_properties and delete_site.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides specific guidance on the site_url parameter, including format examples and a tip about using domain properties with filtering. However, it does not explicitly mention when to avoid this tool or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemap_detailsA
Get detailed information about a specific sitemap.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_url: The full URL of the sitemap to inspect
| 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 provided, so the description must carry the full burden. It does not disclose whether the operation is safe/read-only, authentication requirements, rate limits, or what 'detailed information' includes. The description only states the basic purpose and parameter hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one sentence for purpose followed by clear parameter explanations. No fluff, well-structured, and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a simple interface (2 required params, no nested objects, output schema exists), the description covers the parameter semantics adequately. It does not explain return values (but output schema exists) or prerequisites, but is sufficient for a straightforward retrieval operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well. It explains site_url format and domain property behavior, and clarifies sitemap_url as 'the full URL'. This adds significant meaning beyond the schema's bare parameter titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get detailed information about a specific sitemap.' This is a specific verb+resource pair, and it differentiates from sibling tools like 'delete_sitemap' or 'list_sitemaps_enhanced'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides parameter guidance (e.g., site_url format, domain property coverage) but does not explicitly state when to use this tool versus alternatives like 'get_sitemaps' or 'list_sitemaps_enhanced'. The usage context is implied but lacks clear exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemapsA
List all sitemaps for a specific Search Console property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
| 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 carries full burden. It implies a read operation but does not disclose permissions, rate limits, or output format. It adds useful format hints for the parameter but lacks broader behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus an Args section. The main purpose is front-loaded, and the parameter breakdown is well-structured with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, the description covers the parameter usage and gives domain-specific guidance. It could mention that the output is a list of sitemap URLs/details, but the output schema exists and rules don't require describing it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter site_url is thoroughly explained: it must be an exact GSC property URL, with examples and a note about domain properties. This adds significant meaning beyond the bare schema (which has 0% description coverage).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all sitemaps for a specific Search Console property.' The verb 'list' and resource 'sitemaps' are specific, and it distinguishes from siblings like 'get_sitemap_details' and 'submit_sitemap'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context that the site_url must be an exact GSC property URL from list_properties, and explains domain property behavior. However, it does not explicitly mention when not to use this tool or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsc_audit_jobposting_schemaA
Read-only JobPosting JSON-LD audit and Indexing API eligibility dry run.
This tool fetches only property-scoped URLs, blocks unsafe/private targets,
does not follow redirects, parses JSON-LD JobPosting objects from static HTML,
validates a minimal Google JobPosting checklist, and returns what Indexing API
action would be eligible in a dry run. It never calls the Indexing API, never
publishes URL_UPDATED or URL_DELETED, never writes files, and never mutates
Search Console.
| 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?
The description implies a read-only operation by stating it lists properties, but no annotations are provided to confirm; it lacks explicit mention of side effects but is not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no fluff, purpose first, and actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a parameterless list tool with an output schema; it covers purpose and when to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. The description adds value by explaining what the tool returns (a list of properties) beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('list') and resources ('Google Search Console properties and sites') and distinguishes from siblings by recommending it as the first call to get site_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Always call this first to get the exact site_url needed for other tools,' providing clear context for when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitemaps_enhancedA
List all sitemaps for a specific Search Console property with detailed information.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_index: Optional sitemap index URL to list child sitemaps
| 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?
With no annotations, the description carries full burden. It adds useful parameter context (e.g., site_url format, domain property note) but does not disclose side effects, auth requirements, rate limits, or what 'detailed information' includes. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two main sentences plus parameter descriptions. Front-loaded with purpose, no fluff. Each sentence adds value. Could be slightly improved by explicitly stating enhanced nature up front, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given sibling tools and output schema existence, the description covers parameters well and hints at enhanced detail but does not fully guide tool selection. Lacks comparison to get_sitemaps and does not mention what 'detailed information' includes. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides excellent semantic information for both parameters. site_url includes format examples and domain property guidance; sitemap_index explicitly explains its purpose. This compensates fully for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists sitemaps for a specific GSC property with detailed information. The verb 'list' and resource 'sitemaps' are specific. It distinguishes from siblings by hinting at enhanced detail and optional child sitemap listing, but could explicitly contrast with get_sitemaps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context: requires site_url from list_properties, explains domain property behavior, and descriptions of sitemap_index. However, no explicit guidance on when to prefer this over get_sitemaps or manage_sitemaps, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_sitemapsA
All-in-one tool to manage sitemaps (list, get details, submit, delete).
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
action: The action to perform (list, details, submit, delete)
sitemap_url: The full URL of the sitemap (required for details, submit, delete)
sitemap_index: Optional sitemap index URL for listing child sitemaps (only used with 'list' action)
| 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?
No annotations provided, so description must cover behavioral traits. It lists actions but doesn't disclose side effects (e.g., destructive nature of delete), authorization needs, or rate limits. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: one sentence stating purpose, followed by clear parameter breakdown. No filler, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all parameters and action options adequately. Output schema exists but return values not described, which is acceptable. Missing some behavioral context for mutation actions, but overall complete for decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description explains all 4 parameters in detail: site_url format, action options, sitemap_url requirement, and sitemap_index usage. Adds significant value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for managing sitemaps with specific actions (list, get details, submit, delete). It differentiates from siblings like get_sitemaps and submit_sitemap by being a combined tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on site_url format (exact GSC property URL, domain vs subdomain) and when sitemap_url is required. However, it doesn't explicitly compare with sibling tools like get_sitemaps or submit_sitemap to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reauthenticateA
Perform a logout and new login sequence. Deletes the current OAuth token file and triggers the browser authentication flow. Useful when you need to switch to a different Google account.
| 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 fully discloses that it deletes the current OAuth token and triggers a browser authentication flow. However, it does not mention potential side effects like requiring user interaction or loss of session state, which would enhance transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, no wasted words. Every sentence adds value: what it does, how it does it, and when to use it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and an output schema exists. The description explains the purpose and usage, though it could mention that it might return a success/failure indication. Overall adequate for a straightforward auth tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty schema). According to guidelines, baseline is 4. The description adds no parameter info, which is appropriate as there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Perform a logout and new login sequence'), specifies what it does (deletes OAuth token file and triggers browser authentication flow), and distinguishes it from siblings by focusing on authentication rather than GSC operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Useful when you need to switch to a different Google account,' providing a clear use case. It does not mention when not to use it or alternatives, but the context of sibling tools makes it clear this is for authentication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_sitemapA
Submit a new sitemap or resubmit an existing one to Google.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_url: The full URL of the sitemap to submit
| 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 provided, so the description carries the full burden. It explains the site_url format and domain property coverage, but does not disclose whether submission is asynchronous, overwrites existing sitemaps, or has quotas.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus parameter descriptions, front-loaded with purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 required parameters and the presence of an output schema, the description adequately explains inputs. It could mention success/error behavior, but is largely complete for a submit action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides detailed explanations for both parameters, including examples and usage notes for site_url (e.g., domain properties covering subdomains) and a clear definition for sitemap_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Submit' and the resource 'sitemap to Google', distinguishing it from sibling tools like delete_sitemap or audit_sitemap_urls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does (submit/resubmit), but does not provide explicit guidance on when to use it vs alternatives like manage_sitemaps or audit_sitemap_urls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
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
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
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.
Query your SEO data in plain language: rankings, audits, backlinks, competitors and AI visibility.
SEO answers for AI agents: Search Console reads free, plus competitor, keyword, backlink, SERP data.
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shutovdef-dotcom/google-search-console-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server