Self-hosted browser-native client for LM Studio. FastAPI backend + React 19 SPA. Projects, sub-sessions, adaptive memory, RAG, per-model sampler profiles.
Single tool (web_search) with adequate naming and schema but weak description. Tool name 'web_search' follows verb_noun convention and is clear. Input schema is present with proper types (string, integer) and parameter descriptions. However, the tool description (95 chars) is below the 194-char baseline for production tools and lacks critical context: no mention of when to use it vs. alternatives, no guidance on result limits, no error recovery hints. Parameter 'top_n' lacks constraints (min/max bounds). Output schema is not documented, LLMs cannot predict response structure. No error handling guidance. Risk classification (READ_ONLY) is correct but insufficient for production use.
Search the live web for current information. Use this when you need up-to-date facts, news, or anything not covered by your training data.
Tool description is too brief (95 chars vs. 194-char baseline). Lacks guidance on when to use web_search, result limits, and error recovery.
Output schema not documented. LLMs cannot predict response structure (fields, types, pagination). Required for downstream tool chaining.
Parameter 'top_n' lacks numeric constraints (min/max). Unbounded integers invite absurd values (e.g., top_n=999999) that break APIs or cause timeouts.
No error handling guidance. If search fails (rate limit, network error, no results), LLM has no recovery path. Should include actionable error messages.
No result limit enforcement documented. Large result sets waste tokens and degrade LLM reasoning. Should cap results at 20-50 and document in description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |