Full-text search and retrieval over official U.S. congressional documents including hearing transcripts, committee reports, committee prints, House/Senate documents, and the Congressional Record.
Two well-named tools with strong, detailed descriptions (both >300 chars) and complete input schemas. Both tools follow verb_noun naming (search_, get_) and clearly state their purpose, prerequisites, and return structure. Parameters are typed and described. However, output schemas are not formally documented in the tool definitions, the descriptions mention what is returned, but there is no explicit outputSchema field. Error handling is present (API key validation, rate limit detection, HTTP status codes) but lacks actionable recovery guidance for agents. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. The _apiKey parameter is exposed as a tool parameter rather than injected server-side, which is a security anti-pattern.
Read the actual text of a congressional document — the full transcript, report or Congressional Record entry — so an answer can quote the source instead of paraphrasing from memory. Pass the package_id (and granule_id where the search returned one) from search_congressional_documents. Returns the document text, its official citation, the page range where the source prints one, and the govinfo.gov URL. Hearing transcripts run to hundreds of pages, so text is truncated by default — raise max_chars to read more.
Search the full text of official U.S. congressional documents — hearing transcripts, committee reports, committee prints, House/Senate documents, and the Congressional Record. Use for "what was said in the congressional hearing about X", "the committee report on Y", "congressional testimony on Z", "what did Congress publish about ...". Returns matching documents with their official citation, date, congress number and a govinfo.gov link; pass the returned ids to get_congressional_document_text to read the actual wording. Searches PUBLISHED documents only — a hearing transcript appears months after the hearing. Note that a person named in a document is not thereby accused of anything.
API key exposed as tool parameter (_apiKey) instead of server-side injection. Credentials in tool parameters leak into agent logs and traces.
Output schemas not formally documented. Tool descriptions mention return fields (package_id, citation, govinfo.gov URL) but no explicit outputSchema in tool definition. LLMs cannot plan downstream calls without knowing response structure.
Error messages lack actionable recovery guidance. 'GovInfo search error: 500' or 'upstream_throttled' tells the agent nothing about what to do next. Should include retry timing, fallback options, or user-facing guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared in the tool definition. Agents cannot infer safety properties.
search_congressional_documents accepts 'limit' (default 10, max 50) but does not return pagination metadata (total_count, next_cursor, has_more). Large result sets cannot be paginated, risking context window exhaustion.