Skip to main content
Glama
AshwinSundar

Congress[.]gov MCP Server

by AshwinSundar

get_house_communication

Retrieve House communication data from Congress.gov, including executive communications, memorials, presidential messages, and petitions, with filtering by congress, type, number, and date range.

Instructions

Retrieve House communication information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/HouseCommunicationEndpoint.md

Args: congress: Congress number (e.g., 118 for 118th Congress) communication_type: Type of communication - ec: Executive Communication - ml: Memorial - pm: Presidential Message - pt: Petition communication_number: Specific communication 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: House communication data from Congress.gov API

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
congressNo
communication_typeNo
communication_numberNo
offsetNo
limitNo
from_datetimeNo
to_datetimeNo

Implementation Reference

  • The primary handler function decorated with @mcp.tool(), implementing the logic to fetch House communication data from the Congress.gov API. Includes parameter definitions serving as input schema and detailed docstring documentation.
    @mcp.tool() async def get_house_communication( congress: int | None = None, communication_type: str | None = None, communication_number: int | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve House communication information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/HouseCommunicationEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) communication_type: Type of communication - ec: Executive Communication - ml: Memorial - pm: Presidential Message - pt: Petition communication_number: Specific communication 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: House communication data from Congress.gov API """ base_url = "https://api.congress.gov/v3/house-communication" url = base_url if congress: url += f"/{congress}" if communication_type: url += f"/{communication_type}" if communication_number: url += f"/{communication_number}" 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 house communication 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