Skip to main content
Glama
AshwinSundar

Congress[.]gov MCP Server

by AshwinSundar

get_nomination

Retrieve U.S. congressional nomination data by specifying Congress number, nomination details, or date ranges to access official records.

Instructions

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

Args: congress: Congress number (e.g., 118 for 118th Congress) nomination_number: Specific nomination 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: Nomination data from Congress.gov API

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
congressNo
nomination_numberNo
offsetNo
limitNo
from_datetimeNo
to_datetimeNo

Implementation Reference

  • server.py:1029-1029 (registration)
    Registers the 'get_nomination' tool using the FastMCP @mcp.tool() decorator. The tool name matches the function name.
    @mcp.tool()
  • The main handler function for the 'get_nomination' tool. It constructs the API URL for Congress.gov nominations endpoint, adds parameters, makes a GET request using requests library, and returns the JSON response or error dict.
    async def get_nomination( congress: int | None = None, nomination_number: int | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve nomination information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/NominationEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) nomination_number: Specific nomination 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: Nomination data from Congress.gov API """ base_url = "https://api.congress.gov/v3/nomination" url = base_url if congress: url += f"/{congress}" if nomination_number: url += f"/{nomination_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 nomination information: {str(e)}", "status_code": getattr(e.response, "status_code", None) }
  • Input schema defined by function parameters and comprehensive docstring describing each argument and return type.
    congress: int | None = None, nomination_number: int | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve nomination information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/NominationEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) nomination_number: Specific nomination 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: Nomination data from Congress.gov API """

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