U.S. Government Open Data について
U.S. Government Open Data は、40 以上のアメリカ政府 API を対象とする 300 以上のツールを提供する MCP サーバー兼 TypeScript SDK です。経済、財政、健康、立法、エネルギー、災害などのデータを扱い、20 以上の API は キーなしで利用できます。各 API は MCP を介さず、型付きクライアントとして単独でも使用できます。
主な機能
- 0140 以上の政府 API にまたがる 300 以上のツール
- 02モジュールやドメイン単位の選択的な読み込み
- 034 つの検索ツールを公開するディスカバリーモード
- 04各結果に含まれる上流 API リクエストの出典
- 05単独で使える型付き TypeScript SDK
- 06ディスクキャッシュ、レート制限、リトライ
活用シーン
- 01GDP、失業率、インフレ率などのマクロ経済指標の取得
- 02FDA の有害事象、ロビー活動支出、政治献金データの横断的な照会
- 03すべてのツールを読み込まずに必要な政府データを検索
MCP 対応
本プロジェクトは MCP サーバーとして動作し、各政府 API のツールを stdio または HTTP Stream 経由で MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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'、直近 5 年は 'LAST5'、または特定の年を指定します。デフォルト: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 分もかからずに取得できる無料のキーを使用します
はじめに · API リファレンス · ドキュメント
機能
- 300 以上のツールで 40 以上の政府 API に対応 — 経済、医療、立法、金融、環境など
- 相互参照 — 組み込みの指示により、LLM が複数機関のデータを組み合わせられます(例:FDA の有害事象 + ロビー活動への支出 + 選挙運動への寄付)
- コードモード — WASM でサンドボックス化された JavaScript の実行により、大きなレスポンスでのコンテキストウィンドウの使用量を 98〜100% 削減します
- 選択的な読み込み — 必要なモジュールやドメインのみを読み込みます:
--modules fred,treasury,congressまたは--domains economy,health - 検出モード —
--tool-mode discoveryでは 350 個ではなく 4 個のツールを一覧表示し、モデルが必要なツールを検索します - すべての結果にソースを表示 —
meta.sourcesに、各回答の基となった上流 API リクエストを一覧表示します - デュアルトランスポート — デスクトップクライアント向けの stdio、Web/リモート向けの HTTP Stream(ループバック以外ではベアラートークン認証)
- 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、失業率、インフレ率、金利を教えてください。」
医療:「臨床試験、FDA の報告、医師への製薬会社からの支払いを含め、Ozempic の有害事象の状況を教えてください。」
立法:「インフレ抑制法について、何がありましたか? 誰が提出し、政党別の投票結果はどうなりましたか?」
資金の流れ:「上院銀行委員会の委員に寄付した銀行関連の 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 を随所で使用しています。これにより、これほど広範囲をカバーし、従来なら実現が難しかった速さで人々が政府データにアクセスできるようになります。正確性を確保するためにあらゆる努力をしていますが、一部のエンドポイントでは予期しない結果が返されたり、パラメーターの対応が不十分だったり、ドキュメントの記載とは異なる動作をしたりする場合があります。
これはコミュニティ主導の取り組みです。問題や改善できる点を見つけた場合は、issue の作成または PR の提出をお願いします。エッジケースの修正、スキーマの正確性向上、対応範囲の拡大につながる貢献を特に歓迎します。米国政府のデータを、できる限りアクセスしやすく信頼性の高いものにすることが目標です。
すべてのデータは、米国政府および国際機関の公式 API から取得しています。このサーバーがデータを生成、変更、または論評することはありません。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。