Full-text search of ~150 years of digitized U.S. newspapers (1690s–present) from the Library of Congress
Single tool with solid naming (search_newspapers) and comprehensive description (194 chars, within baseline 34-392 range). Input schema is well-structured with 5 parameters, all typed and described. However, NO output schema is documented, critical gap for LLM planning. Parameter descriptions are good but lack format constraints (e.g., date_from/date_to should specify ISO 8601 or YYYY format explicitly). Error handling in code is basic (throws on missing query, validates limit range) but does not guide recovery. No tool annotations (readOnlyHint, etc.) despite being READ_ONLY. Missing pagination guidance despite API returning results.
Full-text search of digitized historical U.S. newspapers (~1690s–present) from the Library of Congress "Chronicling America" collection. Find primary-source newspaper coverage of any person, event, place, or topic in history — returns the newspaper, publication date, city/state, a link to the digitized page, and the page-scan image URL. Filter by date range and U.S. state. Example: search_newspapers({ query: "influenza epidemic", date_from: "1918", date_to: "1919", state: "oklahoma" }).
No output schema documented. LLMs cannot plan downstream operations or extract fields without knowing response structure (LocResult interface exists in code but is not exposed in tool definition).
Date parameters (date_from, date_to) lack format specification. Description says 'e.g. "1918" or "1918-01-01"' but does not enforce or validate format. LLMs may pass invalid dates.
No pagination support documented. API accepts 'c' (count) parameter and returns results, but tool description does not mention limit cap (25) or how to retrieve additional results. Large result sets risk context window exhaustion.
Tool is READ_ONLY but lacks readOnlyHint annotation in schema. Agents cannot infer safety from tool definition alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2025-06-18+ | v2 |
Error messages in code are basic ('Unknown tool', 'Required argument missing'). No recovery guidance for upstream failures (e.g., 'Library of Congress did not respond' timeout error is truncated in source).