DEPRECATED — Use web-researcher-mcp instead. MCP server for web research with Google Custom Search API integration, page scraping, and advanced research tools.
This server is DEPRECATED and has not been evaluated for current production use. The source code reveals significant quality issues across naming, descriptions, parameters, and schemas. All 8 tools are visible in the codebase (src/resources/index.ts and src/shared/instrumentTool.ts), but definitions are sparse and lack production-grade rigor. Tool names use underscores consistently (good), but descriptions are generic, parameter schemas are minimally documented, and error handling guidance is absent. The server itself is marked deprecated in package.json ('deprecated: This package is deprecated. Use web-researcher-mcp instead'), which automatically disqualifies it from production recommendation.
Search for academic papers and research using Google Custom Search
Search for images using Google Custom Search API
Search for news articles using Google Custom Search API
Search the web using Google Custom Search API
Search for patents using Google Patent Search
Scrape and extract content from a web page or YouTube video
DEPRECATED STATUS: Package.json explicitly marks this server as deprecated and directs users to web-researcher-mcp instead. This is not a production-ready server.
Descriptions are generic and lack LLM-optimized depth. E.g., 'Search the web using Google Custom Search API' does not explain WHEN to use this vs google_news_search or academic_search, what the response structure is, or prerequisites. Baseline for A+ tools: 50-200 chars with context. Most here are 40-80 chars with minimal guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-04-07 | F | 30 | - | v1 |
Perform a web search and scrape the top results for comprehensive research
Multi-turn research tool that maintains session state for iterative search and refinement
Parameter descriptions lack depth. E.g., 'Search query string' for the 'query' param is too generic. Does it accept natural language? Boolean operators? Exact phrases? Site restrictions? LLMs cannot infer, they need explicit guidance. Baseline: 72 chars average for param descriptions in A+ tools.
'search_and_scrape' violates single-responsibility principle. The name contains 'and', signaling it performs two distinct operations (search + scrape). Should be split into separate tools so agent can compose them independently.
'sequential_search' maintains session state via 'session_id', which relies on stateful initialize patterns (Mcp-Session-Id). This is removed from the current spec (2026-07-28). Migrate to stateless request handling where each call is self-contained. See protocol readiness note.
Output schemas are not documented in the source. For all tools, the response structure is unknown, no indication of what fields are returned, whether pagination is supported, what data types are used, or how to chain results to downstream tools. Baseline: 100% of A+ tools document return types.
No error handling guidance. Descriptions do not explain what errors can occur, whether they are retryable, or what the LLM should do next. E.g., 'Invalid API key' vs 'API rate limit exceeded' should guide different recovery paths.
'num_results' parameter lacks range constraints. Descriptions do not specify minimum/maximum (e.g., 1 - 10 as stated, but not enforced or validated in visible code). Unbounded numbers let LLMs pass absurd values.
'format' parameter in scrape_page ('markdown' or 'text') is mentioned but NOT formally declared as an enum in visible schema. This invites hallucinated values.
'freshness' parameter in google_news_search lacks enum declaration. Valid values (hour, day, week, month) are stated in description but not as a formal enum, leaving room for invalid input.