An agentic research and search platform with multi-stage reasoning (analyzer, planner, refiner, search, critic, synthesis, copilot) integrated with SearXNG web search, local LLMs (LM Studio/Ollama), and discovery features.
This HTTP-based search server provides three well-defined tools with complete JSON schemas and reasonable descriptions. Tool naming follows verb_noun convention (search_*, fetch_*), and all parameters include type information. However, descriptions are terse (averaging 60-85 characters), lack dependency hints and recovery guidance, and output schemas are not documented. Parameter descriptions are present but minimal, missing constraint details. Error handling is absent from the visible schema, no guidance on what happens when searches fail, URLs are unreachable, or rate limits are hit. The server implements smart defaults (limit=5, include_context=false) and flexible parameter design (accepting both single query and array of queries), but lacks pagination support for potentially large result sets and does not document the structure of returned results.
Fetch URL context. GitHub URLs are repo-aware and traverse related files.
Deep multi-lane search (general/science/news).
Fast web search via SearXNG (JSON).
Output schemas not documented. Tools return results but the structure of the 'results' array, error responses, and metadata fields are not specified. LLMs cannot plan downstream tool calls or reliably extract data without knowing what fields to expect.
Parameter descriptions lack constraint details. 'limit' has a default but no stated bounds (min/max); 'query' has no length restrictions or format hints; 'urls' array has no guidance on expected URL format or count limits. LLMs cannot validate inputs without explicit constraints.
No error handling guidance in tool descriptions. Descriptions do not state what happens on failure (network timeout, no results, rate limit exceeded, malformed URL). No recovery instructions like 'If search fails, try a simpler query' or 'If URL is unreachable, skip and try another.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Tool descriptions are under 100 characters and lack context. 'Fast web search via SearXNG (JSON)' does not explain WHEN to use this vs search_deep, what the results contain, or whether it includes context fetching. Average description length: 65 chars; production baseline is 194 chars.
No pagination support documented. If search_quick or search_deep return 50+ results, there is no offset/cursor mechanism to fetch beyond the limit. Large result sets could exhaust context or force truncation.
Parameter naming inconsistency: search_quick and search_deep have 'include_context', 'context_max_urls', 'context_max_chars' but fetch_url_context has 'max_urls' and 'max_chars_per_url'. Inconsistent suffixes force LLMs to reason about equivalent parameters across tools.