Query US Congress Data via API
Unofficial MCP server for the US Congress.gov API - bills, amendments, members, committees, hearings, votes, and more, queryable from Claude.
Why it matters
Access real-time data on US Congress activity, including bills, members, and voting records, directly through an unofficial MCP server for the Congress.gov API.
Outcomes
What it gets done
Retrieve information on US Congress bills and amendments.
Search for details about members and committees.
Access voting records and Congressional Records.
Obtain data on nominations, treaties, and CRS reports.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-congress-gov-api | bash Capabilities
Tools your agent gets
Search for bills in the US Congress
Search for amendments in the US Congress
Search for information about Congress members
Search for information about congressional committees
Retrieve committee reports and documents
Get information about committee meetings and hearings
Access House and Senate voting records
Access daily and bound Congressional Records
Overview
Congress.gov API MCP Server
An unofficial MCP server wrapping the Congress.gov API, letting Claude query US bills, amendments, members, committees, hearings, votes, and the Congressional Record directly instead of summarizing news coverage. Use it when an AI assistant needs primary-source data on US congressional activity, such as a bill's status, a member's profile, a committee's reports, or a recorded vote, rather than second-hand reporting.
What it does
An unofficial MCP server that wraps the official Congress.gov API, letting Claude answer questions about US congressional activity from the primary source instead of news summaries. It covers a broad slice of what Congress.gov itself publishes: bills and their summaries, amendments, congress sessions, members by bioguide ID, committees, committee reports and prints, committee meetings, hearings, house and senate votes, the Congressional Record in its daily, bound, and standard forms, house and senate communications, nominations, CRS reports, and treaties.
When to use - and when NOT to
Use it when a question needs an authoritative answer grounded in Congress.gov's own data - what a specific bill's number and type track back to, who a named member of Congress is, what committees have published a given report, or how a specific roll-call vote went. It requires a free Congress.gov API key, obtained by signing up separately, configured as an environment variable before the server can query anything. The roadmap in the source shows this is a work in progress: top-level endpoints for each resource, such as a bill or amendment by congress and number, are implemented, but several nested sub-resources are marked unchecked and not yet built, including bill actions, cosponsors, related bills, subjects, summaries, text, and titles, and the equivalent detail endpoints for amendments, committees, nominations, and treaties. A question needing one of those unimplemented sub-resources will not be answerable through this server yet.
Capabilities
Implemented top-level resources include /bill (by congress, bill type, and bill number), /amendment (by congress, type, and number), /summaries, /congress, /member (by bioguideId), /committee, /committee-report, /committee-print, /committee-meeting, /hearing, /house-vote, /congressional-record, /daily-congressional-record, /bound-congressional-record, /house-communication, /house-requirement, /senate-communication, /nomination, /crsreport, and /treaty. Sub-resource endpoints under several of these, such as actions, amendments, cosponsors, related bills, subjects, summaries, text, and titles on bills, are on the roadmap but not yet implemented.
How to install
Via Smithery:
npx -y @smithery/cli install @AshwinSundar/congress_gov_mcp --client claude
Or manually, requiring uv and a free Congress.gov API key:
git clone http://github.com/AshwinSundar/congress_gov_mcp
cd congress_gov_mcp
uv sync
cp .env.template .env
Then add CONGRESS_GOV_API_KEY to the .env file and configure Claude Desktop or Claude Code to run uv run server.py with the absolute path to the cloned repo.
Who it's for
Journalists, researchers, and civically engaged users who want to query bills, members, votes, and committee activity directly from Congress.gov's own data instead of secondhand reporting.
Source README
Congress.gov MCP server
Ever wonder what our (US) Congress is up to? Tired of reading the news to find out? Ask the US Congress API yourself.
Unofficial MCP server for the Congress.gov API
Installation
Installing via Smithery
To install congress_gov_mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @AshwinSundar/congress_gov_mcp --client claude
Manual Installation
Prerequisites
Install uv. The easiest way on macOS and Linux is:
curl -LsSf https://astral.sh/uv/install.sh | shGet a Congress.gov API key.
Install Claude Desktop, Claude Code, or another client that supports MCP Integrations
Initial Setup
Complete Prerequisites
Clone this repository, and
cdin:git clone http://github.com/AshwinSundar/congress_gov_mcpcd congress_gov_mcpInstall dependencies:
uv syncCreate a
.envfile from the template:cp .env.template .envAdd your Congress.gov API key to the
.envfile:
congress_gov_mcp/.env
CONGRESS_GOV_API_KEY="your-api-key-here"
Client Configuration
Claude Desktop
Complete Prerequisites
Copy the absolute path to your
uvinstallation:
which uv
Add the following to your Claude Desktop configuration file, inside the
mcpServersblock:macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"congress_gov_mcp": {
"command": "/absolute_path/to/uv",
"args": [
"run",
"/absolute_path_to/congress_gov_mcp/server.py"
]
}
}
}
Claude Code
Complete Prerequisites
Add the following to
.mcp.jsonin the directory you are running Claude Code in, inside themcpServersblock:
{
"mcpServers": {
"congress_gov_mcp": {
"command": "uv",
"args": [
"run",
"/absolute_path_to/congress_gov_mcp/server.py"
]
}
}
}
Roadmap
- api.congress.gov
- /bill
- /{congress}
- /{congress}/{billType}
- /{congress}/{billType}/{billNumber}
- /actions
- /amendments
- /committees
- /cosponsors
- /relatedbills
- /subjects
- /summaries
- /text
- /titles
- /amendment
- /{congress}
- /{congress}/{amendmentType}
- /{congress}/{amendmentType}/{amendmentNumber}
- /actions
- /cosponsors
- /amendments
- /text
- /summaries
- /{congress}
- /{congress}/{billType}
- /congress
- /{congress}
- /current
- /member
- /{bioguideId}
- /sponsored-legislation
- /cosponsored-legislation
- /{bioguideId}
- /committee
- /{systemCode}
- /bills
- /reports
- /nominations
- /meetings
- /hearings
- /house-communication
- /senate-communication
- /{systemCode}
- /committee-report
- /{congress}
- /{congress}/{reportType}
- /{congress}/{reportType}/{reportNumber}
- /text
- /committee-print
- /{congress}
- /{congress}/{printType}
- /{congress}/{printType}/{printNumber}
- /text
- /committee-meeting
- /{congress}
- /{congress}/{chamber}
- /meetings
- /hearing
- /{congress}
- /{congress}/{chamber}
- /{congress}/{chamber}/{hearingNumber}
- /house-vote
- /{congress}
- /{congress}/{session}
- /{congress}/{session}/{rollCallNumber}
- /congressional-record
- /{volume}
- /{volume}/{pagePrefix}
- /{volume}/{pagePrefix}/{pageNumber}
- /daily-congressional-record
- /{volume}
- /{volume}/{issue}
- /bound-congressional-record
- /{year}
- /{year}/{month}
- /{year}/{month}/{day}
- /house-communication
- /{congress}
- /{congress}/{communicationType}
- /{congress}/{communicationType}/{communicationNumber}
- /house-requirement
- /{congress}
- /{congress}/{requirementNumber}
- /senate-communication
- /{congress}
- /{congress}/{communicationType}
- /{congress}/{communicationType}/{communicationNumber}
- /nomination
- /{congress}
- /{congress}/{nominationNumber}
- /actions
- /hearings
- /crsreport
- /{productCode}
- /treaty
- /{congress}
- /{congress}/{treatyNumber}
- /actions
- /committees
- /bill
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.