Agentic research system with schema-enforced verifiable citations. Exposes a research tool via MCP that decomposes queries into sub-questions, searches the web, synthesizes findings, and returns reports with verified citations.
Single tool 'research' has a clear, well-written description (194 chars) that explains what it does and when to use it. Input schema is present with two parameters: 'query' (string, described) and 'budget_usd' (number with default 0.30, described). However, output schema is NOT documented in the tool definition, the docstring mentions return keys (summary, claims, sources, cost_usd, latency_ms) but provides no formal schema. Parameter descriptions are adequate but lack format/constraint details (e.g., query length limits, budget range). No error handling guidance, no idempotent/destructive hints. Tool naming is generic ('research') rather than verb_noun pattern (e.g., 'run_research_query'). Overall: solid foundation, but incomplete schema documentation and missing operational metadata prevent higher scores.
Run a grounded research query and return a report with verified citations. Every claim in the output is backed by specific source_ids from the sources list. No unsupported claims are included.
Output schema not documented. Docstring mentions return keys (summary, claims, sources, cost_usd, latency_ms) but provides no formal JSON Schema. LLMs cannot plan downstream operations without knowing field types and structure.
Tool name 'research' is generic and does not follow verb_noun convention. 'run_research_query' or 'execute_research' would be clearer and help LLMs disambiguate intent from the name alone.
Parameter 'query' lacks format constraints. No minimum/maximum length specified. Description should state: 'Research question (5-500 characters)' to prevent invalid inputs.
Parameter 'budget_usd' lacks range documentation in description. Should state: 'Maximum spend per query (0.01 - 5.00 USD, default 0.30)' to guide LLM behavior and prevent absurd values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No error handling guidance. Tool description does not explain what happens on failure (budget exceeded, network error, invalid query). LLMs need recovery hints: 'If budget exceeded, retry with lower budget_usd.'