关于 US Government Open Data MCP
US Government Open Data MCP 是一个 MCP 服务,提供 188 个工具(README 其他位置称 300 多个),用于访问 36 个美国政府 API 的数据。它还附带 TypeScript SDK,可在不使用 MCP 的情况下直接调用各 API,适合需要跨机构数据分析的用户。
主要功能
- 01覆盖经济、卫生、立法、环境等多领域数据源
- 02支持跨机构数据交叉引用的指引
- 03提供代码模式以减少大响应的上下文占用
- 04可按模块或领域选择加载的工具
- 05提供发现模式,按需搜索工具
- 06附带可独立使用的 TypeScript SDK
适用场景
- 01查询 GDP、失业率和利率等宏观经济指标
- 02结合 FDA 不良事件与游说支出数据进行分析
- 03在不启动 MCP 的情况下通过 SDK 调用政府 API
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露来自多个美国政府 API 的工具,支持 stdio 与 HTTP Stream 两种传输方式。
详细介绍
美国政府开放数据 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。