get_committee_meetings
Retrieve U.S. congressional committee meeting details including schedules, topics, and participants from the official Congress.gov database for legislative research and oversight.
Instructions
Retrieve committee meeting information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/CommitteeMeetingEndpoint.md
Args: congress: Congress number (e.g., 118 for 118th Congress) chamber: Chamber (house, senate) 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 meeting data from Congress.gov API
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chamber | No | ||
| congress | No | ||
| from_datetime | No | ||
| limit | No | ||
| offset | No | ||
| to_datetime | No |
Implementation Reference
- server.py:558-610 (handler)The core handler function for the 'get_committee_meetings' MCP tool. It is decorated with @mcp.tool() for registration and uses type hints and docstring for input schema. Fetches committee meetings from https://api.congress.gov/v3/committee-meeting with support for congress, chamber, pagination, and date filtering.@mcp.tool() async def get_committee_meetings( congress: int | None = None, chamber: str | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve committee meeting information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/CommitteeMeetingEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) chamber: Chamber (house, senate) 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 meeting data from Congress.gov API """ base_url = "https://api.congress.gov/v3/committee-meeting" url = base_url if congress: url += f"/{congress}" if chamber: url += f"/{chamber}" params = { "api_key": congress_gov_api_key, "format": "json", "offset": offset, "limit": min(limit, 250) # API max limit for committee meetings } 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 meeting information: {str(e)}", "status_code": getattr(e.response, "status_code", None) }