A Brave Search MCP server running as a background thread
Single tool with adequate schema and basic description. Input schema is properly defined with types and constraints (query string, count number with default). However, description is minimal (67 chars, below the 194-char baseline for A+ tools). No output schema documented, LLMs cannot predict response structure. No error recovery guidance. Parameter descriptions lack context on when to use count vs default behavior. Tool does one thing (search) but lacks composition hints for chaining results.
Performs a web search using the Brave Search API
Output schema not documented. LLMs cannot predict response structure (title, description, URL fields) or plan downstream tool calls.
Tool description is 67 characters, below the 194-char baseline. Lacks WHEN to use, WHAT it returns, and prerequisites (API key requirement). LLMs cannot determine selection criteria vs similar search tools.
No error recovery guidance. Code catches BraveAPIError, timeouts, and network errors but returns generic error messages ('Brave API error', 'Request timed out'). LLMs receive no actionable next steps.
Parameter 'count' description lacks actionable constraints. States '1-20, default 10' but does not explain when to increase count (more results = higher latency/cost) or when default suffices.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
API key exposed as server-side config but no documentation of secret injection pattern. Code loads from environment but no guidance on secure deployment or rotation.