MCP Server for Google Search Console
Server has 4 tools with complete input schemas and descriptions. Tool names follow verb_noun convention (search_analytics_query, list_sitemaps, list_sites, url_inspection). Descriptions are present and substantive (100-200 chars typical). However, parameter descriptions lack detail on constraints, valid ranges, and error conditions. Output schemas are not formally documented, only inferred from docstrings. No error handling guidance or recovery paths. Missing tool annotations (readOnlyHint, idempotentHint). All tools are read-only but this is not declared in metadata.
Returns a list of sitemaps submitted to Google Search Console for the specified site.
Returns a list of sites that the authenticated user has access to in Google Search Console.
Query search analytics data from Google Search Console. Returns clicks, impressions, CTR, and average position for the specified site and date range.
Inspects a URL using the Google Search Console URL Inspection API. Returns index status, coverage, AMP status, rich results, and mobile usability.
Output schemas not formally documented. Docstrings describe return fields informally; LLMs cannot parse structured output schema to plan downstream calls or extract typed fields.
Parameter descriptions lack constraint details. 'row_limit' says 'max 25000, default 1000' but no min. 'dimensions' lists options but no description of what each dimension returns. 'dimension_filters' references a dict structure but does not explain operator enum values.
No error handling guidance. Tools do not document what errors can occur (auth failure, invalid site_url, rate limit, API unavailable) or how LLM should recover. No actionable error messages in code.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Tool annotations missing. All 4 tools are read-only and idempotent, but readOnlyHint and idempotentHint are not declared in tool metadata. LLM cannot infer safety properties.
Pagination not implemented. search_analytics_query accepts row_limit but no offset/cursor. list_sitemaps and list_sites do not accept limit/offset. Large result sets will blow context window.