MCP server for compact Google Programmable Search results
Three tools with complete schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. web_search has good input schema with proper constraints (num: 1-10, safe enum), but lacks output schema documentation. clear_cache and get_cache_stats have minimal descriptions (under 50 chars) and empty input schemas with no properties documented. Error handling returns JSON but lacks actionable recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles.
Clear the search results cache
Get cache statistics (size, TTL, max size)
Search the web using Google. Returns LLM-optimized results with titles, URLs, snippets, and metadata. Results are cached for efficiency.
Output schemas not documented. web_search returns enriched results but LLM cannot see field structure (titles, URLs, snippets, metadata). clear_cache and get_cache_stats return JSON but structure is undocumented.
Minimal descriptions for cache tools. clear_cache (27 chars) and get_cache_stats (36 chars) lack context on when/why to call them. Descriptions should explain purpose, prerequisites, and return value.
No tool annotations. web_search is READ_ONLY, clear_cache is WRITE, get_cache_stats is READ_ONLY, but inputSchema lacks readOnlyHint/destructiveHint/idempotentHint metadata for LLM planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. Errors return JSON with message but do not suggest next steps (e.g., 'query is required' should suggest 'Provide a search query'). No error classification (retryable vs user-fixable).
Cache tools have empty input schemas. clear_cache and get_cache_stats declare properties: {} but should document any optional parameters (e.g., cache_key for selective clear, or format for stats output).