mcpField
M
MCP Yahoo Finance Server and UI

MCP Yahoo Finance Server and UI

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

MCP Yahoo Finance Server and UI について

MCP Yahoo Finance Server and UIは、MCPサーバーを通じて株価、企業情報、過去の価格データを提供し、FastAPIとDaisyUIによるWebインターフェースも備えています。MCPまたは付属UIからYahoo Financeのデータを調べるユーザー向けです。

主な機能

  1. 01現在の株価検索
  2. 02企業情報の取得
  3. 03期間を指定した過去価格の取得
  4. 04FastAPIとDaisyUIのWebインターフェース
  5. 05Azure OpenAIによる自然言語クエリ処理

活用シーン

  1. 01株式の現在価格を確認
  2. 02企業の業種や市場情報を確認
  3. 03指定期間の価格データを取得
  4. 04Webインターフェースで金融データを検索

MCP 対応

MCPサーバーは、Yahoo Financeの株価、企業情報、過去の価格をMCPクライアントに公開します。Web UIも含み、自然言語クエリの処理にAzure OpenAIを使用します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"yahoo-finance-quartermaine": {
"command": "uvx",
"args": [
"ensurepath"
]
}
}
}
起動コマンドuvx ensurepath

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

パッケージ
pypiensurepath

ツール

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

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

詳細

MCP Yahoo Finance サーバーと UI

README の画像

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>

目次

  1. 機能
  2. インストール
  3. Docker のセットアップ
  4. 使用方法
  5. 環境設定
  6. GitHub Copilot との連携
  7. 例
  8. TODO

機能

  • 指定した銘柄コードの現在の株価を取得します。
  • 詳細な企業情報(セクター、業種、時価総額など)を取得します。
  • 指定した期間の過去の株価データを取得します。
  • クライアントと簡単に連携できるよう、MCP フレームワーク上に構築されています。
  • Azure OpenAI を活用し、自然言語によるクエリを処理します。
  • FastAPI と DaisyUI コンポーネントを使用して構築された Web ベースの UI を備え、使いやすい操作環境を提供します。

インストール

前提条件

始める前に、次のツールがインストールされていることを確認してください。

  1. pipx:Python アプリケーションを分離された環境にインストールするツールです。
  2. 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 を使用してアプリケーションをビルドして実行するには、次の手順に従ってください。

  1. Docker イメージをビルドする:

docker build コマンドを使用して Docker イメージを作成します。<tag_name> を任意の名前(例:mcp-finance)に置き換えてください。

docker build -t <tag_name> .

例:

docker build -t mcp-finance .
  1. Docker コンテナを実行する:

docker run コマンドを使用してコンテナを起動します。ホストマシンのポート 8000 をコンテナ内のポート 8000 に割り当てます。

docker run -p 8000:8000 <tag_name>

例:

docker run -p 8000:8000 mcp-finance
  1. 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 を使用します。必要なパラメーターを設定するには、次の手順に従ってください。

  1. .env ファイルを作成する: .env.example ファイルをコピーして、.env ファイルを作成します。

    cp .env.example .env
    
  2. 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 の認証情報に置き換えてください。

  3. .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
    
  4. 環境変数を読み込む: サーバーまたはクライアントの実行時に、python-dotenv ライブラリが .env ファイルを自動的に読み込みます。.env ファイルがプロジェクトのルートディレクトリにあることを確認してください。

Github Copilot との連携

Visual Studio Code で MCP Yahoo Finance Server を GitHub Copilot と連携するには、次の手順に従ってください。

  1. 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
  1. .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 サーバーを起動します。

  1. 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 ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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