https://github.com/amurshak/congressmcp
An MCP server allowing AI agents and MCP clients to interface with the Congress.gov API
https://github.com/amurshak/congressmcp
congress government legislation mcp mcp-server modelcontextprotocol policy
Last synced: about 1 month ago
JSON representation
An MCP server allowing AI agents and MCP clients to interface with the Congress.gov API
- Host: GitHub
- URL: https://github.com/amurshak/congressmcp
- Owner: amurshak
- License: other
- Created: 2025-05-21T21:33:29.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2026-03-13T19:51:54.000Z (3 months ago)
- Last Synced: 2026-04-20T03:11:53.957Z (about 2 months ago)
- Topics: congress, government, legislation, mcp, mcp-server, modelcontextprotocol, policy
- Language: Python
- Homepage: https://congressmcp.lawgiver.ai
- Size: 801 KB
- Stars: 28
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://modelcontextprotocol.io/).
## Quick Start
### 1. Get a free Congress.gov API key
Sign up at **[api.congress.gov/sign-up](https://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`:
```json
{
"mcpServers": {
"congressmcp": {
"command": "uvx",
"args": ["congressmcp"],
"env": {
"CONGRESS_API_KEY": "your-api-key-here"
}
}
}
}
```
**VS Code** — add to `.vscode/mcp.json`:
```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
```bash
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
1. Fork the repository
2. Create a feature branch
3. Submit a pull request
## License
Sustainable Use License
---
**Built for government transparency and accessible civic data.**