get_house_requirement
Retrieve House requirement data from Congress.gov API by specifying congress number, requirement details, or date ranges for legislative research.
Instructions
Retrieve House requirement information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/HouseRequirementEndpoint.md
Args: congress: Congress number (e.g., 118 for 118th Congress) requirement_number: Specific requirement 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: House requirement data from Congress.gov API
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| congress | No | ||
| requirement_number | No | ||
| offset | No | ||
| limit | No | ||
| from_datetime | No | ||
| to_datetime | No |
Implementation Reference
- server.py:912-964 (handler)The core handler function for the 'get_house_requirement' tool. It is decorated with @mcp.tool(), which automatically generates the schema from type hints and docstring, and registers the tool with the MCP server. The function constructs a URL and parameters for the Congress.gov API and fetches the data.@mcp.tool() async def get_house_requirement( congress: int | None = None, requirement_number: int | None = None, offset: int = 0, limit: int = 20, from_datetime: str | None = None, to_datetime: str | None = None ) -> dict: """ Retrieve House requirement information from the Congress.gov API. Full documentation for this endpoint -> https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/HouseRequirementEndpoint.md Args: congress: Congress number (e.g., 118 for 118th Congress) requirement_number: Specific requirement 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: House requirement data from Congress.gov API """ base_url = "https://api.congress.gov/v3/house-requirement" url = base_url if congress: url += f"/{congress}" if requirement_number: url += f"/{requirement_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 house requirement information: {str(e)}", "status_code": getattr(e.response, "status_code", None) }