US Government Open Data MCP について
US Government Open Data MCP は、米国政府の複数の API からデータを取得するための MCP サーバーであり、TypeScript SDK も提供します。経済、保健、立法、金融などのデータを一つのアシスタントセッションで組み合わせたい利用者に向いています。一部の API はキー不要です。
主な機能
- 01経済、保健、立法、環境など複数分野のデータソース
- 02複数機関のデータを組み合わせる指示
- 03大きな応答でコンテキスト使用量を抑えるコードモード
- 04モジュールやドメイン単位の選択的な読み込み
- 05必要なツールを検索する発見モード
- 06MCP を使わずに利用できる型付き TypeScript SDK
活用シーン
- 01GDP、失業率、金利などのマクロ経済指標の取得
- 02FDA の有害事象データとロビー活動支出の比較
- 03MCP を介さず TypeScript から政府 API を呼び出す処理
MCP 対応
本プロジェクトは、多数の米国政府 API のツールを MCP クライアントに公開する MCP サーバーです。デスクトップクライアント向けの stdio と、Web やリモート向けの HTTP Stream に対応しています。
詳細
米国政府オープンデータ 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 つのサーバーを複数のクライアントで再利用できます。