Search the web via Brave, fetch and extract the top results, and return aggregated markdown with citations.
Single tool 'deep_search' has a clear action verb and reasonable description (118 chars, within 10-1024 range). Input schema is visible with 5 parameters, all typed as string or integer. However, parameter descriptions are minimal (10-30 chars each), lacking guidance on constraints, defaults, or when to use each option. No output schema documented, LLMs cannot predict the markdown structure returned. Error handling returns generic text wrapping; no recovery guidance or categorization. Tool is read-only (safe), but lacks the depth expected for production use.
Search the web via Brave, fetch and extract the top results, and return aggregated markdown with citations.
Output schema not documented. LLMs cannot predict the markdown structure, citation format, or field names returned by deep_search. This forces agents to guess how to parse results.
Parameter descriptions are too brief (10-30 chars). 'number of Brave results to consider (default 5, max 20)' lacks guidance on when to increase count vs max_pages_to_fetch, or how max_chars_per_page affects quality. LLMs cannot reason about trade-offs.
No error recovery guidance. Error handling wraps failures in generic text ('deep_search failed: %v'). LLMs receive no hint whether to retry, adjust parameters, or ask the user. Violates recovery-guide pattern.
Parameter constraints not enforced in descriptions. 'max_pages_to_fetch' and 'max_chars_per_page' have no stated ranges or defaults. LLMs may pass absurd values (e.g. max_chars_per_page=999999) without guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
No pagination or result-limiting guidance. Tool description does not state how many results are returned or whether pagination is supported. Large result sets could exhaust context windows.