MCP Server for searching via DuckDuckGo
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Both tools have action-verb names (search, fetch_content) and non-empty descriptions (47 and 50 chars respectively), meeting minimum bars. However, parameter descriptions are minimal, output schemas are not formally documented, and error handling lacks recovery guidance. The code shows rate limiting and timeout handling, but these are not surfaced in tool descriptions. No tool annotations (readOnlyHint, idempotentHint) despite both being read-only operations.
Fetch and parse content from a webpage URL.
Search DuckDuckGo and return formatted results.
Output schemas not documented. Neither tool declares what fields are returned or their types. LLMs cannot plan downstream operations or extract required data.
Parameter descriptions are minimal. 'query' and 'url' lack format guidance, constraints, or examples of valid input. 'max_results' has a default but no min/max bounds stated in description.
Tool descriptions do not state what data is returned or when to use each tool. 'Search DuckDuckGo and return formatted results' does not explain result structure, pagination, or rate limits.
No tool annotations. Both tools are read-only (risk: READ_ONLY declared in metadata), but readOnlyHint is not set in tool definitions. Agents cannot infer safety properties.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
Error handling lacks recovery guidance. Code catches timeouts and HTTP errors but returns empty lists. LLMs receive no actionable error message or retry guidance.