Open data from 40+ U.S. government APIs: economy, spending, Congress, health, energy, disasters
MCP Server + TypeScript SDK for 40+ U.S. Government APIs
300+ tools covering economic, fiscal, health, education, energy, environment, lobbying, housing, patents, safety, banking, consumer protection, workplace safety, transportation, seismic, clinical trials, pharma payments, research funding, procurement, and legislative data.
20+ APIs require no key · The rest use free keys that take under a minute to get
--modules fred,treasury,congress or --domains economy,health--tool-mode discovery lists 4 tools instead of 350; the model searches for the one it needsmeta.sources lists the upstream API requests behind each answerRequires Node.js 22 or later.
npx us-gov-open-data-mcp
Add to .vscode/mcp.json for VS Code / Copilot:
{
"servers": {
"us-gov-open-data": {
"command": "npx",
"args": ["-y", "us-gov-open-data-mcp"],
"env": {
"FRED_API_KEY": "your_key",
"DATA_GOV_API_KEY": "your_key"
}
}
}
}
Add to claude_desktop_config.json for Claude Desktop:
{
"mcpServers": {
"us-gov-open-data": {
"command": "npx",
"args": ["-y", "us-gov-open-data-mcp"],
"env": {
"FRED_API_KEY": "your_key",
"DATA_GOV_API_KEY": "your_key"
}
}
}
}
Once connected, ask your AI assistant natural language questions:
Economic: "What's the current state of the U.S. economy? Show me GDP, unemployment, inflation, and interest rates."
Health: "Show me the adverse event profile for Ozempic including clinical trials, FDA reports, and pharma payments to doctors."
Legislative: "What happened with the Inflation Reduction Act? Who sponsored it, how did the vote break down by party?"
Follow the money: "Which banking PACs gave money to members of the Senate Banking Committee, and how did those members vote on banking deregulation?"
Cross-reference: "How has federal spending on healthcare changed over the last 5 years, and what health outcomes has it produced?"
npm install us-gov-open-data-mcp
import { getObservations } from "us-gov-open-data-mcp/sdk/fred";
import { searchBills } from "us-gov-open-data-mcp/sdk/congress";
const gdp = await getObservations("GDP", { sort: "desc", limit: 5 });
No MCP server required. All functions include caching, retry, and rate limiting.
Full documentation at lzinga.github.io/us-gov-open-data-mcp
| Getting Started | MCP setup, SDK install, client configs |
| API Keys | Which APIs need keys, where to get them |
| Data Sources | All 40+ APIs grouped by category |
| API Reference | Auto-generated from TypeScript — every function and type |
| Examples | SDK code, MCP prompts, analysis showcases |
| Architecture | How the system works |
| Adding Modules | Add a new API — just create a folder |
| Category | APIs |
|---|---|
| Economic | Treasury, FRED, BLS, BEA, EIA |
| Legislative | Congress.gov, Federal Register, GovInfo, Regulations.gov |
| Financial | FEC, Senate Lobbying, SEC, FDIC, CFPB |
| Spending & Procurement | USAspending, Open Payments, GSA CALC+ |
| Health & Safety | CDC, FDA, CMS, ClinicalTrials.gov, NIH, NHTSA, DOL |
| Environment & Weather | EPA, EPA AQS, NOAA, NWS, NREL, USGS |
| Justice | FBI Crime Data, DOJ News |
| Education & Research | NAEP, College Scorecard, USPTO |
| Demographics | Census, HUD, FEMA |
| Other | BTS, USDA NASS, USDA FoodData, World Bank |
This project integrates a significant number of government APIs, many of which have large, complex, or inconsistently documented schemas. AI is used as a tool throughout this project to help parse API documentation, generate type definitions, and scaffold tool implementations — making it possible to cover this much surface area and get people access to government data faster than would otherwise be feasible. While every effort has been made to ensure accuracy, some endpoints may return unexpected results, have incomplete parameter coverage, or behave differently than documented.
This is a community-driven effort — if you find something that's broken or could be improved, please open an issue or submit a PR. Contributions that fix edge cases, improve schema accuracy, or expand coverage are especially welcome. The goal is to make U.S. government data as accessible and reliable as possible, together.
All data is sourced from official U.S. government and international APIs — the server does not generate, modify, or editorialize any data.
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y us-gov-open-data-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-lzinga-us-gov-open-data-mcp": {
"command": "npx",
"args": [
"-y",
"us-gov-open-data-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceU.S. Government Open Data works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.