Skip to main content
Glama
twolven

StockScreen MCP Server

StockScreen MCP 服务器

模型上下文协议 (MCP) 服务器通过雅虎财经提供全面的股票筛选功能。它使 LLM 能够根据技术、基本面和期权标准筛选股票,并支持关注列表管理和结果存储。

特征

股票筛选

  • 技术分析筛选

    • 价格和数量过滤器

    • 移动平均线(20、50、200 SMA)

    • RSI 指标

    • 平均真实波动幅度 (ATR)

    • 趋势分析(1天、5天、20天变化)

    • MA 距离计算

  • 基础筛查

    • 市值过滤器

    • 市盈率分析

    • 股息收益率标准

    • 收入增长指标

    • ETF 特定指标(资产管理规模、费用率)

  • 选项筛选

    • 隐含波动率(IV)过滤器

    • 期权交易量和未平仓合约

    • 看跌/看涨比率分析

    • 买卖价差评估

    • 收益日期临近检查

数据管理

  • 监视列表创建和管理

  • 筛选结果存储

  • 默认符号类别

    • 超大市值(>2000亿美元)

    • 大盘股(100亿美元-2000亿美元)

    • 中型股(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

用法

  1. 添加到您的 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亿美元

  • “large_cap”:100亿美元-2000亿美元

  • “中盘股”:20亿美元至100亿美元

  • “small_cap”:3亿至20亿美元

  • “micro_cap”:<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 }

克劳德的使用提示

我已启用提供股票筛选功能的 stockscreen 工具。您可以使用以下三个主要功能:

  1. 使用多种标准类型筛选股票:

    • 技术面:价格、成交量、RSI、移动平均线、ATR

    • 基本面:市值、市盈率、股息、增长

    • 选项:IV、交易量、收益日期

    • 自定义:组合多种条件类型

  2. 管理关注列表:

    • 创建和更新符号列表

    • 删除现有的关注列表

    • 检索监视列表内容

  3. 访问已保存的筛选结果:

    • 加载上一屏结果

    • 审查匹配的符号和标准

所有功能包括错误处理、详细的市场数据和全面的响应。”

要求

  • Python 3.12+

  • MCP 服务器

  • yfinance

  • 熊猫

  • numpy

  • 异步

限制

  • 数据来源于雅虎财经,可能会有延迟

  • 基于 Yahoo Finance API 限制的速率限制

  • 期权数据的可用性取决于市场时间

  • 某些财务指标可能会延迟或不可用

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

作者

托德·沃尔文 - ( https://github.com/tolven )

致谢

  • 使用 Anthropic 的模型上下文协议 (MCP) 构建

  • 数据由雅虎财经提供

  • 专为与 Anthropic 的 Claude 配合使用而开发

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/twolven/mcp-stockscreen'

If you have feedback or need assistance with the MCP directory API, please join our Discord server