Skip to main content
Glama

KeyVex

get_government_publications

Read-only

Returns recent congressional + oversight publications from GovInfo across four collections. Use this when the user asks about: - Committee reports on a specific bill or topic - Recently signed public laws (the 'did it become law' signal) - Congressional hearing transcripts (testimony from regulators, CEOs, expert witnesses) - GAO oversight reports (independent reviews of federal agencies + programs, often precede SEC/DOJ enforcement on the same target) Collections (filter via the collection enum): CRPT — Congressional Reports. Includes committee reports accompanying bills (House hrpt / Senate srpt). Real- time signal on what's about to move on the floor. PLAW — Public + Private Laws. Bills that were signed into law. The 'what actually got done' record. CHRG — Congressional Hearings. Transcripts of House + Senate committee hearings — testimony from agency heads, executives, expert witnesses. Hearings often PRECEDE enforcement actions (the public 'why did this happen' conversation). GAOREPORTS — GAO oversight reports. Independent congressional oversight. NOTE: GovInfo's GAO collection is a historical archive (~16.5K reports) that is not receiving recent updates — GAO now publishes current reports on gao.gov directly. Use this for historical GAO research; recent reports won't appear here. Identifier format: each package_id is GovInfo's globally-unique ID (e.g., 'CRPT-119hrpt27' for House Report 27 of the 119th Congress, 'PLAW-119publ12' for Public Law 12, 'CHRG-119hhrg54321' for House hearing 54321). Direct doc lookup by package_id is fastest. Cross-source pairing pattern: Hearing → trade by attending member: get_congressional_trades( bioguide_id:'...', since:'') GAO report on agency → SEC follow-on: get_enforcement_actions( text:'', since:'') Committee report → bill passage: get_bills + get_roll_call_votes Full document body (PDF / HTML / XML) lives at package_link; v1A returns only metadata — agents follow the link for content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return. Default 50, max 500.
sinceNoISO date (YYYY-MM-DD). Only documents whose date_issued is on or after this date.
titleNoCase-insensitive substring against the package title.
untilNoISO date (YYYY-MM-DD). Only documents whose date_issued is on or before this date.
sort_byNoDefault: date_issued.
congressNoCongress number as string (e.g., '119').
doc_classNoSub-class within the collection. Examples: 'hrpt' (House report), 'srpt' (Senate report), 'pub' (public law), 'pvt' (private law), 'hr' (House hearing), 's' (Senate hearing).
collectionNoFilter to one collection: CRPT (committee reports), PLAW (public laws), CHRG (hearings), GAOREPORTS (GAO).
package_idNoGovInfo packageId. Direct doc lookup, fastest. Example: 'CRPT-119hrpt27'.
sort_orderNoDefault: desc (most recent first).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld/destructive annotations, the description discloses two non-obvious behavioral traits: the GAOREPORTS collection is a stale historical archive (~16.5K reports, no recent updates) and v1A returns metadata only with the full body at package_link. Both would materially change how an agent answers if omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose sentence followed by clearly headed bullets, collections block, and pairing patterns — every section is scannable. It is however quite long (~350 words) and some collection prose is richer than strictly needed for selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so by stating that only metadata is returned and that content lives at package_link. Combined with full collection coverage, usage triggers, and identifier format, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description adds genuine meaning: each `collection` enum value is given interpretive significance (CRPT as a real-time floor signal, PLAW as the 'what actually got done' record, CHRG as a precursor to enforcement), and the package_id naming convention is decoded with worked examples. The remaining date/sort/limit params are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (returns recent congressional + oversight publications from GovInfo) and names the exact four collections it spans. An agent can distinguish it from get_bills, get_roll_call_votes, or get_federal_register_documents from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Opens with an explicit 'Use this when the user asks about' block enumerating four triggering scenarios (committee reports, signed public laws, hearing transcripts, GAO oversight). It also routes to alternatives via named cross-source pairing patterns (get_congressional_trades, get_enforcement_actions, get_bills + get_roll_call_votes) with the condition that selects each.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources