mcpField
Y
Yahoo Finance unofficial MCP Server

Yahoo Finance unofficial MCP Server

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

Yahoo Finance unofficial MCP Server について

Yahoo Finance unofficial MCP Serverは、yfinance経由で株価や財務データをAIエージェントに提供するMCPサーバーです。10種類のツールで、価格履歴、財務諸表、ニュース、アナリスト評価、複数銘柄の相場を扱います。

主な機能

  1. 01現在の株価と主要指標を取得
  2. 02期間・間隔を指定して価格履歴を取得
  3. 03財務諸表と業績データを参照
  4. 04配当と株式分割の履歴を確認
  5. 05ニュースとアナリスト評価を取得
  6. 06銘柄検索と複数銘柄の相場取得

活用シーン

  1. 01株価と評価指標の確認
  2. 02指定期間の価格推移を分析
  3. 03企業の財務諸表と業績を調査
  4. 04複数銘柄の相場を比較

MCP 対応

MCPサーバーとして、株価、財務情報、市場分析データを調べるためのYahoo Financeデータツール10種類をクライアントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

YFinance MCP Server

Yahoo Finance API との統合により金融データを提供する、包括的な Model Context Protocol(MCP)サーバーです。このサーバーにより、AI エージェントはリアルタイムの株式市場データ、過去の価格、財務諸表、市場分析にアクセスできます。

image

Features

  • 包括的な金融データツール 10 種 により、市場データへ完全にアクセスできます
  • リアルタイムの株式情報(株価、時価総額、主要指標など)
  • 過去データの分析(期間や間隔を柔軟に指定可能)
  • 財務諸表(損益計算書、貸借対照表、キャッシュフロー計算書)
  • 業績データ(年次および四半期)
  • 配当および株式分割の履歴
  • ニュースおよびアナリストの推奨
  • 株式検索と複数銘柄の株価情報取得
  • 堅牢なエラー処理(構造化された JSON レスポンス)
  • FastMCP フレームワーク(高いパフォーマンスを実現する非同期処理をサポート)

Quick Start

Prerequisites
  • Python 3.11+
  • uv(Python パッケージマネージャー)
Installation
# Clone the repository
git clone https://github.com/barvhaim/yfinance-mcp-server.git
cd yfinance-mcp-server

# Install dependencies
uv sync
Running the Server
# Start the MCP server
uv run main.py

# The server will start and be ready to accept MCP client connections

Available Tools

1. get_stock_info

現在の株価、時価総額、財務指標など、包括的な株式情報を取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル(例:'AAPL'、'GOOGL')

Returns: 株価、時価総額、P/E 比率、配当利回り、52 週間の値幅、出来高、ベータ値、企業情報などの株式情報。

2. get_historical_data

期間や間隔を柔軟に指定して、過去の株価データを取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル
  • period(str):期間(1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max)
  • interval(str):データの間隔(1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo)

Returns: 日付と出来高情報を含む、過去の OHLCV データ。

3. get_dividends

株式の配当支払い履歴を取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル

Returns: 日付と金額を含む配当支払いの一覧。

4. get_splits

株式分割の履歴を取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル

Returns: 日付と分割比率を含む株式分割の一覧。

5. get_financials

包括的な財務諸表を取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル
  • quarterly(bool):True の場合は四半期データ、False の場合は年次データを取得します

Returns: 損益計算書、貸借対照表、キャッシュフロー計算書のデータ。

6. get_earnings

分析用の業績データを取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル

Returns: 年次および四半期の業績データ。

7. get_news

株式に関連する最近のニュース記事を取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル
  • count(int):返す記事数(デフォルト:10)

Returns: タイトル、リンク、発行元、タイムスタンプを含むニュース記事の一覧。

8. get_recommendations

アナリストの推奨と評価を取得します。

Parameters:

  • symbol(str):株式ティッカーシンボル

Returns: 企業、評価、アクションを含むアナリスト推奨の一覧。

9. search_stocks

企業名またはティッカーシンボルで株式を検索します。

Parameters:

  • query(str):検索クエリ(企業名またはティッカー)
  • limit(int):返す結果の最大数(デフォルト:10)

Returns: シンボル、名称、取引所情報を含む、一致した株式の一覧。

10. get_multiple_quotes

複数の株式の現在の株価情報を同時に取得します。

Parameters:

  • symbols(List[str]):株式ティッカーシンボルの一覧

Returns: 現在の株価、変動額、基本指標を含む株価情報の辞書。

Usage Examples

Basic Stock Information
# Get Apple stock information
result = await get_stock_info("AAPL")
print(f"Current Price: ${result['current_price']}")
print(f"Market Cap: ${result['market_cap']:,}")
Historical Data Analysis
# Get 1-year daily data for Google
result = await get_historical_data("GOOGL", period="1y", interval="1d")
print(f"Retrieved {result['count']} data points")
Multiple Stock Quotes
# Get quotes for tech stocks
result = await get_multiple_quotes(["AAPL", "GOOGL", "MSFT", "AMZN"])
for symbol, quote in result['quotes'].items():
    print(f"{symbol}: ${quote['current_price']}")

MCP Client Integration

Claude Desktop との連携

このサーバーを Claude Desktop に接続するには:

  1. 1 つ目のターミナルでサーバーを起動します:

    uv run main.py
    
  2. MCP 設定ファイルを編集して、Claude Desktop を設定します:

    macOS:~/Library/Application Support/Claude/claude_desktop_config.json

    Windows:%APPDATA%\Claude\claude_desktop_config.json

  3. サーバー設定を追加します:

    {
       "yfinance": {
         "command": "uv",
         "args": [
           "--directory",
           "/path/to/yfinance-mcp-server",
           "run",
           "main.py"
         ]
       }
     }
    
  4. cwd のパスを実際のプロジェクトディレクトリに更新します

  5. 新しいサーバーを読み込むため、Claude Desktop を再起動します

  6. Claude に「利用可能な金融データツールを教えてください」と質問して、接続を確認します

代替方法:直接接続

その他の MCP クライアントの場合:

  1. サーバーを起動します:uv run main.py
  2. サーバーのエンドポイントに接続するよう、MCP クライアントを設定します
  3. ツールは AI エージェントによって自動的に検出されます
  4. ツールでは標準の株式シンボル(AAPL、GOOGL、MSFT など)を使用します

開発

コードフォーマット
# Format code with black
uv run black .

# Check formatting
uv run black --check .

# Show formatting differences
uv run black --diff .
新しいツールの追加
  1. main.py に新しい非同期関数を作成します
  2. @mcp.tool() でデコレートします
  3. 適切な型ヒントと docstring を追加します
  4. エラー処理を含めます
  5. 実装をテストします
環境変数

設定が必要な場合は、.env.sample を .env にコピーします:

cp .env.sample .env

エラー処理

すべてのツールに包括的なエラー処理が含まれています:

  • 無効なシンボルに対して、構造化されたエラーメッセージを返します
  • ネットワークの問題を捕捉して報告します
  • データを利用できない場合も適切に処理します
  • yfinance によってレート制限が自動的に遵守されます

パフォーマンスに関する考慮事項

  • パフォーマンスを最適化する非同期処理
  • 構造化 JSON による効率的なデータのシリアル化
  • レイテンシを低減する最小限のデータ処理
  • 頻繁にアクセスされるデータを対象とした yfinance の組み込みキャッシュ

依存関係

  • fastmcp - MCP サーバーの実装に使用する FastMCP フレームワーク
  • yfinance - 金融データを取得する Yahoo Finance API
  • python-dotenv - 環境変数の管理
  • black - コードフォーマット
  • pydantic - データの検証とシリアル化

ライセンス

このプロジェクトは MIT License の下で利用できます。

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. black でコードをフォーマットします
  6. プルリクエストを送信します

サポート

問題や質問がある場合:

  • Issues セクションを確認します
  • 開発ガイダンスについては CLAUDE.md ファイルを確認します
  • uv sync を実行して、すべての依存関係が正しくインストールされていることを確認します

変更履歴

v0.1.0
  • 10 個の金融データツールを初期実装
  • FastMCP サーバーフレームワークとの連携
  • 包括的なエラー処理
  • yfinance API を全面的にカバー
  • MCP クライアント連携のサポート

コメント

MCP は初めてですか?

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

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