A Model Context Protocol server that provides Google search capabilities via the SERPER API and performs comprehensive deep research using multi-step query decomposition, information synthesis, and LLM-powered analysis
Server has 2 tools with good naming and descriptions, but schema completeness and parameter documentation vary significantly. serper-google-search has a well-defined schema with proper constraints (pattern validation for gl/hl, min/max for numResults), while deep-research has less detailed parameter documentation. Both tools lack explicit output schema documentation, and error handling guidance is minimal. Tool composition is reasonable (each tool has a single responsibility), but the deep-research tool description, while comprehensive, is verbose and example-heavy rather than concise and parameter-focused.
Perform comprehensive research on complex queries using a multi-step process that: - Breaks down complex questions into focused sub-queries - Gathers information from multiple authoritative sources - Synthesizes findings into a well-structured response with citations - Includes methodology and source assessment Best for: - Complex topics requiring multiple perspectives - Questions needing authoritative sources - Topics benefiting from structured analysis - Research requiring citation and source tracking Depth Levels: - basic: Quick overview (3-5 sources, ~5 min) Good for: Simple facts, quick definitions, straightforward questions - standard: Comprehensive analysis (5-10 sources, ~10 min) Good for: Most research needs, balanced depth and speed - deep: Exhaustive research (10+ sources, ~15-20 min) Good for: Complex topics, academic research, thorough analysis Example queries: - "What are the latest developments in quantum computing and their potential impact?" - "Compare different approaches to microservice architecture patterns" - "Analyze the environmental impact of electric vehicles vs traditional vehicles" - "Explain the current state of AI regulation worldwide" - "Research best practices for scaling Node.js applications"
Perform a Google search using the SERPER API. Returns rich search results including knowledge graph, organic results, related questions, and more.
Output schemas not documented. Neither tool describes what fields the response contains, forcing LLMs to infer structure from raw results. searchResults response structure undefined; research result structure (answer, subQueriesGenerated, searchesPerformed, citations) is not formally documented in the schema.
deep-research tool description contains extensive usage examples ('What are the latest developments in quantum computing...') which LLMs may hallucinate as valid inputs. Descriptions should omit example queries in favor of formal parameter constraints and enum values.
Parameter descriptions in deep-research lack actionable detail. 'maxSources' has description 'Maximum number of sources to include in the response' but no guidance on typical values, defaults, or behavior when maxSources exceeds available sources. Baseline suggests param descriptions average 72 chars with clear constraints; these are vague.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 43 | - | v1 |
Error handling in handlers (researchToolHandler.ts, searchToolHandler.ts) wraps unexpected errors in generic McpError(InternalError, ...) without guidance on recovery. Pattern requires error responses to tell LLM what to do next ('Try X', 'Retry in 30s'). Current errors like 'Unexpected error during research: <message>' offer no actionable next step.
API key/credentials handling not visible in provided source. If Serper API key is stored as process.env.SERPER_API_KEY (common pattern), this is correct. However, no validation shown that credentials are NOT being passed as tool parameters, and no explicit documentation of secret injection mechanism. Requires audit of full codebase.