mcpField
M
MCP Yahoo Finance

MCP Yahoo Finance

ローカル
github.com/maxscheijen金融データ282 週間前に更新

MCP Yahoo Finance について

MCP Yahoo Finance は、Yahoo Finance から株価、企業情報、過去の価格、財務諸表、ニュース、オプションデータを取得する MCP サーバーです。開発は初期段階にあり、リリースごとにツール名やレスポンスのフィールドが変わる場合があります。

主な機能

  1. 01現在の株価とクォートの取得
  2. 02過去の価格とパフォーマンス分析
  3. 03財務諸表と配当データ
  4. 04ニュースとアナリスト評価
  5. 05オプションの満期日とオプションチェーン

活用シーン

  1. 01複数銘柄のリターンとボラティリティの比較
  2. 02企業の財務諸表と配当履歴の確認
  3. 03特定の満期日のオプションチェーンの取得

MCP 対応

本プロジェクトは MCP サーバーとして、get_current_stock_price、get_historical_stock_prices、get_income_statement、get_option_chain などのツールを MCP クライアントに公開し、JSON 形式でデータを返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Yahoo Finance

PyPI - Version PyPI - Python Version PyPI - License

MCP Yahoo Finance は Model Context Protocol(MCP)サーバーです。Yahoo Finance からデータを取得します。株価、企業データ、過去の価格、財務レポート、ニュース、アナリストの評価、決算日、配当、オプションデータを取得するために使用できます。

このプロジェクトは開発の初期段階にあります。ツール名とレスポンスのフィールドはリリース間で変更される可能性があります。

インストール

mcp-yahoo-finance は別途インストールしなくても実行できます。uvx を使用してください。

pip を使用する
pip install mcp-yahoo-finance
Git を使用する

リポジトリをクローンします。次に、開発環境をインストールします。

git clone [email protected]:maxscheijen/mcp-yahoo-finance.git
cd mcp-yahoo-finance
uv sync

設定

Claude Desktop

claude_desktop_config.json ファイルにこのエントリを追加します。

{
    "mcpServers": {
        "yahoo-finance": {
            "command": "uvx",
            "args": ["mcp-yahoo-finance"]
        }
    }
}

Docker を使用することもできます。IMAGE を Docker イメージ名に置き換えてください。

{
    "mcpServers": {
        "yahoo-finance": {
            "command": "docker",
            "args": ["run", "-i", "--rm", "IMAGE"]
        }
    }
}
VS Code

.vscode/mcp.json ファイルにこのエントリを追加します。

{
    "servers": {
        "yahoo-finance": {
            "command": "uvx",
            "args": ["mcp-yahoo-finance"]
        }
    }
}

質問の例

次のような質問ができます。

  1. 「Apple の株価はいくらですか?」
  2. 「前日終値、日中レンジ、市場ステータスを含む AAPL の詳細なクォートを教えてください。」
  3. 「Nvidia の企業概要を見せてください。」
  4. 「Apple と Google の株価の違いは何ですか?」
  5. 「2024-01-01 から 2025-01-01 の間に Apple の株価はどれだけ変化しましたか?」
  6. 「AAPL のオプションの満期日は何がありますか?」
  7. 「2024-01-19 に満期を迎える AAPL のオプションチェーンを見せてください。」
  8. 「Tesla のコールオプションとプットオプションは何ですか?」

レスポンスデータ

ツールはデータを JSON 形式で返します。これは詳細なクォートの例です。

{
  "symbol": "AAPL",
  "currentPrice": 243.5822,
  "previousClose": 241.33,
  "absoluteChange": 2.2522,
  "percentChange": 0.9331,
  "open": 242.1,
  "dayHigh": 244.2,
  "dayLow": 241.9,
  "volume": 45678901,
  "marketStatus": "REGULAR",
  "currency": "USD",
  "exchange": "NMS",
  "timestamp": "2025-01-02T15:30:00+00:00",
  "source": {
    "provider": "Yahoo Finance",
    "endpoint": "info",
    "fetchedAt": "2025-01-02T15:30:01+00:00"
  }
}

エラーはすべてのツールで同じ形式を使用します。エラーにはエラーコードとメッセージが含まれます。

{
  "error": {
    "code": "NO_DATA",
    "message": "No historical data found for AAPL"
  }
}

履歴および表形式の結果は、データソースの列名をそのまま保持します。日付は YYYY-MM-DD 形式を使用します。サーバーは Yahoo Finance が使用するタイムゾーンを表示しません。

履歴価格ツールはデフォルトで調整済み価格を返します。調整済み価格には株式分割と配当による変更が含まれます。これらの変更を含まない価格を取得するには、get_historical_stock_prices で adjusted を false に設定します。

日付検索は開始日と終了日の両方を含みます。日付が週末または市場の休業日の場合、その日付の価格データが存在しないことがあります。その場合、ツールは NO_DATA エラーを返します。

クォートまたは企業データが欠落している場合、その値は null です。ニュースツールはデフォルトで 10 件の記事を返します。最大 100 件の記事を返すことができます。タイトル、URL、発行元、サムネイル、関連する銘柄コード、公開時刻が含まれます。公開時刻は UTC と ISO 8601 形式を使用します。start_date と end_date を設定してニュースをフィルタリングできます。フィルターは両方の日付を含みます。

レコメンデーション、決算、配当、財務レポート、オプションの各ツールは、トップレベルの symbol フィールドを使用します。それらのデータが利用可能な場合、Yahoo Finance からデータを返します。

利用可能なツール

symbol の値には Yahoo Finance のティッカーシンボルを使用します。例は AAPL と MSFT です。

ツール目的
get_current_stock_price現在の株価とクォートデータを取得します。
get_rich_quote価格、価格変動、取引レンジ、市場ステータス、ソースデータを含むクォートを取得します。
get_company_overviewセクター、業種、時価総額、ウェブサイト、従業員数、説明、ソースデータを含む企業プロフィールを取得します。
get_symbol_comparison最大 20 銘柄の現在のクォートを比較します。
get_performance_analysis複数銘柄のリターン、移動平均、ボラティリティ、ドローダウン、ベンチマークリターン、相関を比較します。
get_stock_price_by_date1 つの取引日の調整後終値を取得します。
get_stock_price_date_range指定した期間の調整後終値を取得します。
get_historical_stock_prices指定した期間と時間間隔の過去の価格を取得します。
get_dividends過去の配当支払いを取得します。
get_stock_splits過去の株式分割を取得します。
get_capital_gainsキャピタルゲインの支払いを取得します。
get_upcoming_dividends今後の配当日と配当率を取得します。
get_earnings_analytics決算結果と予想を取得します。
get_income_statement年次、四半期、または直近 12 か月の損益計算書を取得します。
get_cashflow期間ごとのキャッシュフロー計算書を取得します。
get_earning_dates過去と将来の決算日を取得します。
get_newsYahoo Finance のニュースを取得します。日付フィルターを設定できます。
get_recommendationsアナリストの推奨を取得します。
get_option_expiration_dates利用可能なオプションの満期日を取得します。
get_option_chain1 つの満期日のコールとプットを取得します。権利行使価格、マネーネス、流動性、スプレッド、種類、結果数でフィルタリングできます。
get_option_summary1 つの満期日のインプライドボラティリティ、未決済建玉、出来高、プット/コールレシオ、マックスペインを取得します。

パフォーマンスの計算

パフォーマンス分析では、株式分割と配当で調整された終値を使用します。

トータルリターンは (last close / first close) - 1 です。

年間ボラティリティは、日次リターンの標準偏差に sqrt(252) を掛けたものです。

最大ドローダウンは、以前の高値からの最大の下落幅です。

このツールは、銘柄間で共通する日付の日次リターンから相関を計算します。これにより、異なる取引カレンダーを持つ銘柄を比較できます。

ローカルで開発する

uv sync を実行して、ロックされた開発環境をインストールします。次に、以下のコマンドを実行します。

uv run pytest
uv run ruff check .
uv run ruff format --check .
uv build

以下の Makefile コマンドも使用できます。

make test
make lint
make docker-build

テストではモックの Yahoo Finance データを使用します。Yahoo Finance へのライブリクエストは行いません。

Docker イメージをビルドする

以下のコマンドを実行します。

docker build -t mcp-yahoo-finance .

MCP Inspector でテストする

以下のコマンドを実行します。

npx @modelcontextprotocol/inspector uv run mcp-yahoo-finance

Yahoo Finance の制限

Yahoo Finance はサードパーティのデータソースです。そのデータは遅延したり、不完全だったり、利用できなかったりする可能性があります。このプロジェクトは投資アドバイスを提供しません。データが正確、完全、または最新であることを保証しません。重要なデータは、使用する前に信頼できる情報源で確認してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。