MCP Yahoo Finance Server and UI について
MCP Yahoo Finance Server and UIは、MCPサーバーを通じて株価、企業情報、過去の価格データを提供し、FastAPIとDaisyUIによるWebインターフェースも備えています。MCPまたは付属UIからYahoo Financeのデータを調べるユーザー向けです。
主な機能
- 01現在の株価検索
- 02企業情報の取得
- 03期間を指定した過去価格の取得
- 04FastAPIとDaisyUIのWebインターフェース
- 05Azure OpenAIによる自然言語クエリ処理
活用シーン
- 01株式の現在価格を確認
- 02企業の業種や市場情報を確認
- 03指定期間の価格データを取得
- 04Webインターフェースで金融データを検索
MCP 対応
MCPサーバーは、Yahoo Financeの株価、企業情報、過去の価格をMCPクライアントに公開します。Web UIも含み、自然言語クエリの処理にAzure OpenAIを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Yahoo Finance サーバーと UI
MCP Yahoo Finance Server は、Yahoo Finance API を使用して、リアルタイムの株価データ、企業情報、過去の価格データを取得するツールです。Multi-Client Protocol(MCP)フレームワークと連携し、クライアントとサーバー間のシームレスな通信を実現します。 このプロジェクトには、FastAPI と DaisyUI コンポーネントを使用して構築された Web ベースの UI も含まれており、直感的なインターフェースを通じてサーバーを操作できます。
続行する前に、リポジトリをクローンしていることを確認してください。
git clone https://github.com/quartermaine/mcp-server-yahoo-finance.git
cd <repository-directory>
目次
機能
- 指定した銘柄コードの現在の株価を取得します。
- 詳細な企業情報(セクター、業種、時価総額など)を取得します。
- 指定した期間の過去の株価データを取得します。
- クライアントと簡単に連携できるよう、MCP フレームワーク上に構築されています。
- Azure OpenAI を活用し、自然言語によるクエリを処理します。
- FastAPI と DaisyUI コンポーネントを使用して構築された Web ベースの UI を備え、使いやすい操作環境を提供します。
インストール
前提条件
始める前に、次のツールがインストールされていることを確認してください。
- pipx:Python アプリケーションを分離された環境にインストールするツールです。
- uv:高速な Python パッケージおよび環境マネージャーです。
インストール手順
1. pipx をインストールする
パッケージリストを更新し、pipx をインストールします。
sudo apt update
sudo apt install pipx
pipx ensurepath
2. uv をインストールする
公式のインストールスクリプトを使用して uv をインストールします。
wget -qO- https://astral.sh/uv/install.sh | sh
上記のコマンドを実行した後、次のコマンドを実行して環境変数を読み込んでください。
source $HOME/.local/bin/env
3. プロジェクトと環境を作成する
新しいプロジェクトディレクトリを作成します。
mkdir mcp-client
cd mcp-client
uv を使用して仮想環境を作成します。
uv venv
仮想環境を有効化します。
source .venv/bin/activate
必要な依存関係をインストールします。
uv add fastapi jinja2 uvicorn mcp anthropic python-dotenv openai yfinance
Docker のセットアップ
Docker を使用してアプリケーションをビルドして実行するには、次の手順に従ってください。
- Docker イメージをビルドする:
docker build コマンドを使用して Docker イメージを作成します。<tag_name> を任意の名前(例:mcp-finance)に置き換えてください。
docker build -t <tag_name> .
例:
docker build -t mcp-finance .
- Docker コンテナを実行する:
docker run コマンドを使用してコンテナを起動します。ホストマシンのポート 8000 をコンテナ内のポート 8000 に割り当てます。
docker run -p 8000:8000 <tag_name>
例:
docker run -p 8000:8000 mcp-finance
- UI にアクセスする:
コンテナを実行した後、ターミナルログに出力された URL(例:http://0.0.0.0:8000)にアクセスすると、Web ベースの UI を利用できます。
使用方法
サーバーを実行する
Yahoo Finance MCP サーバーを実行するには、有効化した環境で、1 つ目のターミナルから次のコマンドを実行します。
uv run yahoo_finance.py
UI を実行する
有効化した環境で、別のターミナルから Uvicorn を使用して FastAPI アプリ(UI)を起動します。
uvicorn main:app --reload
このコマンドを実行すると、Uvicorn はアプリの実行 URL を含むログメッセージを出力します。通常は次のようになります。
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
表示されたリンク(http://127.0.0.1:8000)をブラウザーで開くと、DaisyUI コンポーネントで構築された UI にアクセスできます。
環境設定
このプロジェクトでは、言語モデル(LLM)プロバイダーとして Azure OpenAI を使用します。必要なパラメーターを設定するには、次の手順に従ってください。
-
.envファイルを作成する:.env.exampleファイルをコピーして、.envファイルを作成します。cp .env.example .env -
Azure OpenAI のパラメーターを設定する:
.envファイルを開き、次の環境変数を設定します。AZURE_OPEN_AI_API_VERSION=<your_api_version> AZURE_OPEN_AI_ENDPOINT=<your_endpoint> AZURE_OPEN_AI_API_KEY=<your_api_key> AZURE_OPEN_AI_DEPLOYMENT_MODEL=<your_deployment_model><your_api_version>、<your_endpoint>、<your_api_key>、<your_deployment_model>を、実際の Azure OpenAI の認証情報に置き換えてください。 -
.envファイルを確認する:.envファイルが正しい形式で、必要なパラメーターがすべて含まれていることを確認します。例:AZURE_OPEN_AI_API_VERSION=2023-05-15 AZURE_OPEN_AI_ENDPOINT=https://<your-resource-name>.openai.azure.com/ AZURE_OPEN_AI_API_KEY=12345abcdef67890ghijklmnopqrstuvwxyz AZURE_OPEN_AI_DEPLOYMENT_MODEL=gpt-4 -
環境変数を読み込む: サーバーまたはクライアントの実行時に、
python-dotenvライブラリが.envファイルを自動的に読み込みます。.envファイルがプロジェクトのルートディレクトリにあることを確認してください。
Github Copilot との連携
Visual Studio Code で MCP Yahoo Finance Server を GitHub Copilot と連携するには、次の手順に従ってください。
- start-mcp.sh スクリプトを作成する
仮想環境を有効にしてサーバーを起動するための、start-mcp.sh という名前のシェルスクリプトを作成します。次の内容をファイルに追加してください。
#!/bin/bash
# Navigate to the project directory
cd /<path_to>/mcp-server-yahoo-finance || { echo "Directory not found"; exit 1; }
# Activate the virtual environment
source .venv/bin/activate || { echo "Failed to activate virtual environment"; exit 1; }
# Run the server
uv run yahoo_finance.py || { echo "Failed to start server"; exit 1; }
スクリプトを実行可能にします。
chmod +x /<path_to>/start_mcp.sh
- .vscode/mcp.json を設定する
プロジェクトディレクトリのルートに .vscode/mcp.json ファイルを作成し、次の内容を追加します。
{
"servers": {
"my-mcp-server": {
"type": "stdio",
"command": "/<path_to>/start-mcp.sh",
"args": []
}
}
}
この設定により、VS Code は start-mcp.sh スクリプトを使用して MCP サーバーを起動します。
- GitHub Copilot に MCP サーバーを追加する
Copilot にサーバーを追加し、MCP サーバーのツールを使用するには、次の手順に従ってください。
- Visual Studio Code で Copilot を開きます。
- チャットビューでエージェントモードに切り替えます。
- [ツール]ボタンを選択して、ツールを表示します。
詳しくは、公式のサイトをご覧ください。
使用例
1. 現在の株価を取得する
クエリ:
Query: Get current price of AAPL
応答:
The current price of AAPL is $202.52
2. 企業情報を取得する
クエリ:
Query: Get company information for AAPL
応答:
Company Name: Apple Inc.
Sector: Technology
Industry: Consumer Electronics
Country: United States
Market Cap: $2,700,000,000,000
Employees: 164,000
Website: https://www.apple.com
3. 過去のデータを取得する
クエリ:
Query: Get historical data for AAPL from 2023-01-01 to 2023-01-31
応答:
Date: 2023-01-03
Open: $130.00
High: $132.00
Low: $129.50
Close: $131.75
Volume: 1,234,567
---
Date: 2023-01-04
Open: $131.75
High: $133.00
Low: $130.50
Close: $132.50
Volume: 1,123,456
TODO
-
エラー処理の強化:
- 入力が無効な場合や API 呼び出しに失敗した場合に、より分かりやすいエラーメッセージを表示します。
-
追加 API のサポート:
- より幅広いデータをカバーするため、ほかの金融 API(例:Alpha Vantage、Finnhub)を統合します。
-
パフォーマンスの最適化:
- 頻繁にリクエストされるデータをキャッシュし、API 呼び出しを減らして応答時間を改善します。
-
ドキュメント:
- 機能を拡張したい開発者向けに、詳細な API ドキュメントを追加します。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。