MCP-FREDAPI について
MCP-FREDAPI は、セントルイス連銀の FRED 経済時系列データを MCP に接続し、MCP 対応環境で経済指標を調べるユーザー向けに提供します。FRED の系列観測エンドポイントを利用し、並び順、単位、頻度などを指定できます。
主な機能
- 01FRED の経済時系列観測値の取得
- 02昇順・降順での並べ替え
- 03データ単位の変換
- 04頻度と集計方法の指定
- 05出力形式の選択
活用シーン
- 01GDP などの指標の最新データ検索
- 02年次・月次の経済データ取得
- 03CPI などの指標を変化率で確認
MCP 対応
MCP サーバーは、FRED の系列観測エンドポイントにアクセスする `get_fred_series_observations` ツールをクライアントに提供します。利用可能なパラメーターは系列 ID、並び順、単位、頻度、集計方法、出力タイプです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-FREDAPI
Model Context Protocol(MCP)を使用したFRED(Federal Reserve Economic Data)APIとの連携
目次
はじめに
MCP-FREDAPI は、Model Context Protocol を通じてセントルイス連邦準備銀行(FRED)の経済データにアクセスできるようにします。この連携により、Cursor やその他の MCP 対応環境で使用する際に、Claude などの AI アシスタントが経済時系列データを直接取得できます。
このパッケージは公式 FRED APIと連携し、特に経済指標の時系列データを提供するseries_observations エンドポイントに対応しています。
インストール
インストール方法は 2 つあります。
方法 1:pip を使用する
必要な依存関係をインストールします。
pip install "mcp[cli]" httpx python-dotenv
このリポジトリをクローンします。
git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi
方法 2:uv を使用する(推奨)
この方法は、mcp.json に示されている設定に一致するため推奨されています。
- まず、まだ uv をインストールしていない場合はインストールします。
pip install uv
- このリポジトリをクローンします。
git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi
- uv を使ってサーバーを実行します(依存関係を個別にインストールする必要はありません)。
uv run --with mcp --with httpx mcp run server.py
設定
FRED API キー
FRED APIから取得できる FRED API キーが必要です。
プロジェクトのルートに .env ファイルを作成します。
FRED_API_KEY=your_api_key_here
Claude/Cursor の設定
Cursor でこの MCP サーバーを使用するには、~/.cursor/mcp.json ファイルに以下を追加します。
{
"mcpServers": {
"mcp-fredapi": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-fredapi", "run", "--with", "mcp", "--with", "httpx", "mcp", "run", "server.py"]
}
}
}
/path/to/mcp-fredapi を、ご利用のシステム上のリポジトリの実際のパスに置き換えてください。例:
{
"mcpServers": {
"mcp-fredapi": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-fredapi", "run", "--with", "mcp", "--with", "httpx", "mcp", "run", "server.py"]
}
}
}
注:Windows では、パスにスラッシュ / または二重バックスラッシュ \\ のどちらも使用できます。
利用可能なツール
get_fred_series_observations
FRED から経済時系列データの観測値を取得します。
Cursor で Claude を使用する場合、このツールに直接アクセスできます。
@mcp-fredapi:get_fred_series_observations
パラメーター
get_fred_series_observations ツールでは、次のパラメーターを使用できます。各パラメーターの詳細な技術情報については、FRED API の公式ドキュメントを参照してください。
| パラメーター | 型 | 説明 | 使用可能な値 | デフォルト値 | ステータス |
|---|---|---|---|---|---|
| series_id | str | 経済系列の ID | - | (必須) | ✅ 動作します |
| sort_order | str | 観測値の並び順 | 'asc', 'desc' | 'asc' | ✅ 動作します |
| units | str | データ値の変換方法 | 'lin', 'chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log' | 'lin' | ✅ 動作します |
| frequency | str | 観測値の頻度 | 'd', 'w', 'bw', 'm', 'q', 'sa', 'a', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem' | None | ✅ 動作します |
| aggregation_method | str | 頻度に対する集計方法 | 'avg', 'sum', 'eop' | 'avg' | ✅ 動作します |
| output_type | int | 観測値の出力タイプ | 1, 2, 3, 4 | 1 | ✅ 動作します |
| realtime_start | str | リアルタイム期間の開始日(YYYY-MM-DD) | - | None | ❌ 動作しません |
| realtime_end | str | リアルタイム期間の終了日(YYYY-MM-DD) | - | None | ❌ 動作しません |
| limit | int/str | 返される観測値の最大数 | 1~100000 | 10 | ❌ 動作しません |
| offset | int/str | 先頭からスキップする観測値の数 | - | 0 | ❌ 動作しません |
| observation_start | str | 観測値の開始日(YYYY-MM-DD) | - | None | ❌ 動作しません |
| observation_end | str | 観測値の終了日(YYYY-MM-DD) | - | None | ❌ 動作しません |
| vintage_dates | str | ヴィンテージ日付をカンマ区切りで並べたリスト | - | None | ❌ 動作しません |
警告
MCP の実装に現在の制限があるため、正常に動作するパラメーターは一部のみです。
- ✅ 動作するパラメーター:
series_id、sort_order、units、frequency、aggregation_method、output_type`。- ❌ 動作しないパラメーター:
realtime_start、realtime_end、limit、offset、observation_start、observation_end、vintage_dates。最良の結果を得るには、クエリで動作するパラメーターを使用してください。今後のアップデートで、これらの制限が解消される可能性があります。
例
米国の GDP データを取得する
Cursor で Claude を使用している場合、次のように GDP データをリクエストできます。
Can you get the latest GDP data from FRED?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP"
}
GDP データを降順で取得する
Can you get the GDP data in descending order (newest first)?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP",
"sort_order": "desc"
}
年次 GDP データを取得する
Can you get annual GDP data?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP",
"frequency": "a"
}
インフレ率を取得する
消費者物価指数データを変化率で取得するには、次のようにします。
What's the recent inflation rate in the US?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "CPIAUCSL",
"units": "pch",
"frequency": "m"
}
別の出力形式
Show me GDP data in a different format.
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP",
"output_type": 2
}
コントリビューション
コントリビューションを歓迎します。次の手順に従ってください。
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更を加えます
- 変更をコミットします(
git commit -m 'Add an amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
ライセンス
このプロジェクトは MIT ライセンスのもとで公開されています。詳細については LICENSE ファイルを参照してください。
参考資料
- FRED API ドキュメント - 系列の観測値 - このプロジェクトで使用している FRED API エンドポイントの公式ドキュメントです。
- FRED API - API キーの取得方法と API 全般に関するドキュメントです。
- Model Context Protocol - Model Context Protocol のドキュメントです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。