关于 U.S. Government Open Data
U.S. Government Open Data 是一个 MCP 服务兼 TypeScript SDK,可访问 40 多个美国政府 API 的 300 多个工具,涵盖经济、财政、健康、立法、能源和灾害等数据。其中 20 多个 API 无需密钥。它还可以作为独立的类型化客户端单独使用。
主要功能
- 01覆盖 40 多个政府 API 的 300 多个工具
- 02按模块或领域选择性加载
- 03发现模式仅暴露 4 个工具
- 04每个结果附带上游请求来源
- 05提供可独立使用的 TypeScript SDK
- 06磁盘缓存与限流重试
适用场景
- 01查询 GDP、失业率、通胀等宏观经济指标
- 02对比 FDA 不良事件、游说支出和政治献金等跨机构数据
- 03在不加载全部工具的情况下按需检索政府数据
MCP 相关
该项目以 MCP 服务形式运行,向 MCP 客户端暴露来自各政府 API 的工具,支持 stdio 与 HTTP Stream 两种传输方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y us-gov-open-data-mcpDATA_GOV_API_KEY密钥api.data.gov key, shared by Congress, FEC, GovInfo, FBI, NREL, Regulations.gov, College Scorecard, USDA FoodData, openFDA and USGS WaterFRED_API_KEY密钥FRED (Federal Reserve Economic Data) API keyCENSUS_API_KEY密钥Census Bureau API keyBLS_API_KEY密钥Bureau of Labor Statistics API key (optional; raises rate limits)BEA_API_KEY密钥Bureau of Economic Analysis API keyEIA_API_KEY密钥Energy Information Administration API keyNOAA_API_KEY密钥NOAA Climate Data Online token (station climate data works without it)USDA_NASS_API_KEY密钥USDA NASS Quick Stats API keyHUD_USER_TOKEN密钥HUD User API tokenDOL_API_KEY密钥Department of Labor API keyUSPTO_API_KEY密钥USPTO Open Data Portal API keyLDA_API_KEY密钥Senate Lobbying Disclosure (lda.gov) API key (optional; raises rate limits)AQS_API_KEY密钥EPA Air Quality System API key (used with AQS_EMAIL)AQS_EMAILEmail address registered for the EPA AQS API keySEC_CONTACT_EMAILYour email for the SEC User-Agent; SEC asks automated tools for a contact and may block requests without oneNWS_USER_AGENTUser-Agent for the National Weather Service API, with your contact details (a default is sent otherwise)MODULESComma-separated modules to load (default: all), e.g. 'fred,bls,treasury'DOMAINSComma-separated domains to load, e.g. 'economy,health' (added to MODULES)HIDE_UNCONFIGUREDSet to 1 to skip modules whose required API key is not setTOOL_MODE'full' (every tool) or 'discovery' (find_tools and call_tool only)MAX_RESPONSE_BYTESLargest tool result in bytes before rows are trimmed (default 150000)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
356收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | string | 否 | 要获取的年份。使用 'X' 表示全部年份,'LAST5' 表示最近 5 年,或指定年份。默认值:LAST5 |
| frequency | enum | 否 | 频率:Q=季度(默认),A=年度,M=月度Q | A | M |
| table_name | string | 否 | NIPA 表名称(默认:T10101 — 实际 GDP)。其他选项:T10106(名义 GDP)、T10111(变化百分比)、T20100(个人收入) |
详细介绍
美国政府开放数据 MCP
面向 40+ 个美国政府 API 的 MCP 服务 + TypeScript SDK
300+ 个工具,涵盖经济、财政、健康、教育、能源、环境、游说、住房、专利、安全、银行、消费者保护、工作场所安全、交通、地震、临床试验、制药企业付款、研究资金、政府采购和立法数据。
20+ 个 API 无需密钥 · 其余 API 使用免费密钥,获取时间不到 1 分钟
功能
- 300+ 个工具,覆盖 40+ 个政府 API——经济、健康、立法、金融、环境等领域
- 交叉引用——内置指引可指导大模型组合多个机构的数据(例如,FDA 不良事件 + 游说支出 + 竞选捐款)
- 代码模式——通过 WASM 沙箱执行 JavaScript,在处理大型响应时将上下文窗口用量减少 98-100%
- 选择性加载——仅加载所需的模块或领域:
--modules fred,treasury,congress或--domains economy,health - 发现模式——
--tool-mode discovery仅列出 4 个工具,而不是 350 个;模型会搜索所需的工具 - 每条结果均包含来源——
meta.sources列出每个答案所依据的上游 API 请求 - 双传输方式——桌面客户端使用 stdio,Web/远程连接使用 HTTP Stream(非回环地址需进行 bearer-token 身份验证)
- TypeScript SDK——每个 API 均可作为独立的类型化客户端导入,无需 MCP
- 磁盘缓存——响应缓存到磁盘,重启后仍然保留
- 速率限制 + 重试——采用令牌桶速率限制器,并在遇到 429/503 时进行指数退避
快速入门
MCP 服务
需要 Node.js 22 或更高版本。
npx us-gov-open-data-mcp
在 VS Code / Copilot 中添加到 .vscode/mcp.json:
{
"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"
}
}
}
}
在 Claude Desktop 中添加到 claude_desktop_config.json:
{
"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"
}
}
}
}
示例提示词
连接后,可以用自然语言向 AI 助手提问:
经济:“美国经济目前处于什么状态?请展示 GDP、失业率、通货膨胀和利率数据。”
健康:“请展示 Ozempic 的不良事件概况,包括临床试验、FDA 报告,以及制药企业向医生支付的款项。”
立法:“《通胀削减法案》有哪些进展?谁是提案人?各党派的投票结果如何?”
追踪资金流向:“哪些银行业 PAC 向参议院银行委员会成员捐款?这些成员对银行业放松管制的投票结果如何?”
交叉引用:“过去 5 年联邦医疗支出有何变化?取得了哪些健康成效?”
TypeScript SDK
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 });
无需 MCP 服务。所有函数均包含缓存、重试和速率限制。
文档
完整文档请访问 lzinga.github.io/us-gov-open-data-mcp
| 快速入门 | MCP 设置、SDK 安装、客户端配置 |
| API 密钥 | 哪些 API 需要密钥,以及如何获取 |
| 数据源 | 按类别分组的所有 40 多个 API |
| API 参考 | 根据 TypeScript 自动生成,涵盖每个函数和类型 |
| 示例 | SDK 代码、MCP 提示词、分析示例 |
| 架构 | 系统的工作原理 |
| 添加模块 | 添加新的 API,只需创建一个文件夹 |
数据源
| 类别 | API |
|---|---|
| 经济 | Treasury、FRED、BLS、BEA、EIA |
| 立法 | Congress.gov、Federal Register、GovInfo、Regulations.gov |
| 金融 | FEC、Senate Lobbying、SEC、FDIC、CFPB |
| 支出与采购 | USAspending、Open Payments、GSA CALC+ |
| 健康与安全 | CDC、FDA、CMS、ClinicalTrials.gov、NIH、NHTSA、DOL |
| 环境与天气 | EPA、EPA AQS、NOAA、NWS、NREL、USGS |
| 司法 | FBI Crime Data、DOJ News |
| 教育与研究 | NAEP、College Scorecard、USPTO |
| 人口统计 | Census、HUD、FEMA |
| 其他 | BTS、USDA NASS、USDA FoodData、World Bank |
免责声明
本项目集成了大量政府 API,其中许多 API 的架构庞大、复杂或文档不一致。本项目在各个环节使用 AI 作为工具,协助解析 API 文档、生成类型定义并搭建工具实现,从而能够覆盖如此广泛的内容,并比原本可行的方式更快地让人们获取政府数据。尽管我们已尽力确保准确性,某些端点仍可能返回意外结果、参数覆盖不完整,或与文档描述的行为有所不同。
这是一项由社区推动的工作——如果您发现问题或有改进建议,请提交 issue 或 PR。我们尤其欢迎能够修复边缘情况、提升架构准确性或扩大覆盖范围的贡献。我们的目标是携手让美国政府数据尽可能易于获取且可靠。
所有数据均来自美国政府和国际机构的官方 API——本服务不会生成、修改或对任何数据进行评论。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。