Web search MCP server for AI agents — DuckDuckGo + content extraction. No API key needed.
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. web_search has a count parameter with a default (good), but neither tool documents output structure. Descriptions are present but generic (194 chars baseline suggests room for improvement). No error handling guidance, no parameter validation rules stated, no output schema documentation. Tools are simple and well-named (verb_noun pattern), but lack the depth expected for production use.
Fetch a URL and extract its readable content. Best for documentation, articles, and reference pages.
Search the web using DuckDuckGo. Returns up to 10 results with titles, URLs, and snippets.
Output schemas not documented. LLMs cannot infer what fields web_search returns (title, url, snippet structure) or what web_fetch returns (extracted content format). Agents cannot plan downstream operations without knowing response structure.
web_search 'count' parameter lacks validation rules in description. Should state: 'Number of results (1-10, default 5). Values outside this range will be clamped.' Current description omits enforcement behavior.
web_fetch description lacks guidance on when to use it vs web_search. Should state: 'Use after web_search to extract full article text from a URL. Best for documentation, articles, and reference pages (not real-time data).'
Error handling returns raw error messages ('Search error: <err.message>', 'Fetch error: <err.message>') without recovery guidance. Should guide LLM: 'Search failed: network timeout. Retry with a simpler query or try a different search term.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
web_fetch URL parameter lacks format constraint. Should state: 'A valid HTTP/HTTPS URL (e.g., https://example.com/article). URLs must start with http:// or https://.'