Skip to main content
Glama
AshwinSundar

Congress[.]gov MCP Server

by AshwinSundar

get_committee_prints

Retrieve official committee print documents from the U.S. Congress by specifying congress number, print type, date range, and other search parameters.

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

TableJSON Schema
NameRequiredDescriptionDefault
congressNo
from_datetimeNo
limitNo
offsetNo
print_numberNo
print_typeNo
to_datetimeNo

Implementation Reference

  • The main handler function for the 'get_committee_prints' tool, decorated with @mcp.tool() for registration. It constructs a URL to the Congress.gov API /committee-print endpoint based on parameters, adds query params including API key, offset, limit, date filters, makes a GET request, and returns the JSON response or error dict.
    @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) }
  • Function signature with type hints and comprehensive docstring defining the input parameters and return type, serving as the tool schema.
    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 """
  • server.py:496-497 (registration)
    The @mcp.tool() decorator registers the get_committee_prints function as an MCP tool.
    @mcp.tool() async def get_committee_prints(

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AshwinSundar/congress_gov_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server