Skip to main content
Glama
AshwinSundar

Congress[.]gov MCP Server

by AshwinSundar

get_committee_meetings

Retrieve committee meeting details from Congress.gov by specifying congress, chamber, date range, and pagination parameters to access legislative activity information.

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

TableJSON Schema
NameRequiredDescriptionDefault
congressNo
chamberNo
offsetNo
limitNo
from_datetimeNo
to_datetimeNo

Implementation Reference

  • The core handler function decorated with @mcp.tool() that implements the get_committee_meetings tool. It fetches committee meeting data from the Congress.gov API v3/committee-meeting endpoint using requests, handles parameters like congress, chamber, pagination, and date ranges, and returns the JSON response or an error dict.
    @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) }
  • server.py:558-558 (registration)
    The @mcp.tool() decorator registers the get_committee_meetings function as an MCP tool.
    @mcp.tool()
  • The function signature defines the input schema (parameters with types and defaults) and output type (dict) for the 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:

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