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
Related MCP server: Yahoo Finance MCP for LLaMA 3.2 3B
インストール
# Install dependencies
pip install -r requirements.txt
# Clone the repository
git clone https://github.com/twolven/mcp-stockscreen.git
cd mcp-stockscreen使用法
Claude 構成に追加します。claude
claude-desktop-config.jsonで、mcpServersセクションに以下を追加します。
{
"mcpServers": {
"stockscreen": {
"command": "python",
"args": ["path/to/stockscreen.py"]
}
}
}「path/to/stockscreen.py」を、stockscreen.py ファイルを保存した場所へのフルパスに置き換えます。
利用可能なツール
利用可能なツール
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商品
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
}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つの機能をご利用いただけます。
さまざまな基準タイプで株式をスクリーニングします。
テクニカル指標: 価格、出来高、RSI、移動平均、ATR
ファンダメンタルズ:時価総額、PER、配当、成長
オプション: IV、出来高、決算日
カスタム: 複数の条件タイプを組み合わせる
ウォッチリストを管理する:
シンボルリストの作成と更新
既存のウォッチリストを削除する
ウォッチリストの内容を取得する
保存されたスクリーニング結果にアクセスします。
前の画面の結果を読み込む
一致したシンボルと基準を確認する
すべての機能には、エラー処理、詳細な市場データ、包括的な対応が含まれます。
要件
Python 3.12以上
MCPサーバー
yファイナンス
パンダ
ナンピー
非同期
制限事項
データはYahoo Financeから取得しており、遅延の可能性があります
Yahoo Finance API 制限に基づくレート制限
オプションデータの利用可能時間は市場時間によって異なります
一部の財務指標は遅延または利用できない場合があります
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
著者
トッド・ウルブン - ( https://github.com/twolven )
謝辞
Anthropicのモデルコンテキストプロトコル(MCP)を使用して構築
データはYahoo Financeより提供
アントロピックのクロードとの使用のために開発されました