StockScreen MCP Server

by twolven
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Leverages NumPy for numerical operations in stock data analysis, supporting technical indicators calculation and data processing

  • Utilizes pandas for handling financial data frames, enabling efficient stock screening, filtering, and result organization

  • Implemented as a Python-based MCP server that enables stock screening functionality through structured API calls

StockScreen MCP サーバー

Yahoo!ファイナンスを通じて包括的な株式スクリーニング機能を提供するモデルコンテキストプロトコル(MCP)サーバー。LLMがテクニカル、ファンダメンタル、オプションの基準に基づいて株式をスクリーニングできるようにし、ウォッチリストの管理と結果の保存をサポートします。

特徴

株式スクリーニング

  • テクニカル分析スクリーニング
    • 価格と数量フィルター
    • 移動平均線(20、50、200 SMA)
    • RSI指標
    • 平均真の範囲(ATR)
    • トレンド分析(1日、5日、20日の変化)
    • MA距離計算
  • 基礎スクリーニング
    • 時価総額フィルター
    • P/E比率分析
    • 配当利回り基準
    • 収益成長指標
    • ETF固有の指標(運用資産残高、経費率)
  • オプションスクリーニング
    • インプライドボラティリティ(IV)フィルター
    • オプション取引量と建玉
    • プット/コール比率分析
    • ビッド・アスク・スプレッド評価
    • 決算日の近接性チェック

データ管理

  • ウォッチリストの作成と管理
  • スクリーニング結果の保存
  • デフォルトのシンボルカテゴリ
    • メガキャップ(2,000億ドル以上)
    • 大型株(100億ドル~2,000億ドル)
    • ミッドキャップ(20億ドル~100億ドル)
    • 小型株(3億ドル~20億ドル)
    • マイクロキャップ(3億ドル未満)
    • ETF

インストール

# Install dependencies pip install -r requirements.txt # Clone the repository git clone https://github.com/twolven/mcp-stockscreen.git cd mcp-stockscreen

使用法

  1. Claude 構成に追加します。claude claude-desktop-config.jsonで、 mcpServersセクションに以下を追加します。
{ "mcpServers": { "stockscreen": { "command": "python", "args": ["path/to/stockscreen.py"] } } }

「path/to/stockscreen.py」を、stockscreen.py ファイルを保存した場所へのフルパスに置き換えます。

利用可能なツール

利用可能なツール

  1. run_stock_screen

技術審査基準

{ "screen_type": "technical", "criteria": { "min_price": float, # Minimum stock price "max_price": float, # Maximum stock price "min_volume": int, # Minimum average volume "above_sma_200": bool, # Price above 200-day SMA "above_sma_50": bool, # Price above 50-day SMA "min_rsi": float, # Minimum RSI value "max_rsi": float, # Maximum RSI value "max_atr_pct": float, # Maximum ATR as percentage of price "category": str # Optional: market cap category filter }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

基本的なスクリーニング基準

{ "screen_type": "fundamental", "criteria": { "min_market_cap": float, # Minimum market capitalization "min_pe": float, # Minimum P/E ratio "max_pe": float, # Maximum P/E ratio "min_dividend": float, # Minimum dividend yield (%) "min_revenue_growth": float, # Minimum revenue growth rate "category": str, # Optional: market cap category filter # ETF-specific criteria "min_aum": float, # Minimum assets under management "max_expense_ratio": float, # Maximum expense ratio "min_volume": float # Minimum trading volume }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

オプション画面の基準

{ "screen_type": "options", "criteria": { "min_iv": float, # Minimum implied volatility (%) "max_iv": float, # Maximum implied volatility (%) "min_option_volume": int, # Minimum options volume "min_put_call_ratio": float, # Minimum put/call ratio "max_spread": float, # Maximum bid-ask spread (%) "min_days_to_earnings": int, # Minimum days until earnings "max_days_to_earnings": int, # Maximum days until earnings "category": str # Optional: market cap category filter }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

ニューススクリーン基準

{ "screen_type": "news", "criteria": { "keywords": List[str], # Keywords to search for in news "exclude_keywords": List[str], # Keywords to exclude from results "min_days": int, # Minimum days back to search "max_days": int, # Maximum days back to search "management_changes": bool, # Filter for management changes "require_all_keywords": bool, # Require all keywords to match "category": str # Optional: market cap category filter }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

カスタムスクリーン基準

{ "screen_type": "custom", "criteria": { "category": str, # Optional: market cap category filter "technical": { # Any technical criteria from above }, "fundamental": { # Any fundamental criteria from above }, "options": { # Any options criteria from above }, "news": { # Any news criteria from above } }, "watchlist": str, # Optional: name of watchlist to screen "save_result": str # Optional: name to save results }

カテゴリ値

フィルタリングに利用可能な時価総額のカテゴリー:

  • "mega_cap": >2000億ドル
  • 「大型株」: 100億ドル~2,000億ドル
  • 「ミッドキャップ」: 20億ドル~100億ドル
  • 「small_cap」: 3億ドル~20億ドル
  • 「マイクロキャップ」: <3億ドル
  • 「etf」: ETF商品
  1. manage_watchlist
{ "action": str, # Required: "create", "update", "delete", "get" "name": str, # Required: watchlist name (1-50 chars, alphanumeric with _ -) "symbols": List[str] # Required for create/update: list of stock symbols }
  1. get_screening_result
{ "name": str # Required: name of saved screening result }

応答形式

テクニカルスクリーンレスポンス

{ "screen_type": "technical", "criteria": dict, # Original criteria used "matches": int, # Number of matching stocks "results": [ # List of matching stocks { "symbol": str, "price": float, "volume": float, "rsi": float, "sma_20": float, "sma_50": float, "sma_200": float, "atr": float, "atr_pct": float, "price_changes": { "1d": float, # 1-day price change % "5d": float, # 5-day price change % "20d": float # 20-day price change % }, "ma_distances": { "pct_from_20sma": float, "pct_from_50sma": float, "pct_from_200sma": float } } ], "rejected": [ # List of stocks that didn't match { "symbol": str, "rejection_reasons": List[str] } ], "timestamp": str }

クロードの使用プロンプト

株式スクリーニング機能を提供するストックスクリーンツールを有効にしました。主に3つの機能をご利用いただけます。

  1. さまざまな基準タイプで株式をスクリーニングします。
    • テクニカル指標: 価格、出来高、RSI、移動平均、ATR
    • ファンダメンタルズ:時価総額、PER、配当、成長
    • オプション: IV、出来高、決算日
    • カスタム: 複数の条件タイプを組み合わせる
  2. ウォッチリストを管理する:
    • シンボルリストの作成と更新
    • 既存のウォッチリストを削除する
    • ウォッチリストの内容を取得する
  3. 保存されたスクリーニング結果にアクセスします。
    • 前の画面の結果を読み込む
    • 一致したシンボルと基準を確認する

すべての機能には、エラー処理、詳細な市場データ、包括的な対応が含まれます。

要件

  • Python 3.12以上
  • MCPサーバー
  • yファイナンス
  • パンダ
  • ナンピー
  • 非同期

制限事項

  • データはYahoo Financeから取得しており、遅延の可能性があります
  • Yahoo Finance API 制限に基づくレート制限
  • オプションデータの利用可能時間は市場時間によって異なります
  • 一部の財務指標は遅延または利用できない場合があります

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

著者

トッド・ウルブン - ( https://github.com/twolven )

謝辞

  • Anthropicのモデルコンテキストプロトコル(MCP)を使用して構築
  • データはYahoo Financeより提供
  • アントロピックのクロードとの使用のために開発されました
-
security - not tested
A
license - permissive license
-
quality - not tested

Yahoo!ファイナンスを通じて包括的な株式スクリーニング機能を提供します。LLMは、テクニカル、ファンダメンタル、オプションの基準に基づいて株式をスクリーニングでき、ウォッチリストの管理と結果の保存もサポートされます。

  1. Features
    1. Stock Screening
    2. Data Management
  2. Installation
    1. Usage
      1. Available Tools
        1. Available Tools
          1. Technical Screen Criteria
          2. Fundamental Screen Criteria
          3. Options Screen Criteria
          4. News Screen Criteria
          5. Custom Screen Criteria
          6. Category Values
        2. Response Formats
          1. Technical Screen Response
        3. Usage Prompt for Claude
          1. Requirements
            1. Limitations
              1. Contributing
                1. License
                  1. Author
                    1. Acknowledgments
                      ID: ddrv1ksb7n