A Spring Boot-based MCP server that exposes Google Custom Search as a tool for LLM integration
Single tool 'googleSearch' has minimal definition quality. Tool name lacks action verb prefix (should be 'search_google' or 'web_search'). Description is present but generic (18 chars: 'Web search using Google Custom Search API'). Input schema visible with 'query' parameter typed as string with basic description, but lacks constraints (no length limits, format specs, or examples). No output schema documented in source. No error handling guidance. Tool definition appears in CustomSearchMcpServer.java but actual schema registration code not visible in provided excerpt, preventing full verification of implementation details.
Web search using Google Custom Search API
Tool name 'googleSearch' does not start with action verb. Should be 'search_google' or 'web_search' to help LLMs infer intent from name alone.
Tool description is only 18 characters and lacks context. Should explain WHAT it does, WHEN to use it (vs other search tools), and what it returns. Current description: 'Web search using Google Custom Search API'.
Input parameter 'query' lacks constraints. No length limits, format specification, or guidance on query syntax. Description should state: 'Search query string (1-2048 chars). Supports boolean operators (AND, OR, NOT) and quoted phrases.'
No output schema documented. LLMs cannot plan downstream actions without knowing what fields are returned (e.g., does it return title, url, snippet, rank, source?). Must document return structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No error handling guidance. Tool should document: What happens if query is empty? If API quota exceeded? If network fails? Errors must guide LLM recovery (e.g., 'Quota exceeded. Try a more specific query or wait 1 hour.').