mcpField
Y
Yahoo Finance

Yahoo Finance

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

Yahoo Finance について

Yahoo Finance MCP Server は、Yahoo Finance の株価、過去の価格、財務諸表、アナリスト評価などのデータを提供する MCP サーバーです。Claude Desktop などのクライアントから自然言語で市場情報を照会する用途に向いています。

主な機能

  1. 01リアルタイムの株価と市場データ
  2. 02OHLCV 形式の過去価格と要約統計
  3. 03企業プロフィールと財務諸表
  4. 04アナリスト評価と目標株価
  5. 05複数銘柄の並列比較
  6. 06/mcp エンドポイントを提供する任意の HTTP モード

活用シーン

  1. 01現在の株価と価格推移を自然言語で照会
  2. 02複数銘柄の主要指標の比較
  3. 03オプションチェーンや機関投資家の保有状況の確認

MCP 対応

このプロジェクトは MCP サーバーであり、株価、過去価格、財務諸表、ニュースなど 13 のツールを MCP クライアントに公開します。stdio または Streamable HTTP で接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"danishashko-yahoo-finance": {
"command": "npx",
"args": [
"-y",
"yahoo-finance-mcp-server"
]
}
}
}
起動コマンドnpx -y yahoo-finance-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmyahoo-finance-mcp-server1.2.4

ツール

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

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

詳細

Yahoo Finance MCP Server 📈

npm version npm downloads Python License: MIT

Yahoo Finance を利用して、Claude Desktop や MCP 対応クライアントにリアルタイムの株式市場データを提供します。自然言語で、株価、過去の価格、企業プロフィール、財務諸表、アナリスト評価、複数銘柄の比較を取得できます。

npm パッケージ: yahoo-finance-mcp-server  ·  GitHub リポジトリ: danishashko/yahoo-finance-mcp。リポジトリ名はパッケージ名より短くなっていますが、どちらもこのプロジェクトを指しています。

🎯 利用できる機能

  • 📊 リアルタイムの株価と詳細な市場データ
  • 📈 過去の価格(OHLCV)と要約統計
  • 🏢 企業プロフィール、役員、主要統計
  • 💰 財務諸表(損益計算書、貸借対照表、キャッシュフロー)
  • 🎯 アナリスト評価、目標株価、直近の推奨傾向
  • ⚖️ 複数銘柄の比較を並べて表示
  • 📰 ティッカーごとの最新の金融ニュース
  • 🧾 オプションチェーン(コール/プット、権利行使価格、IV、未決済建玉)
  • 🏦 所有状況データ — 機関投資家、投資信託、インサイダーの動向
  • 💵 配当と株式分割の履歴
  • 🔮 アナリストの将来予測(目標株価、EPS/売上高、成長率)
  • 🔎 企業名やキーワードでの銘柄検索
  • 🕒 市場の状況(営業中/終了)と指数の概要

すべてのツールは、デフォルトで人が読みやすい Markdown を返します。リクエストに応じて構造化された JSON(response_format: "json")を返すこともできます。リクエストでは、Yahoo Finance によるレート制限を軽減するため、ブラウザーになりすました単一の HTTP セッションを共有します。

🚀 クイックスタート

以下を Claude Desktop の設定に追加して、Claude を再起動します。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "npx",
      "args": ["-y", "yahoo-finance-mcp-server"]
    }
  }
}

これで完了です。初回起動時に npx ラッパーが分離された Python 環境を作成し、依存関係をインストールします(初回のみの処理で、1 分ほどかかることがあります)。必要なのは、マシンに Python 3.10+ と Node.js 16+ がインストールされていることだけです。

グローバルインストールを利用しますか?
npm install -g yahoo-finance-mcp-server
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "yahoo-finance-mcp-server"
    }
  }
}

🌐 HTTP モード(n8n、リモートエージェント、URL に接続するあらゆるクライアント向け)

クライアントの中には、MCP サーバーを子プロセスとして起動し、stdio 経由で通信するものがあります。一方で、URL のみを受け付けるクライアントもあります。n8n の MCP Client Tool ノードは後者で、HTTP Streamable と SSE を提供し、コマンドを起動する方法がありません。そのため、stdio だけではサーバーにアクセスできません。

--http を指定すると、同じ 13 個のツールを /mcp で Streamable HTTP 経由で提供します。

npx -y yahoo-finance-mcp-server --http
# -> http://127.0.0.1:8000/mcp
フラグデフォルト説明
--httpoffstdio の代わりに /mcp で Streamable HTTP を提供します
--host127.0.0.1バインドするインターフェース
--port8000バインドするポート
--allowed-host下記参照受け入れる Host ヘッダー。複数回指定できます
--statefuloffステートレスではなく、クライアントごとにセッションを保持します

認証は追加されないため、信頼できるインターフェースでのみ実行してください。

コンテナーから接続する

Docker 内の n8n はループバックインターフェース上にないため、より広い範囲にバインドし、ホストエイリアスを使用します。

npx -y yahoo-finance-mcp-server --http --host 0.0.0.0 --port 8931

次に、MCP Client Tool ノードで http://host.docker.internal:8931/mcp を指定し、認証を None に設定します。

より広い範囲にバインドした場合も、DNS リバインディング保護は有効です。バインドされたポートでは、デフォルトで localhost、127.0.0.1、host.docker.internal が許可されます。それ以外の名前には --allowed-host name:port が必要です。許可リストにない名前でリクエストが到着すると、421 Misdirected Request が返されます。

🔧 利用可能なツール

ツール返される内容パラメーター
get_stock_quote現在の株価、変動額、当日および52週間の値幅、出来高、時価総額、P/E、EPS、配当利回りticker
get_historical_prices要約統計とトータルリターンを含むOHLCVの履歴ticker、period、interval
get_company_info事業概要、主要幹部、企業価値評価、財務ハイライトticker
get_financial_statements年次損益計算書、貸借対照表、キャッシュフローticker
compare_stocks複数のティッカーの主要指標を横並びで比較し、簡単な分析情報も表示tickers(2~10)
get_analyst_recommendations目標株価、コンセンサス、推奨トレンド、最近の格上げ/格下げticker
get_market_news最新ニュースの見出し、情報源、日付、概要、リンクticker、count
get_options_chain満期日、またはコール/プットのオプションチェーン(権利行使価格、売気配/買気配、出来高、OI、IV)ticker、expiration_date、option_type
get_holders機関投資家、投資信託、大口保有者、またはインサイダー取引ticker、holder_type
get_dividends_splits配当支払い履歴(概要付き)と株式分割履歴ticker
get_analyst_estimates将来の目標株価、期間別のEPS/売上高予測、成長予測ticker
search_symbols企業名またはキーワードからティッカーシンボルを検索query、count
get_market_status市場の開閉状況、取引時間、主要指数の概要region

すべてのツールで response_format("markdown"、デフォルト、または "json")も指定できます。

get_historical_prices のオプション:

  • period:1d、5d、1mo、3mo、6mo、1y、2y、5y、10y、ytd、max
  • interval:1m、2m、5m、15m、30m、60m、90m、1h、1d、5d、1wk、1mo、3mo

get_options_chain: 利用可能な日付を一覧表示するには expiration_date を指定せずに呼び出し、その後、日付を指定してもう一度呼び出します。option_type は calls、puts、または both です。

get_holders: holder_type は institutional、mutualfund、major、または insider_transactions です。

💬 プロンプトの例

サーバーに接続したら、Claude に尋ねるだけです。

  • 「Apple株の現在の価格は?」
  • 「Amazonの過去1年間の株価パフォーマンスを見せて」
  • 「Teslaという企業と経営陣について教えて」
  • 「Appleの損益計算書を見せて」
  • 「AAPL、MSFT、GOOGLを比較して」
  • 「Amazonについてアナリストはどう考えていますか?目標株価はいくらですか?」
  • 「NVIDIAの最新ニュースは?」
  • 「来月満期を迎えるSPYのコールオプションを見せて」
  • 「Appleの最大の機関投資家は誰ですか?」
  • 「Coca-Colaの配当履歴は?」

🐛 トラブルシューティング

「コマンドが見つかりません」/「Python が見つかりません」 Python と Node.js がインストールされ、PATH に設定されていることを確認してください。macOS/Linux では、設定内で python の代わりに python3 を試してください。

「モジュールが見つかりません:yfinance」(手動インストールの場合のみ) 依存関係をインストールしてください。

pip install yfinance curl_cffi pandas tabulate mcp pydantic httpx

Claude にツールが表示されない

  1. 設定ファイルが有効な JSON であること(末尾にカンマがないこと)を確認してください。
  2. Claude Desktop を完全に終了して、再度開いてください。
  3. 設定内のパスが実際に存在することを確認してください。

「データの取得中にエラーが発生しました」

  • インターネット接続を確認してください。
  • ティッカーシンボルを確認してください(例:Apple ではなく AAPL)。
  • 小規模な企業はデータが限られていることがあり、Yahoo Finance が一時的に利用できない場合もあります。

別のモデルやプロバイダーを使う場合(LiteLLM、OpenRouter、NVIDIA NIM、ローカルモデル) このサーバーはモデルと通信しません。クライアントがローカルプロセスとして起動し、stdin/stdout を介して JSON-RPC で通信するため、ANTHROPIC_BASE_URL を変更したり、クライアントの背後にあるモデルを切り替えたりしても、このサーバーには影響しません。そのような切り替えの後にツールが呼び出されなくなった場合は、次の 2 点を確認してください。モデルが関数呼び出しに対応していること、また、未対応のパラメーターを破棄するように設定されたプロキシがツール定義をエラーなしで黙って削除してしまうことです。サーバーを疑う前に、クライアントで /mcp(または claude mcp list)を実行し、サーバーが接続されていることを確認してください。

🛠️ 手動インストール(代替方法)

npx 経由ではなく、Python ファイルを直接実行する場合:

1. サーバーをダウンロードする

yahoo_finance_mcp.py をマシン上の任意の場所に保存し、依存関係をインストールしてください。

pip install yfinance curl_cffi pandas tabulate mcp pydantic httpx

(macOS/Linux では pip3 も使用できます)

2. Claude Desktop の接続先に設定する

{
  "mcpServers": {
    "yahoo-finance": {
      "command": "python3",
      "args": ["/absolute/path/to/yahoo_finance_mcp.py"]
    }
  }
}

Windows では "command": "python" を使用し、"C:\\path\\to\\yahoo_finance_mcp.py" のようなパスを指定してください(バックスラッシュを 2 つ重ねるか、スラッシュを使用します)。

3. Claude Desktop を再起動します。

🔒 プライバシーとレート制限

  • yfinance ライブラリを介して、無料の Yahoo Finance API を使用します。
  • リクエストは Yahoo Finance に直接送信されます。データは保存もプロキシ経由での転送もされません。
  • Yahoo Finance は IP ごとに、1 時間あたりおよそ 2,000 件のリクエストをレート制限します。
  • 個人、教育、研究目的での使用を想定しています。

📝 注意事項

  • ティッカーシンボルは大文字で入力してください(AAPL、MSFT、TSLA)。
  • 株価情報は 15~20 分遅れている場合があります。
  • 財務諸表は、一般に大手上場企業について提供されています。

📋 変更履歴

バージョン履歴の全容は CHANGELOG.md をご覧ください。主要な修正(ツール入力の検証、アナリストの推奨、配当利回り、動作する npx インストール)は v1.1.0 でリリースされました。

📚 リソース

⚖️ 法的免責事項

このツールは、yfinance ライブラリを通じて Yahoo Finance が公開しているデータを使用します。Yahoo!、Y!Finance、および Yahoo! Finance は、Yahoo, Inc. の登録商標です。このツールは Yahoo, Inc. とは提携しておらず、同社による推奨や審査も受けていません。データを使用する権利の詳細については、Yahoo! の利用規約をご確認ください。

👤 作者

Daniel Shashko

📄 ライセンス

MIT © Daniel Shashko

コメント

MCP は初めてですか?

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

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