CongressMCP Documentation

22 MCP tools for searching, analyzing, and understanding U.S. congressional data. Bills, members, votes, committees, and AI-powered enrichments.

Getting Started

1. Register for an API key

Create a free account at /register to get your API key. No credit card required. The free tier includes 100 requests per month.

2. Add to Claude Code

Run this command to register CongressMCP as an MCP server in Claude Code:

claude mcp add congressmcp \ --transport http \ https://congressmcp.com/mcp \ --header "Authorization: Bearer YOUR_KEY"

3. Add to Claude Desktop

Add the following to your Claude Desktop settings.json:

{ "mcpServers": { "congressmcp": { "type": "streamable-http", "url": "https://congressmcp.com/mcp", "headers": { "Authorization": "Bearer YOUR_KEY" } } } }

Replace YOUR_KEY with the API key you received during registration.

Authentication

All requests to the MCP endpoint require an Authorization header with a Bearer token:

Authorization: Bearer sk_live_...

API keys are prefixed with sk_live_. Keep your key secret and never share it publicly.

Rate Limits

When you exceed your monthly limit, the API returns 429 Too Many Requests with an upgrade prompt. Rate limits reset on the first of each month.

Bills

Search, retrieve, and explore legislation from Congress.

search_bills
Search congressional bills by keyword, topic, or bill number. Returns matching bills with titles, sponsors, and status.
ParameterTypeRequiredDescription
querystringrequiredSearch term (keyword, topic, or bill number)
congressnumberoptionalFilter by congress number (e.g. 119)
limitnumberoptionalMax results to return (default: 20, max: 50)
offsetnumberoptionalPagination offset (default: 0)
Show example response
[ { "congress": 119, "type": "hr", "number": 1234, "title": "Example Act of 2025", "sponsor_name": "John Smith", "sponsor_party": "D", "sponsor_state": "CA", "latest_action": "Referred to committee", "latest_action_date": "2025-03-15" } ]
get_bill
Get detailed information about a specific bill including sponsor, cosponsors count, subjects, and latest summary.
ParameterTypeRequiredDescription
congressnumberrequiredCongress number (e.g. 119)
typestringrequiredBill type (e.g. "hr", "s", "hjres", "sjres")
numbernumberrequiredBill number
Show example response
{ "congress": 119, "type": "hr", "number": 1234, "title": "Example Act of 2025", "introduced_date": "2025-01-10", "sponsor_bioguide_id": "S000123", "sponsor_name": "John Smith", "sponsor_party": "D", "cosponsor_count": 42, "latest_action": "Passed House", "latest_action_date": "2025-06-12", "policy_area": "Health", "subjects": ["Medicare", "Drug prices"] }
get_bill_actions
Get the legislative timeline/actions for a bill.
ParameterTypeRequiredDescription
congressnumberrequiredCongress number
typestringrequiredBill type
numbernumberrequiredBill number
limitnumberoptionalMax actions to return (default: 25)
Show example response
[ { "action_date": "2025-06-12", "action_text": "Passed/agreed to in House: On passage Passed by Yea-Nay Vote: 275 - 160.", "action_type": "Floor", "action_code": "H37300" }, { "action_date": "2025-03-15", "action_text": "Referred to the Committee on Energy and Commerce.", "action_type": "IntroReferral", "action_code": "H11100" } ]
get_bill_cosponsors
Get the list of cosponsors for a bill with party affiliation.
ParameterTypeRequiredDescription
congressnumberrequiredCongress number
typestringrequiredBill type
numbernumberrequiredBill number
Show example response
[ { "bioguide_id": "J000123", "first_name": "Jane", "last_name": "Doe", "party": "R", "state": "TX", "cosponsor_date": "2025-02-01" } ]
get_bill_text
Get available text versions for a bill with download URLs.
ParameterTypeRequiredDescription
congressnumberrequiredCongress number
typestringrequiredBill type
numbernumberrequiredBill number
Show example response
[ { "date": "2025-03-15", "type": "Introduced in House", "url": "https://www.congress.gov/119/bills/hr1234/BILLS-119hr1234ih.xml", "formats": ["xml", "pdf", "htm"] } ]

Members

Search and retrieve information about members of Congress.

search_members
Search for members of Congress by name. Supports fuzzy matching.
ParameterTypeRequiredDescription
querystringrequiredName to search for (supports fuzzy matching)
chamberstringoptional"House" or "Senate"
partystringoptionalParty filter (e.g. "D", "R")
statestringoptionalState abbreviation (e.g. "CA")
current_onlybooleanoptionalOnly current members (default: true)
limitnumberoptionalMax results (default: 20)
Show example response
[ { "bioguide_id": "P000197", "first_name": "Nancy", "last_name": "Pelosi", "party": "D", "state": "CA", "district": 11, "chamber": "House", "current_member": true } ]
get_member
Get detailed information about a member of Congress including terms served, bills sponsored/cosponsored, and vote count.
ParameterTypeRequiredDescription
bioguide_idstringrequiredBioguide identifier (e.g. "P000197")
Show example response
{ "bioguide_id": "P000197", "first_name": "Nancy", "last_name": "Pelosi", "party": "D", "state": "CA", "chamber": "House", "terms_served": 19, "bills_sponsored": 312, "bills_cosponsored": 4521, "total_votes": 14892, "current_member": true }
get_member_legislation
Get bills sponsored or cosponsored by a member.
ParameterTypeRequiredDescription
bioguide_idstringrequiredBioguide identifier
typestringrequired"sponsored" or "cosponsored"
congressnumberoptionalFilter by congress number
limitnumberoptionalMax results (default: 25)
Show example response
[ { "congress": 119, "type": "hr", "number": 456, "title": "Infrastructure Investment Act", "introduced_date": "2025-02-14", "latest_action": "Referred to committee" } ]

Votes

Access voting records and roll call data.

get_member_votes
Get voting record for a member of Congress. Returns their votes on recorded roll calls.
ParameterTypeRequiredDescription
bioguide_idstringrequiredBioguide identifier
congressnumberoptionalCongress number (default: 119)
limitnumberoptionalMax results (default: 50, max: 100)
offsetnumberoptionalPagination offset (default: 0)
Show example response
[ { "vote_cast": "Yea", "question_text": "On Passage - H.R. 1234", "result": "Passed", "vote_date": "2025-06-12", "vote_congress": 119, "vote_chamber": "House", "vote_session": 1, "vote_roll_call": 287 } ]
get_vote_detail
Get details of a specific recorded vote including party breakdown.
ParameterTypeRequiredDescription
chamberstringrequired"House" or "Senate"
congressnumberrequiredCongress number
sessionnumberrequiredSession number (1 or 2)
roll_callnumberrequiredRoll call number
Show example response
{ "congress": 119, "chamber": "House", "session_number": 1, "roll_call_number": 287, "question_text": "On Passage - H.R. 1234", "result": "Passed", "vote_date": "2025-06-12", "yea_total": 275, "nay_total": 160, "not_voting": 0, "democrat_yea": 200, "democrat_nay": 12, "republican_yea": 75, "republican_nay": 148 }
score_members_on_votes
Score all members on a set of votes. Provide vote IDs with your preferred position (yea/nay) to generate a scorecard.
ParameterTypeRequiredDescription
yea_vote_idsnumber[]requiredRoll call vote IDs where you prefer a Yea
nay_vote_idsnumber[]requiredRoll call vote IDs where you prefer a Nay
Show example response
[ { "bioguide_id": "S000123", "name": "John Smith", "party": "D", "state": "CA", "score": 0.92, "votes_counted": 12, "aligned_votes": 11 } ]

Committees

Explore congressional committees and their membership.

get_committees
List congressional committees. Filter by chamber or congress.
ParameterTypeRequiredDescription
chamberstringoptional"House", "Senate", or "Joint"
congressnumberoptionalCongress number (default: 119)
limitnumberoptionalMax results (default: 50)
Show example response
[ { "system_code": "SSFI", "congress": 119, "name": "Committee on Finance", "chamber": "Senate", "type_code": "Standing", "subcommittees": [ { "code": "SSFI01", "name": "Subcommittee on Health Care" } ] } ]
get_committee_members
Get members of a specific committee.
ParameterTypeRequiredDescription
committee_codestringrequiredThe system_code of the committee (e.g. "SSFI")
congressnumberoptionalCongress number (default: 119)
Show example response
[ { "bioguide_id": "W000123", "name": "Ron Wyden", "party": "D", "state": "OR", "rank": 1, "role": "Chair" } ]

Enrichments Pro

AI-generated insights layered on top of raw congressional data. These tools require a Pro tier subscription.

get_bill_enrichment Pro
Get AI-generated enrichment for a bill including topic classification, significance rating, impact assessment, and plain-language summary.
ParameterTypeRequiredDescription
congressnumberrequiredCongress number
typestringrequiredBill type
numbernumberrequiredBill number
Show example response
{ "bill_ref": "119-hr-1234", "primary_topic": "Healthcare", "secondary_topics": ["Medicare", "Prescription Drugs"], "significance": "major", "impact_summary": "Would cap insulin costs at $35/month for all insured Americans.", "plain_language_summary": "This bill limits how much insurance companies can charge patients for insulin...", "issue_tags": ["insulin price cap", "drug pricing", "medicare reform"] }
get_legislator_profile Pro
Get AI-generated legislator impact profile including archetype, topic authority, and vote courage.
ParameterTypeRequiredDescription
bioguide_idstringrequiredBioguide identifier
congressnumberoptionalCongress number (default: 119)
Show example response
{ "bioguide_id": "P000197", "congress": 119, "archetype": "Coalition Builder", "topic_authority": ["Trade", "Foreign Affairs", "Immigration"], "vote_courage_score": 0.78, "legislative_effectiveness": "high", "bipartisan_index": 0.45 }
search_by_topic Pro
Search bills by AI-classified topic. Returns enriched bills matching a policy topic.
ParameterTypeRequiredDescription
topicstringrequiredPolicy topic to search (e.g. "healthcare", "climate")
significancestringoptional"landmark", "major", "moderate", "minor", or "routine"
congressnumberoptionalFilter by congress number
limitnumberoptionalMax results (default: 20)
Show example response
[ { "bill_ref": "119-hr-1234", "primary_topic": "Healthcare", "significance": "major", "impact_summary": "Would cap insulin costs at $35/month...", "api_bills": { "title": "Example Act of 2025", "congress": 119 } } ]
search_by_issue_tag Pro
Search bills by specific issue tag (e.g., "student loan forgiveness", "border wall", "insulin price cap").
ParameterTypeRequiredDescription
tagstringrequiredIssue tag to search for
limitnumberoptionalMax results (default: 20)
Show example response
[ { "bill_ref": "119-hr-5678", "primary_topic": "Education", "issue_tags": ["student loan forgiveness", "higher education"], "significance": "major", "api_bills": { "title": "Student Debt Relief Act", "congress": 119, "type": "hr", "number": 5678 } } ]

Analysis Pro

Advanced analytical tools for comparing members, scoring votes, and reviewing aggregate statistics. The first three tools below require a Pro tier subscription.

get_party_unity Pro
Calculate party unity score for a member -- how often they vote with their party.
ParameterTypeRequiredDescription
bioguide_idstringrequiredBioguide identifier
congressnumberoptionalCongress number (default: 119)
Show example response
{ "bioguide_id": "P000197", "party": "D", "congress": 119, "total_party_votes": 245, "votes_with_party": 232, "unity_score": 0.947 }
compare_members Pro
Compare two members of Congress -- shared cosponsored bills and voting alignment.
ParameterTypeRequiredDescription
member1_bioguidestringrequiredFirst member's bioguide ID
member2_bioguidestringrequiredSecond member's bioguide ID
limitnumberoptionalMax shared bills to return (default: 10)
Show example response
{ "shared_cosponsored_bills": [ { "congress": 119, "type": "s", "number": 100, "title": "Bipartisan Infrastructure Act" } ], "member1_party_unity": { "unity_score": 0.947 }, "member2_party_unity": { "unity_score": 0.891 } }
get_legislation_stats
Get aggregate legislation statistics for a congress -- bill counts by type and status.
ParameterTypeRequiredDescription
congressnumberoptionalCongress number (default: 119)
Show example response
{ "congress": 119, "total_bills": 12450, "by_type": { "hr": 8200, "s": 3100, "hjres": 150, "sjres": 80 }, "by_status": { "introduced": 10200, "passed_one_chamber": 1500, "became_law": 120 } }
get_vote_stats
Get voting statistics for a congress -- total votes, breakdowns by chamber.
ParameterTypeRequiredDescription
congressnumberoptionalCongress number (default: 119)
Show example response
{ "congress": 119, "total_votes": 1245, "house_votes": 820, "senate_votes": 425 }
get_data_freshness
Check data freshness across all domains -- shows when each data type was last updated.
ParameterTypeRequiredDescription
No parameters required.
Show example response
{ "bills": { "last_updated": "2025-06-12T14:30:00Z", "total_records": 285000 }, "members": { "last_updated": "2025-06-12T14:30:00Z", "total_records": 13200 }, "votes": { "last_updated": "2025-06-12T12:00:00Z", "total_records": 52000 } }

REST API

In addition to the MCP interface, CongressMCP exposes standard REST endpoints for account management and billing.

POST /auth/register

Create a new account and receive an API key. Send { "email": "...", "name": "..." } as JSON body.

POST /auth/key Auth Required

Regenerate your API key. The old key is immediately revoked. Returns a new key.

GET /usage Auth Required

Get your current usage statistics: tier, requests this month, monthly limit, and rate limits.

POST /billing/checkout Auth Required

Create a Stripe checkout session to upgrade to the Pro tier. Returns a checkout_url.

POST /billing/portal Auth Required

Create a Stripe customer portal session to manage your subscription. Returns a portal_url.

Rate Limits & Pricing

Feature Free Pro
Price $0/month $20/month
Monthly Requests 100 10,000
Rate Limit 10 req/min 60 req/min
Bills, Members, Votes, Committees All tools All tools
Enrichments (AI-generated insights) -- All 4 tools
Analysis (party unity, compare members) -- All 5 tools
Support Community Priority email

Limits reset on the 1st of each month at midnight UTC. If you exceed your monthly quota, the API returns HTTP 429. Upgrade anytime at /billing/checkout.