by AshwinSundar
congress_gov_mcp is an unofficial Model Context Protocol (MCP) server that provides real-time access to legislative data from the official Congress.gov API. Its main purpose is to enable developers and researchers to programmatically access and analyze comprehensive U.S. congressional information.
congress_gov_mcp is an unofficial Model Context Protocol (MCP) server that allows users to interact with real-time data from the Congress.gov API. The Congress.gov API is the official API for the United States Congress, providing access to legislative information.
There are two primary ways to install and use congress_gov_mcp:
This is the recommended method for automatic installation with Claude Desktop. Run the following command:
npx -y @smithery/cli install @AshwinSundar/congress_gov_mcp --client claude
Prerequisites:
uv
(a Python package installer).Initial Setup:
congress_gov_mcp
repository.uv sync
..env
file from .env.template
..env
file: CONGRESS_GOV_API_KEY="your-api-key-here"
.Client Configuration:
mcpServers
configuration to your claude_desktop_config.json
file, specifying the command
and args
to run the server.py
script using uv
.mcpServers
configuration to your .mcp.json
file, similar to Claude Desktop.Q: What is the Congress.gov API? A: The Congress.gov API is the official API provided by the United States Congress for accessing legislative information.
Q: Do I need an API key to use congress_gov_mcp? A: Yes, you need a Congress.gov API key, which can be obtained from api.congress.gov/sign-up.
Q: What is MCP? A: MCP stands for Model Context Protocol, which is a protocol that allows language models and other clients to interact with external tools and services.
Q: Which clients are supported by congress_gov_mcp? A: congress_gov_mcp is designed to work with MCP-compatible clients such as Claude Desktop and Claude Code.
Q: How can I contribute to congress_gov_mcp? A: The project is open source on GitHub, and contributions are welcome. Refer to the repository for details on contributing.
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
To install congress_gov_mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @AshwinSundar/congress_gov_mcp --client claude
Install uv. The easiest way on macOS and Linux is:
curl -LsSf https://astral.sh/uv/install.sh | sh
Get a Congress.gov API key.
Install Claude Desktop, Claude Code, or another client that supports MCP Integrations
Complete Prerequisites
Clone this repository, and cd
in:
git clone http://github.com/AshwinSundar/congress_gov_mcp
cd congress_gov_mcp
Install dependencies:
uv sync
Create a .env
file from the template:
cp .env.template .env
Add your Congress.gov API key to the .env
file:
congress_gov_mcp/.env
CONGRESS_GOV_API_KEY="your-api-key-here"
Complete Prerequisites
Copy the absolute path to your uv
installation:
which uv
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",
"/absolute_path_to/congress_gov_mcp/server.py"
]
}
}
}
Complete Prerequisites
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",
"/absolute_path_to/congress_gov_mcp/server.py"
]
}
}
}
Reviews feature coming soon
Stay tuned for community discussions and feedback