Skip to main content
Glama
AshwinSundar

Congress[.]gov MCP Server

by AshwinSundar

get_crsreport

Retrieve Congressional Research Service reports from Congress.gov to access authoritative legislative analysis and policy research.

Instructions

Retrieve CRS (Congressional Research Service) report information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/CRSReportEndpoint.md

Args: product_code: Specific product code for CRS report 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: CRS report data from Congress.gov API

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
product_codeNo
offsetNo
limitNo
from_datetimeNo
to_datetimeNo

Implementation Reference

  • The main handler function for the 'get_crsreport' tool, decorated with @mcp.tool() for registration in the MCP framework. It fetches CRS report data from the Congress.gov API using the provided parameters, handles pagination and date filtering, and returns the JSON response or an error dictionary.
    @mcp.tool() async def get_crsreport( product_code: str | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve CRS (Congressional Research Service) report information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/CRSReportEndpoint.md Args: product_code: Specific product code for CRS report 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: CRS report data from Congress.gov API """ base_url = "https://api.congress.gov/v3/crsreport" url = base_url if product_code: url += f"/{product_code}" params = { "api_key": congress_gov_api_key, "format": "json", "offset": offset, "limit": min(limit, 250) } 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 CRS report information: {str(e)}", "status_code": getattr(e.response, "status_code", None) }

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