get_treaty
Retrieve treaty information from the Congress.gov API by specifying congress number, treaty number, date ranges, and pagination 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 | ||
| treaty_number | No | ||
| offset | No | ||
| limit | No | ||
| from_datetime | No | ||
| to_datetime | No |
Implementation Reference
- server.py:1135-1188 (handler)The handler function for the 'get_treaty' MCP tool. It is decorated with @mcp.tool() which registers it with the MCP server. The function constructs a URL and parameters for the Congress.gov /treaty endpoint and fetches data using requests, handling errors appropriately. Input schema is inferred from the function parameters.@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.@mcp.tool()