Access 91+ congressional data tools via Claude, Cursor, VS Code, and other MCP clients
Project description
CongressMCP
91+ congressional data tools for Claude, Cursor, VS Code, and any MCP client.
Access live U.S. Congressional data — bills, votes, members, committees, hearings, and more — through natural language via the Model Context Protocol.
Quick Start
1. Get a free Congress.gov API key
Sign up at api.congress.gov/sign-up (takes 30 seconds, completely free).
2. Configure your MCP client
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": {
"CONGRESS_API_KEY": "your-api-key-here"
}
}
}
}
VS Code — add to .vscode/mcp.json:
{
"servers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": {
"CONGRESS_API_KEY": "your-api-key-here"
}
}
}
}
Cursor — add to ~/.cursor/mcp.json using the same format as VS Code.
3. Start asking questions
"Find recent climate change bills in the 119th Congress" "How did senators from California vote on the latest defense bill?" "Who are the members of the Senate Judiciary Committee?" "What's the latest action on H.R. 1234?"
Tools
6 toolsets, 91+ operations covering all Congress.gov API endpoints:
| Toolset | Operations | What it does |
|---|---|---|
| Bills | 16 | Search, details, text, actions, amendments, cosponsors, subjects |
| Amendments | 7 | Search, details, actions, sponsors, text |
| Treaties & Summaries | 5 | Treaty search, actions, committees, text; bill summaries |
| Members & Committees | 13 | Member search by name/state/district, sponsored legislation, committee bills/reports |
| Voting & Nominations | 13 | House/Senate votes, nominations, roll calls |
| Records & Hearings | 10+ | Congressional Record, hearings, CRS reports, committee prints |
Running from source
git clone https://github.com/amurshak/congressMCP
cd congressMCP
pip install -e .
# stdio (default — for MCP clients)
CONGRESS_API_KEY=your-key congressmcp
# HTTP (for self-hosting / remote access)
congressmcp --transport streamable-http --port 8000
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
CONGRESS_API_KEY |
Yes | — | Your free Congress.gov API key |
MCP_TRANSPORT |
No | stdio |
Transport mode (stdio or streamable-http) |
ENABLE_CACHING |
No | false |
Cache API responses in memory |
CACHE_TIMEOUT |
No | 300 |
Cache TTL in seconds |
Contributing
- Fork the repository
- Create a feature branch
- Submit a pull request
License
MIT
Built for government transparency and accessible civic data.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file congressmcp-2.0.0.tar.gz.
File metadata
- Download URL: congressmcp-2.0.0.tar.gz
- Upload date:
- Size: 141.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6f9ad55b6918e4d1b5dfdf48b9bba4577c6dd814ea324e94d03281e48f9e83c
|
|
| MD5 |
2325563a6df1dad6808a8994f873c391
|
|
| BLAKE2b-256 |
72ed1f3678a2b502b561e4f802b577fb1b156bd9e8fd7f4c99da5cef59873452
|
Provenance
The following attestation bundles were made for congressmcp-2.0.0.tar.gz:
Publisher:
publish.yml on amurshak/congressMCP
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
congressmcp-2.0.0.tar.gz -
Subject digest:
c6f9ad55b6918e4d1b5dfdf48b9bba4577c6dd814ea324e94d03281e48f9e83c - Sigstore transparency entry: 1097033898
- Sigstore integration time:
-
Permalink:
amurshak/congressMCP@bd2e3e7f524d2ccc8f01c78282c2e34f066ec3f0 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/amurshak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bd2e3e7f524d2ccc8f01c78282c2e34f066ec3f0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file congressmcp-2.0.0-py3-none-any.whl.
File metadata
- Download URL: congressmcp-2.0.0-py3-none-any.whl
- Upload date:
- Size: 161.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad2d9bca8a9344dbecfd9f94ae5f8b9cc6ef8670b2c3e2263c8c4de05cb35243
|
|
| MD5 |
0b088f0288729c2c9427ad03c81da044
|
|
| BLAKE2b-256 |
f4bd393491681f990bf470a3ac008de098778d69421586d15cc99015c5929a6e
|
Provenance
The following attestation bundles were made for congressmcp-2.0.0-py3-none-any.whl:
Publisher:
publish.yml on amurshak/congressMCP
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
congressmcp-2.0.0-py3-none-any.whl -
Subject digest:
ad2d9bca8a9344dbecfd9f94ae5f8b9cc6ef8670b2c3e2263c8c4de05cb35243 - Sigstore transparency entry: 1097033901
- Sigstore integration time:
-
Permalink:
amurshak/congressMCP@bd2e3e7f524d2ccc8f01c78282c2e34f066ec3f0 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/amurshak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bd2e3e7f524d2ccc8f01c78282c2e34f066ec3f0 -
Trigger Event:
release
-
Statement type: