Usa Spending について
Usa Spending は、米国の連邦支出を調べるための、USASPENDING.gov に接続するステートレス MCP サーバーです。機関、受給者、期間、助成金などで公式データを絞り込み、集計できます。
主な機能
- 01機関別の支出検索
- 02期間ごとの支出推移
- 03助成金と受給者の絞り込み
- 04予算資源と会計の確認
活用シーン
- 01期間ごとの連邦支出の比較
- 02機関の資金使用状況の確認
- 03特定の助成金や受給者の検索
MCP 対応
USASPENDING.gov のデータを調べるツールを MCP クライアントに公開します。支出集計、助成金の絞り込み、受給者、連邦会計などを扱います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
USA Spending MCP サーバー
これは、政府支出データの公式情報源であるUSASPENDING.govと連携する、ステートレスなストリーム可能 HTTP MCP サーバーです。 政府支出の推移を追跡したり、政府機関別に政府支出を検索したり、地域社会への政府支出を調べたり、さまざまなことができます。 この API で実現できることの概要を知りたい場合は、USASPENDING.gov が提供する便利なダッシュボードで、API の機能を確認できます。 API のドキュメントは、このURLで確認できます。
ローカルでの実行
uv run src/server.py
PyPi からの実行
uvx --from usaspending-mcp-server@latest usaspending-mcp-server
Docker からの実行
docker build -t usaspending-mcp-server .
docker run -p 8000:8000 usaspending-mcp-server
Claude Desktop での使用
claude_desktop_config.json を次の設定で更新します。 上記の方法のいずれかを使って、MCP サーバーが実行中であることを確認してください。
{
"mcpServers": {
"usaspending": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8000/mcp"
]
}
}
}
設定オプション
MCP サーバーの実行先のホストとポートをカスタマイズするために、次の環境変数または .env 変数を使用できます。
MCP_SERVER_HOST
MCP_SERVER_PORT
ツール
| 名前 | 説明 | プロンプトの例 |
|---|---|---|
| federal_accounts | 各省庁がプログラム、プロジェクト、活動を実施するために、議会からの資金をどのように受け取り、支出するのかを詳しく把握するために使用します。 | - 国土安全保障省の支出について詳しく教えてください。 |
| list_budget_functions | タイトル順に並べた、すべての予算機能のリストを取得します。 | - 地域社会・地域開発と国際関係に、政府はいくら支出していますか? |
| major_object_class | 特定の省庁がどのような項目に支出しているのかを詳しく把握するために使用できます。 | - 教育省は従業員の給与と福利厚生にいくら支出していますか? |
| recipient | 特定の受領者に関する政府支出を可視化するために使用できます。受領者の一覧と、そのレベル、DUNS、UEI、金額を返します。 | - NSA から資金提供を受けた企業をいくつか挙げてください。 |
| spending | 詳細度別にデータの特定の部分集合を掘り下げて調べるために使用できます。このデータは、指定した期間中のすべての政府支出を、選択したデータの種類ごとにグループ化したものです。 | - 一般科学、宇宙、技術に関する省庁別の支出を教えてください。 |
| spending_by_award | 支出データの特定の部分集合を複雑な条件で絞り込めます。フィルターとフィールドを指定すると、絞り込んだ受賞データのフィールドを返します。 | - 2025 年で最も金額の大きい受賞は何でしたか? - リンゼー・グラムの選挙区で大規模な連邦契約を受注した企業をいくつか挙げてください。 |
| spending_over_time | 期間ごとに集計した受賞金額の一覧を、古い順に返します。 | - 過去 5 年間で、カリフォルニア州への支出はどのように変化しましたか? |
| subawards | 絞り込んだサブアワードの一覧を返します。 | - CONT_AWD_FA870221C0001_9700_-NONE-_-NONE- に関するサブアワードをいくつか説明し、それらの理由を示してください。 |
| total_budgetary_resources | 政府の連邦予算資源に関する情報を提供します。 | - 2025 年と 2024 年の政府予算はいくらでしたか? - 連邦政府は、さまざまな政府機関に合計でいくら資金を提供していますか? |
| toptier_agencies | 特定の省庁がどのような項目に支出しているのかを詳しく把握するために使用できます。 | - 最も多くの資金を受け取っている連邦機関はどこですか? |
tools ディレクトリの説明
各ツールは基本的に API ルートのラッパーであるため、各ツールは usaspending-api の api_contracts ディレクトリの構造に沿ってマッピングされています。 ただし、ツール federal_accounts、recipient、spending、subawards の API マッピングには、ルートディレクトリの api_contracts/v2 にあるコントラクトが使用されています。 各ツールには md ファイルがあり、そのツールの作成に使用したドキュメントを簡単に参照できます。 これらのコントラクトが usaspending-api で更新されることはほとんどありませんが、最新であることを確認するため、引き続きチェックを行ってください。 現在、すべてのコントラクト(API ドキュメントとも呼ばれます)は、usaspending-api のコミット dv551d0 を参照しています。
テスト
M C P Inspector は、LLM に接続せずに入力スキーマと出力スキーマをテストするのに適した方法です。 OpenAI を使用してアプリケーションをテストするためのサンプル MCP クライアントもあります。 また、ツールハンドラー、入出力スキーマ、USASpending API への HTTP 呼び出しに焦点を当てたさまざまなユニットテストもあります。 次のコマンドで実行できます。
uv run pytest
コントリビュート
変更を提出する前にテストするための出発点として、テストセクションを参照してください。
新しいツールを追加する場合は、inputSchema と outputSchema の作成時に参照した該当コントラクトのコピーも追加してください。
ツールは、usaspending_api の contacts ディレクトリにあるものと同じパスに追加してください。
ファイル名の規則については、コントラクトのファイル名を参照し、ツールにも同じ名前を付けてください。
たとえば、v2/disaster/spending_by_geography.md API ルート用のツールを作成する場合、そのツールは tools/v2/disaster/spending_by_geography.py のパスに追加し、ツール名は disaster_spending_by_geography とします。
これに異議がある場合は、完全無欠な方法ではないため、PR で理由を説明してください!
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。