get_treaty
Retrieve specific treaty information from the Congress.gov API by searching with congress number, treaty number, or date range parameters.
Instructions
Retrieve treaty information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/TreatyEndpoint.md
Args: congress: Congress number (e.g., 118 for 118th Congress) treaty_number: Specific treaty 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: Treaty data from Congress.gov API
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| congress | No | ||
| from_datetime | No | ||
| limit | No | ||
| offset | No | ||
| to_datetime | No | ||
| treaty_number | No |
Implementation Reference
- server.py:1135-1189 (handler)The 'get_treaty' tool handler function, registered via @mcp.tool() decorator. It fetches treaty data from the Congress.gov API based on parameters like congress, treaty_number, offset, limit, and date ranges.@mcp.tool() async def get_treaty( congress: int | None = None, treaty_number: int | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve treaty information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/TreatyEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) treaty_number: Specific treaty 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: Treaty data from Congress.gov API """ base_url = "https://api.congress.gov/v3/treaty" url = base_url if congress: url += f"/{congress}" if treaty_number: url += f"/{treaty_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 treaty information: {str(e)}", "status_code": getattr(e.response, "status_code", None) }
- server.py:1135-1135 (registration)The @mcp.tool() decorator registers the get_treaty function as an MCP tool with the name 'get_treaty'.@mcp.tool()