Congress.gov Mcp Server

by AshwinSundar

188 downloads
Not rated
GitHub

About

This is an MCP Server that programmatically fetches data from api.congress.gov. Ever wonder what our (US) Congress is up to? Tired of reading the news to find out? Ask the US Congress API yourself, with this server.

Details

Author
AshwinSundar
Downloads
188
Categories
Search, Other, API

- List and search bills by Congress, type, and number
- Retrieve member details by Bioguide ID
- Access committee reports, prints, and meetings
- Query house and senate votes, communications, and nominations
- Read Congressional Record entries by volume and page
- Pull CRS reports and treaty information
- Fetch House and Senate hearings and requirements

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Congress.gov Mcp Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies with uv sync, obtain a free Congress.gov API key, and add it to a .env file. Then configure an MCP client (e.g., Claude Desktop or Claude Code) to launch server.py via uv run, pointing to the .env file.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "congress.gov mcp server": {
            "congress_gov_mcp": {
                "command": "/absolute_path/to/uv",
                "args": [
                    "run",
                    "--env-file",
                    "/absolute_path/to/congress_gov_mcp/.env",
                    "/absolute_path_to/congress_gov_mcp/server.py"
                ]
            }
        }
    }
}

McpServers

{
    "congress_gov_mcp": {
        "command": "/absolute_path/to/uv",
        "args": [
            "run",
            "--env-file",
            "/absolute_path/to/congress_gov_mcp/.env",
            "/absolute_path_to/congress_gov_mcp/server.py"
        ]
    }
}

<span>Congress.gov</span> 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

Prerequisites

1. Install uv. The easiest way on macOS and Linux is:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
2. Get a Congress.gov API key.

Initial Setup

1. Complete Prerequisites
2. Clone this repository, and cd in:

    git clone http://github.com/AshwinSundar/congress_gov_mcp
    
    cd congress_gov_mcp
    

3. Install dependencies:

    uv sync
    

3. Create a .env file from the template:

    cp .env.template .env
    

4. Add your Congress.gov API key to the .env file:

><u>congress_gov_mcp/.env</u>
>

>CONGRESS_GOV_API_KEY="your-api-key-here"
>

Client Configuration

Claude Desktop

1. Complete Prerequisites

2. Copy the absolute path to your uv installation:

which uv
2. Add the following to your Claude Desktop configuration file, inside the mcpServers block:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "congress_gov_mcp": {
      "command": "/absolute_path/to/uv",
      "args": [
        "run",
        "--env-file",
        "/absolute_path/to/congress_gov_mcp/.env",
        "/absolute_path_to/congress_gov_mcp/server.py"
      ]
    }
  }
}

Claude Code

1. Complete Prerequisites

2. Add the following to .mcp.json in the directory you are running Claude Code in, inside the mcpServers block:

{
  "mcpServers": {
    "congress_gov_mcp": {
      "command": "uv",
      "args": [
        "run",
        "--env-file",
        "/absolute_path/to/congress_gov_mcp/.env",
        "/absolute_path_to/congress_gov_mcp/server.py"
      ]
    }
  }
}

Roadmap

- [x] api.congress.gov
- [x] /bill
- [x] /{congress}
- [x] /{congress}/{billType}
- [x] /{congress}/{billType}/{billNumber}
- [ ] /actions
- [ ] /amendments
- [ ] /committees
- [ ] /cosponsors
- [ ] /relatedbills
- [ ] /subjects
- [ ] /summaries
- [ ] /text
- [ ] /titles
- [x] /amendment
- [x] /{congress}
- [x] /{congress}/{amendmentType}
- [x] /{congress}/{amendmentType}/{amendmentNumber}
- [ ] /actions
- [ ] /cosponsors
- [ ] /amendments
- [ ] /text
- [x] /summaries
- [x] /{congress}
- [x] /{congress}/{billType}
- [x] /congress
- [x] /{congress}
- [ ] /current
- [x] /member
- [x] /{bioguideId}
- [ ] /sponsored-legislation
- [ ] /cosponsored-legislation
- [x] /committee
- [x] /{systemCode}
- [ ] /bills
- [ ] /reports
- [ ] /nominations
- [ ] /meetings
- [ ] /hearings
- [ ] /house-communication
- [ ] /senate-communication
- [x] /committee-report
- [x] /{congress}
- [x] /{congress}/{reportType}
- [x] /{congress}/{reportType}/{reportNumber}
- [ ] /text
- [x] /committee-print
- [x] /{congress}
- [x] /{congress}/{printType}
- [x] /{congress}/{printType}/{printNumber}
- [ ] /text
- [x] /committee-meeting
- [x] /{congress}
- [x] /{congress}/{chamber}
- [ ] /meetings
- [x] /hearing
- [x] /{congress}
- [x] /{congress}/{chamber}
- [x] /{congress}/{chamber}/{hearingNumber}
- [x] /house-vote
- [x] /{congress}
- [x] /{congress}/{session}
- [x] /{congress}/{session}/{rollCallNumber}
- [x] /congressional-record
- [x] /{volume}
- [x] /{volume}/{pagePrefix}
- [x] /{volume}/{pagePrefix}/{pageNumber}
- [x] /daily-congressional-record
- [x] /{volume}
- [x] /{volume}/{issue}
- [x] /bound-congressional-record
- [x] /{year}
- [x] /{year}/{month}
- [x] /{year}/{month}/{day}
- [x] /house-communication
- [x] /{congress}
- [x] /{congress}/{communicationType}
- [x] /{congress}/{communicationType}/{communicationNumber}
- [x] /house-requirement
- [x] /{congress}
- [x] /{congress}/{requirementNumber}
- [x] /senate-communication
- [x] /{congress}
- [x] /{congress}/{communicationType}
- [x] /{congress}/{communicationType}/{communicationNumber}
- [x] /nomination
- [x] /{congress}
- [x] /{congress}/{nominationNumber}
- [ ] /actions
- [ ] /hearings
- [x] /crsreport
- [x] /{productCode}
- [x] /treaty
- [x] /{congress}
- [x] /{congress}/{treatyNumber}
- [ ] /actions
- [ ] /committees

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.