StockScreen MCP Server
通过雅虎财经提供全面的股票筛选功能。使大型语言模型(LLM)能够根据技术、基本面和期权标准筛选股票,并支持自选股管理和结果存储。
README
StockScreen MCP 服务器
一个模型上下文协议 (MCP) 服务器,通过 Yahoo Finance 提供全面的股票筛选功能。使 LLM 能够根据技术、基本面和期权标准筛选股票,并支持自选股管理和结果存储。
功能
股票筛选
-
技术分析筛选
- 价格和成交量过滤器
- 移动平均线 (20, 50, 200 SMA)
- RSI 指标
- 平均真实波幅 (ATR)
- 趋势分析(1 天、5 天、20 天变化)
- MA 距离计算
-
基本面筛选
- 市值过滤器
- 市盈率分析
- 股息率标准
- 收入增长指标
- ETF 特定指标(AUM、费用率)
-
期权筛选
- 隐含波动率 (IV) 过滤器
- 期权成交量和未平仓合约
- 看跌/看涨比率分析
- 买卖价差评估
- 财报发布日期临近度检查
数据管理
- 自选股创建和管理
- 筛选结果存储
- 默认股票类别
- 超大盘股(>$2000 亿)
- 大型股($100 亿-$2000 亿)
- 中型股($20 亿-$100 亿)
- 小型股($3 亿-$20 亿)
- 微型股(<$3 亿)
- ETF
安装
# 安装依赖
pip install -r requirements.txt
# 克隆仓库
git clone https://github.com/twolven/mcp-stockscreen.git
cd mcp-stockscreen
使用
- 添加到您的 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, # 最低股价
"max_price": float, # 最高股价
"min_volume": int, # 最低平均成交量
"above_sma_200": bool, # 股价高于 200 日 SMA
"above_sma_50": bool, # 股价高于 50 日 SMA
"min_rsi": float, # 最低 RSI 值
"max_rsi": float, # 最高 RSI 值
"max_atr_pct": float, # 最大 ATR 占股价的百分比
"category": str # 可选:市值类别过滤器
},
"watchlist": str, # 可选:要筛选的自选股名称
"save_result": str # 可选:保存结果的名称
}
基本面筛选标准
{
"screen_type": "fundamental",
"criteria": {
"min_market_cap": float, # 最低市值
"min_pe": float, # 最低市盈率
"max_pe": float, # 最高市盈率
"min_dividend": float, # 最低股息率 (%)
"min_revenue_growth": float, # 最低收入增长率
"category": str, # 可选:市值类别过滤器
# ETF 特定标准
"min_aum": float, # 最低资产管理规模
"max_expense_ratio": float, # 最高费用率
"min_volume": float # 最低交易量
},
"watchlist": str, # 可选:要筛选的自选股名称
"save_result": str # 可选:保存结果的名称
}
期权筛选标准
{
"screen_type": "options",
"criteria": {
"min_iv": float, # 最低隐含波动率 (%)
"max_iv": float, # 最高隐含波动率 (%)
"min_option_volume": int, # 最低期权成交量
"min_put_call_ratio": float, # 最低看跌/看涨比率
"max_spread": float, # 最大买卖价差 (%)
"min_days_to_earnings": int, # 距离财报发布的最短天数
"max_days_to_earnings": int, # 距离财报发布的最长天数
"category": str # 可选:市值类别过滤器
},
"watchlist": str, # 可选:要筛选的自选股名称
"save_result": str # 可选:保存结果的名称
}
新闻筛选标准
{
"screen_type": "news",
"criteria": {
"keywords": List[str], # 在新闻中搜索的关键词
"exclude_keywords": List[str], # 从结果中排除的关键词
"min_days": int, # 搜索的最短天数
"max_days": int, # 搜索的最长天数
"management_changes": bool, # 筛选管理层变动
"require_all_keywords": bool, # 要求所有关键词都匹配
"category": str # 可选:市值类别过滤器
},
"watchlist": str, # 可选:要筛选的自选股名称
"save_result": str # 可选:保存结果的名称
}
自定义筛选标准
{
"screen_type": "custom",
"criteria": {
"category": str, # 可选:市值类别过滤器
"technical": {
# 来自上述的任何技术标准
},
"fundamental": {
# 来自上述的任何基本面标准
},
"options": {
# 来自上述的任何期权标准
},
"news": {
# 来自上述的任何新闻标准
}
},
"watchlist": str, # 可选:要筛选的自选股名称
"save_result": str # 可选:保存结果的名称
}
类别值
可用于筛选的可用市值类别:
- "mega_cap": >$2000 亿
- "large_cap": $100 亿-$2000 亿
- "mid_cap": $20 亿-$100 亿
- "small_cap": $3 亿-$20 亿
- "micro_cap": <$3 亿
- "etf": ETF 工具
manage_watchlist
{
"action": str, # 必需:"create"、"update"、"delete"、"get"
"name": str, # 必需:自选股名称(1-50 个字符,字母数字,带 _ -)
"symbols": List[str] # 创建/更新时必需:股票代码列表
}
get_screening_result
{
"name": str # 必需:已保存的筛选结果的名称
}
响应格式
技术筛选响应
{
"screen_type": "technical",
"criteria": dict, # 使用的原始标准
"matches": int, # 匹配的股票数量
"results": [ # 匹配的股票列表
{
"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 天股价变化 %
"5d": float, # 5 天股价变化 %
"20d": float # 20 天股价变化 %
},
"ma_distances": {
"pct_from_20sma": float,
"pct_from_50sma": float,
"pct_from_200sma": float
}
}
],
"rejected": [ # 未匹配的股票列表
{
"symbol": str,
"rejection_reasons": List[str]
}
],
"timestamp": str
}
Claude 的使用提示
"我已经启用了提供股票筛选功能的 stockscreen 工具。您可以使用三个主要功能:
-
使用各种标准类型筛选股票:
- 技术:价格、成交量、RSI、移动平均线、ATR
- 基本面:市值、市盈率、股息、增长
- 期权:IV、成交量、财报发布日期
- 自定义:组合多种标准类型
-
管理自选股:
- 创建和更新股票代码列表
- 删除现有自选股
- 检索自选股内容
-
访问已保存的筛选结果:
- 加载之前的筛选结果
- 查看匹配的股票代码和标准
所有功能都包括错误处理、详细的市场数据和全面的响应。"
要求
- Python 3.12+
- MCP 服务器
- yfinance
- pandas
- numpy
- asyncio
限制
- 数据来源于 Yahoo Finance,可能存在延迟
- 基于 Yahoo Finance API 限制的速率限制
- 期权数据的可用性取决于市场交易时间
- 某些财务指标可能会延迟或不可用
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
作者
Todd Wolven - (https://github.com/twolven)
致谢
- 由 Anthropic 的模型上下文协议 (MCP) 构建
- 数据由 Yahoo Finance 提供
- 为与 Anthropic 的 Claude 一起使用而开发
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

chromia-mcp
使人工智能能够与 Chromia 钱包交互,以发送 $CHR 交易。
TripleWhale MCP Server
一个模型上下文协议 (MCP) 的实现,允许用户通过 Claude Desktop 使用自然语言查询与 TripleWhale 的电子商务分析平台进行交互。
Adamik MCP Server
通过 Claude Desktop 实现与 60 多个区块链网络的读写交互,为交易管理、账户洞察、质押和代币交互提供标准化的多链 API。
Open-Ledger-MCP-Server
一个用于 OpenLedger API 的模型上下文协议 (MCP) 服务器实现。该服务器根据 MCP 规范为 AI 模型提供结构化的上下文。
ntropy-mcp MCP Server
启用使用 Ntropy API 丰富银行数据的功能,并提供高效创建账户持有人和丰富交易信息的工具。
Iaptic MCP Server
一个用于与 Iaptic API 交互的服务器,允许像 Claude 这样的人工智能模型查询客户、购买和交易数据,并检索统计见解。
Bitrefill Search and Shop
这个 MCP 封装了 Bitrefill 的公共 API,允许代理使用比特币、以太坊、Solana 等加密货币搜索产品和购物。
MCP EVM Signer
一个服务器,可以在本地安全地管理以太坊私钥,并使 Claude for Desktop 能够通过 Infura 与 EVM 兼容的区块链进行交互。
Cryptocurrency Daemon MCP Server
通过人工智能助手实现与加密货币守护进程RPC接口的安全交互,支持基于比特币的加密货币的交易管理、钱包操作和守护进程监控。