Standalone MCP server for Brave Search — integrates with LLM.port
Two tools with complete schemas and reasonable descriptions. web_search has good parameter constraints (enums for freshness, integer bounds for count). Descriptions are adequate (60-80 chars) but lack actionable context for LLM selection. Missing output schema documentation, LLMs cannot plan downstream calls without knowing what fields are returned. No error handling guidance. Parameter descriptions are minimal; 'The search query' lacks format/length constraints. local_search similarly lacks depth. No tool annotations (readOnlyHint present in metadata but not declared in schema). Overall: functional but below production baseline for agent-facing tools.
Search for local businesses and places using Brave Local Search.
Search the web using Brave Search. Returns organic results with titles, URLs, and snippets.
Output schemas not documented. LLMs cannot infer what fields web_search and local_search return (e.g., do they return URLs, snippets, ratings, addresses?). This forces agents to guess or make exploratory calls.
Parameter descriptions lack actionable constraints. 'The search query' does not specify length limits, character restrictions, or format. 'Number of results' lacks explanation of why 1-20 or 1-5 bounds exist. LLMs cannot self-correct invalid inputs.
No error handling guidance. If Brave API returns 401 (invalid key), 429 (rate limit), or 400 (bad query), the tool returns raw error text. LLMs receive no recovery hints (e.g., 'retry after 60s' or 'check API key').
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Tool descriptions lack context for selection. 'Search the web using Brave Search' does not explain when to use web_search vs local_search, what freshness filters do, or what 'organic results' means. LLMs may conflate the two tools.
No pagination or result limits documented. web_search accepts count 1-20 but does not explain what happens if results exceed 20 or how to fetch the next page. local_search caps at 5 but offers no offset/cursor for pagination.