Single tool 'query' has a well-structured input schema with proper types, enums, and constraints (start/max_results bounds, sortBy/sortOrder enums). Description is adequate (89 chars) but generic, lacks WHEN to use it or what the output structure contains. Parameter descriptions are present and specific (e.g., 'arXiv search expression', 'Comma-delimited arXiv IDs'). However, output schema is not documented in the tool definition, LLMs cannot see what fields the response contains. Error handling is present in code (validation, bounds checking) but not surfaced in tool metadata. No tool annotations (readOnlyHint, etc.). Naming is clear and verb-forward ('query').
Query arXiv articles via the official API query interface.
Output schema not documented. Tool definition lacks return type specification. LLMs cannot infer response structure (fields like id, title, summary, authors, etc.) and cannot plan downstream operations.
Tool description is generic (89 chars). Does not explain WHEN to use this tool vs alternatives, what the output contains, or any prerequisites. Baseline for A+ tools is 50-200 chars with clear intent.
No tool annotations. Missing readOnlyHint (this is a read-only query tool) which helps agents understand safety and retry semantics.
Error handling is implemented in code (validation, bounds checks) but not surfaced in tool metadata. LLMs see no recovery guidance in the tool definition.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
No pagination guidance in tool description. max_results capped at 2000, but no mention of how to iterate through large result sets or what happens when totalResults exceeds max_results.