get_committee_prints
Retrieve committee print documents from Congress.gov to access legislative research materials from House, Senate, or joint committees.
Instructions
Retrieve committee print information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/CommitteePrintEndpoint.md
Args: congress: Congress number (e.g., 118 for 118th Congress) print_type: Type of print - hprt: House Print - sprt: Senate Print - jprt: Joint Committee Print print_number: Specific print number offset: Starting record (default 0) limit: Maximum records to return (max 250, default 20) from_datetime: Start timestamp (YYYY-MM-DDTHH:MM:SSZ format) to_datetime: End timestamp (YYYY-MM-DDTHH:MM:SSZ format)
Returns: dict: Committee print data from Congress.gov API
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| congress | No | ||
| print_type | No | ||
| print_number | No | ||
| offset | No | ||
| limit | No | ||
| from_datetime | No | ||
| to_datetime | No |
Implementation Reference
- server.py:496-555 (handler)The main handler function for the 'get_committee_prints' tool. Decorated with @mcp.tool() for automatic registration in FastMCP. Includes parameter type hints and comprehensive docstring defining the input schema. Fetches committee print data from the Congress.gov API based on provided filters.@mcp.tool() async def get_committee_prints( congress: int | None = None, print_type: str | None = None, print_number: int | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve committee print information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/CommitteePrintEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) print_type: Type of print - hprt: House Print - sprt: Senate Print - jprt: Joint Committee Print print_number: Specific print number offset: Starting record (default 0) limit: Maximum records to return (max 250, default 20) from_datetime: Start timestamp (YYYY-MM-DDTHH:MM:SSZ format) to_datetime: End timestamp (YYYY-MM-DDTHH:MM:SSZ format) Returns: dict: Committee print data from Congress.gov API """ base_url = "https://api.congress.gov/v3/committee-print" url = base_url if congress: url += f"/{congress}" if print_type: url += f"/{print_type}" if print_number: url += f"/{print_number}" params = { "api_key": congress_gov_api_key, "format": "json", "offset": offset, "limit": min(limit, 250) # API max limit for committee prints } if from_datetime: params["fromDateTime"] = from_datetime if to_datetime: params["toDateTime"] = to_datetime try: response = requests.get(url, params=params) response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: return { "error": f"Failed to retrieve committee print information: {str(e)}", "status_code": getattr(e.response, "status_code", None) }
- server.py:496-496 (registration)The @mcp.tool() decorator registers the get_committee_prints function as an MCP tool.@mcp.tool()
- server.py:497-523 (schema)Input schema defined by function parameters with type annotations and detailed docstring describing arguments and return type.async def get_committee_prints( congress: int | None = None, print_type: str | None = None, print_number: int | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve committee print information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/CommitteePrintEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) print_type: Type of print - hprt: House Print - sprt: Senate Print - jprt: Joint Committee Print print_number: Specific print number offset: Starting record (default 0) limit: Maximum records to return (max 250, default 20) from_datetime: Start timestamp (YYYY-MM-DDTHH:MM:SSZ format) to_datetime: End timestamp (YYYY-MM-DDTHH:MM:SSZ format) Returns: dict: Committee print data from Congress.gov API """