GnistAI GnistAI
Log in

US Congress

US congressional bill search, bill details (sponsors, subjects, summaries), member lookup, and recent legislation from Congress.gov — covers all bill types (HR, S, joint/concurrent resolutions) across all congresses.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 5 tools tools 5 5 type: api wrapper type type api wrapper api wrapper lifecycle: maintained lifecycle lifecycle maintained maintained Government

Data source: Congress.gov API (api.congress.gov)

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/congress/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (5)

search_bills

Search US congressional bills by keyword.

Args:
query: Search keywords for bill text or title.
congress: Congress number (e.g. 118 for the 118th Congress).
bill_type: Bill type filter: hr, s, hjres, sjres, hconres, sconres, hres, sres.
limit: Maximum results to return (1-250, default 20).

Returns:
Dictionary with count and list of matching bills including title, sponsor, and latest action.

ParameterTypeRequiredDescription
querystringrequired
congressanyoptional
bill_typeanyoptional
limitintegeroptional (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_bills",
    "arguments": {
      "query": "example"
    }
  }
}
get_bill

Get detailed information about a specific US congressional bill.

Args:
congress: Congress number (e.g. 118).
bill_type: Bill type: hr, s, hjres, sjres, hconres, sconres, hres, sres.
bill_number: Bill number (e.g. "1" for H.R. 1).

Returns:
Dictionary with full bill details including sponsor, subjects, policy area, and summaries.

ParameterTypeRequiredDescription
congressintegerrequired
bill_typestringrequired
bill_numberstringrequired
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_bill",
    "arguments": {
      "congress": 1,
      "bill_type": "example",
      "bill_number": "example"
    }
  }
}
get_recent_bills

Get recently updated bills from a specific congress.

Args:
congress: Congress number (default: 118 for the 118th Congress, 2023-2025).
limit: Maximum results to return (1-250, default 20).

Returns:
Dictionary with count and list of recently updated bills.

ParameterTypeRequiredDescription
congressintegeroptional (default: 118)
limitintegeroptional (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_recent_bills",
    "arguments": {}
  }
}
search_members

Search members of Congress with optional filters.

Note: State, party, and chamber filters are applied client-side after fetching results.
The returned count reflects filtered results only. For unfiltered queries, pagination
works normally. When filters are active, increase limit for more complete results.

Args:
state: Filter by US state abbreviation (e.g. CA, NY, TX).
party: Filter by party name (Democratic, Republican).
chamber: Filter by chamber (House of Representatives, Senate).
limit: Maximum results to fetch from API before filtering (1-250, default 20).

Returns:
Dictionary with count and list of matching members including party, state, and chamber.

ParameterTypeRequiredDescription
stateanyoptional
partyanyoptional
chamberanyoptional
limitintegeroptional (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_members",
    "arguments": {}
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/congress/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_bills", "arguments": {"query": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/congress/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_bills",
    "arguments": {
      "query": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Government)

Resources