home / mcp / opendiscourse mcp server

OpenDiscourse MCP Server

Provides access to GovInfo and Congress.gov data, bulk ingestion, and AI-driven code reviews via an MCP server.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cbwinslow-opendiscourse_mcp": {
      "command": "node",
      "args": [
        "/path/to/opendiscourse_mcp/src/index.js"
      ],
      "env": {
        "GOVINFO_API_KEY": "YOUR_GOVINFO_API_KEY",
        "CONGRESS_API_KEY": "YOUR_CONGRESS_API_KEY"
      }
    }
  }
}

OpenDiscourse MCP provides server-side access to GovInfo and Congress.gov data, with automated bulk data ingestion and AI-powered code review capabilities. It enables you to query extensive legislative and governmental information, ingest large data sets, and run multi-agent AI reviews to improve code quality and security.

How to use

You run a local MCP server and connect your client or assistant to it via a local stdio interface. The server exposes a suite of data endpoints for GovInfo and Congress.gov, supports bulk data ingestion, and provides AI-driven code review capabilities. You can start by launching the MCP server, then use your client to request documents, bills, members, and other government data, or trigger ingestion and AI reviews from your automation scripts.

How to install

Prerequisites you need before installation are in place to run the MCP server and its tooling.

# Prerequisites
node -v
npm -v
python3 --version
postgres --version
bw --version

# Clone the project
git clone https://github.com/cbwinslow/opendiscourse_mcp.git
cd opendiscourse_mcp

# Install Node.js dependencies
npm install

# Install Bitwarden CLI
npm install -g @bitwarden/cli

# Set up the database
./scripts/setup_database.sh

# Set up API keys with Bitwarden
python3 scripts/setup_bitwarden.py

# Start the MCP server
npm start

Configuration and usage notes

Set up API keys and environment variables to enable data access and secure operation.

{
  "mcpServers": {
    "opendiscourse": {
      "command": "node",
      "args": ["/path/to/opendiscourse_mcp/src/index.js"],
      "env": {
        "GOVINFO_API_KEY": "your_govinfo_key",
        "CONGRESS_API_KEY": "your_congress_key"
      }
    }
  }
}

Security and observability

The MCP server includes an AI code review suite with specialized agents for security, performance, quality, and documentation reviews. Observability is supported through Langfuse integration to provide monitoring and tracing of the review pipelines.

API coverage and data ingestion

GovInfo and Congress.gov data endpoints span bills, records, nominations, and legislative activities, along with bulk data ingestion for historical and comprehensive access. Ingestion supports 113th–123rd Congress (2013–2024), parallel processing with 50 workers, XML validation, resume-on-skip, and progress reporting.

Claude Desktop integration example

To connect Claude Desktop to the MCP server, add a configuration entry with the runtime command and API keys as environment variables.

{
  "mcpServers": {
    "opendiscourse": {
      "command": "node",
      "args": ["/path/to/opendiscourse_mcp/src/index.js"],
      "env": {
        "GOVINFO_API_KEY": "your_govinfo_key",
        "CONGRESS_API_KEY": "your_congress_key"
      }
    }
  }
}

Available tools

govinfo_list_collections

List GovInfo collections updated since a specific date.

govinfo_get_package

Get detailed information about a GovInfo package.

govinfo_list_granules

List granules within a GovInfo package.

govinfo_get_granule

Get detailed information about a GovInfo granule.

govinfo_download_content

Download content such as PDF, XML, or HTML from GovInfo.

congress_get_bill

Get detailed information about a Congress.gov bill.

congress_search_bills

Search for bills by text query on Congress.gov.

congress_get_bill_actions

Get legislative actions for a Congress.gov bill.

congress_get_bill_text

Get full text of a Congress.gov bill.

congress_search_members

Search for members of Congress.

congress_get_member

Get detailed information about a Congress member.

congress_get_committee_meetings

Get committee meetings data from Congress.gov.

congress_get_nominations

Get presidential nominations data from Congress.gov.

run_comprehensive_ingestion

Run comprehensive GovInfo bulk data ingestion.

ingest_all_govinfo

Ingest all GovInfo data for specified congress and document types.

security_review_crew

Security review of code and configurations.

performance_review_crew

Performance bottleneck analysis and optimization suggestions.

quality_review_crew

Quality assessment of code, tests, and architecture.

documentation_review_crew

Documentation quality review and improvements.

code_review_crew

Original comprehensive code review.

test_bitwarden

Test Bitwarden integration for API key management.

setup_bitwarden

Set up API keys from Bitwarden into the environment.