Server defines 4 tools with basic schemas and descriptions. All tools have input schemas with type definitions and required fields. However, descriptions are minimal (10-150 chars, below the 194-char baseline), parameter descriptions are sparse or missing, output schemas are undocumented, and error handling lacks recovery guidance. Tool names lack action verbs (e.g., 'details' instead of 'get_preprint_details'). No parameter validation examples or constraints documented. Composition is reasonable (single responsibility per tool), but parameter naming could be clearer (e.g., 'date_or_range' is ambiguous vs 'date_start' and 'date_end').
Preprint metadata by DOI or by date / date range.
Preprints that have since been published in a peer-reviewed journal.
Preprints subsequently published by a given DOI prefix (e.g. "10.1038" for Nature).
bioRxiv submission/publication counts. Interval: "m" (monthly, default) or "y" (yearly). bioRxiv only — medRxiv has no /sum endpoint.
Tool names lack action verbs. 'details', 'published', 'publisher', 'summary' do not start with verbs like get_, list_, search_. LLMs infer intent from names, 'get_preprint_details', 'list_published_preprints', 'search_by_publisher', 'get_submission_summary' would be clearer.
Parameter descriptions are missing or minimal. 'server', 'cursor', 'date_or_range' in 'details' lack descriptions explaining format, constraints, or examples. The rubric baseline is 72 chars per param; most here are 0-50 chars.
Output schemas are not documented. Tools return JSON from bioRxiv API but LLMs cannot plan downstream calls without knowing response structure (fields, types, pagination). No documentation of what 'details' returns vs 'published'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. callTool() throws generic errors ('Pass either "doi" or "date_or_range"', 'interval must be "m" or "y"') but does not guide LLM on next steps. Should suggest alternatives or valid values.
Parameter 'date_or_range' is ambiguous. Accepts both single date (YYYY-MM-DD) and range (YYYY-MM-DD/YYYY-MM-DD) in one string. Should split into separate parameters or document the format constraint explicitly with examples.