This is a Model Context Protocol (MCP) server designed to provide access to the official Congress.gov API (v3) using a hybrid approach.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"mcp-congress-gov-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
This is a Model Context Protocol (MCP) server designed to provide access to the official Congress.gov API (v3) using a hybrid approach:
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in legal
87 tools for Korean law — statutes, precedents, ordinances, interpretations | MCP Server · CLI · npm
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
AFIP — Argentine tax authority, electronic invoicing (Factura Electrónica)
956k Swiss court decisions: full-text search, citation graph, statute lookup (DE/FR/IT)
MCP Security Weekly
Get CVE alerts and security updates for Mcp Congress_gov_server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
This is a Model Context Protocol (MCP) server designed to provide access to the official Congress.gov API (v3) using a hybrid approach:
congress_search) and retrieving related data lists (congress_getSubResource).This server acts as a bridge, allowing MCP clients (like AI assistants or development tools) to easily query and utilize U.S. legislative data.
/src: Contains all source code.
/config: Configuration management (ConfigurationManager.ts)./services: Core logic for interacting with Congress.gov API (CongressApiService.ts, RateLimitService.ts)./tools: MCP tool definitions (search/, subresource/, index.ts)./types: TypeScript interfaces and Zod schemas./utils: Shared utility functions (logging, errors, etc.).resourceHandlers.ts: Logic for handling core entity resource requests.createServer.ts: Server instance creation, resource and tool registration.server.ts: Main application entry point./dist: Compiled JavaScript output (generated by npm run build)./docs: Project documentation (PRD, Feature Spec, RFCs).package.json: Project metadata and dependencies.tsconfig.json: TypeScript compiler options..eslintrc.json, .prettierrc.json: Linting and formatting rules..env: (Not committed) For storing CONGRESS_GOV_API_KEY.Install Dependencies:
npm install
Set API Key: Create a .env file in the project root and add your Congress.gov API key:
CONGRESS_GOV_API_KEY=YOUR_API_KEY_HERE
(Get a key from https://api.data.gov/signup/)
Build the Server:
npm run build
Run the Server:
npm start
(This runs node dist/server.js)
Alternatively, run in development mode using npm run dev (uses ts-node and nodemon).
Connect your MCP client to the running server (e.g., via stdio if running locally).
Use the access_mcp_resource command/method with the appropriate URI.
Examples:
Get Bill H.R. 3076 (117th Congress):
<access_mcp_resource>
<server_name>congress-server</server_name>
<uri>congress-gov://bill/117/hr/3076</uri>
</access_mcp_resource>
Get Member Pelosi:
<access_mcp_resource>
<server_name>congress-server</server_name>
<uri>congress-gov://member/P000197</uri>
</access_mcp_resource>
Get Info about 118th Congress:
<access_mcp_resource>
<server_name>congress-server</server_name>
<uri>congress-gov://congress/118</uri>
</access_mcp_resource>
Get API Overview:
<access_mcp_resource>
<server_name>congress-server</server_name>
<uri>congress-gov://info/overview</uri>
</access_mcp_resource>
Use the use_mcp_tool command/method.
!!! CRITICAL TOOL WORKFLOW: Finding Entities & Getting Related Data !!!
Many common tasks require a mandatory two-step process using both tools:
congress_search
Purpose: Locate the specific bill, member, committee, etc., you need and extract its unique identifier(s) (e.g., memberId, or the congress, billType, billNumber for a bill URI).
Tool: congress_search
Example: Find member "John Kennedy" (might return multiple results requiring selection):
<use_mcp_tool>
<server_name>congress-server</server_name>
<tool_name>congress_search</tool_name>