A multi-agent research system combining conversational RAG, autonomous research workflows, and long-term memory with dynamic tool routing and web search capabilities
Two tools with minimal but present descriptions and basic parameter schemas. search_pdf and search_web both accept a single 'query' parameter with type string and description. Descriptions are adequate (60-80 chars) but lack actionable context on when to use each tool vs. the other, prerequisites, or what the LLM should expect in the response. No output schemas documented. No error handling guidance. No parameter constraints (enums, ranges). Tool names follow verb_noun pattern (search_*) which is good, but lack distinction, LLMs may conflate them without clearer guidance on scope and use cases. No tool annotations (readOnlyHint, etc.) despite both being read-only operations.
Search the local indexed knowledge base for information contained in the user's document collection.
Search the internet for information that is current, external, time-sensitive, or not expected to be available in the local knowledge base.
No output schemas documented. LLMs cannot infer what fields to expect from search results, making downstream tool chaining and data extraction error-prone.
Descriptions lack actionable context. No guidance on WHEN to use search_pdf vs search_web, what constitutes 'local knowledge base', or what response format to expect.
No error handling guidance. If a search returns no results, or the knowledge base is unavailable, the LLM has no recovery path documented.
Missing tool annotations. Both tools are read-only but lack readOnlyHint annotation, preventing clients from optimizing caching or safety policies.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No pagination or result limits documented. If search_pdf or search_web return large result sets, context window exhaustion is likely.