关于 Stock Screener
stockscreen-mcp 是一个面向股票筛选的 MCP 服务,提供 12 个市场的每日选股、相对强度评级、市场广度和行业组排名。无需 API 密钥,数据读取自开源 stock-screener 项目每个收盘后发布的快照,适合研究与教育用途。
主要功能
- 0112 个市场的每日选股结果
- 0228 个预设筛选规则及自定义过滤条件
- 03个股 RS 评级、阶段与形态字段
- 04市场概览,包括风险敞口与市场广度指标
- 05IBD 风格的行业组相对强度排名
适用场景
- 01查询某市场当日通过特定选股策略的股票
- 02分析美国等市场的整体强弱与广度变化
- 03跟踪行业组排名的周度变化并查看领先个股
MCP 相关
该项目是一个 MCP 服务,向 Claude、Cursor、VS Code 等 MCP 客户端提供只读工具,如 run_screen、get_stock、market_overview 和 group_rankings。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
stockscreen-mcp
面向 12 个市场提供每日股票筛选、相对强度评级、市场广度和行业组排名,可供 Claude、Cursor、VS Code 或任何其他 MCP 客户端使用。
- 无需 API 密钥,也无需运行服务。
- 它会读取开源项目 stock-screener 在每个市场收盘后发布的快照。
- 数据与在线演示中的数据相同。
uvx stockscreen-mcp
**市场:**美国、加拿大、德国、中国香港、中国大陆、日本、韩国、中国台湾、印度、新加坡、马来西亚和澳大利亚。
你可以询问什么
- “今天美国市场中,哪些股票符合 Minervini 趋势模板?其中哪些属于排名前 20 的行业组?”
- “运行日本市场的 CANSLIM 筛选,并列出 3 个月 RS 最强的 5 只股票。”
- “美国市场目前的状况如何?包括仓位、派发日和市场广度。”
- “本周领先的行业组有哪些?哪些行业组排名上升最多?”
- “告诉我扫描对 NVDA 的所有信息,以及它符合哪些筛选条件。”
- “找出 RS 高于 90、处于第 2 阶段且季度 EPS 增长超过 25% 的香港股票。”
工具
所有工具均为只读。
| 工具 | 返回内容 |
|---|---|
list_markets | 当前发布中包含的市场,以及各市场的数据日期、状态和功能 |
list_screens | 28 种预设筛选及其确切规则:Minervini、CANSLIM、VCP、杯柄形态、紧密高旗形、动量、IPO 等 |
run_screen | 对某个市场扫描中的所有股票应用预设筛选和/或自定义筛选条件,排序并返回匹配数量。预设筛选返回的网站所显示的全部股票 |
get_stock | 单只股票的信息:RS 评级(整体、1M、3M、12M)、阶段、筛选评分、增长、行业组排名、形态和走势字段,以及符合的筛选条件 |
market_overview | 仓位评分和立场、派发日、跟进日、StockBee 风格的市场广度(4% 涨幅股、5/10 日比率、T2108、52 周新高/新低)、主要指数走势、顶尖行业组 |
group_rankings | 按相对强度排名的 IBD 风格行业组,包含 1W/1M/3M/6M 排名变化和每周走势。传入某个行业组即可获取其排名历史和最强股票 |
数据说明
- RS 评级(
rs_rating、rs_rating_1m/3m/12m)是以 1 到 99 表示的百分位数,比较范围为该股票所属的市场,99 表示最强。 - 行业组排名为 1 表示该行业组最强。
- **每个结果都包含
as_of_date:**该日期表示发布所覆盖的最近一个已完成交易日。这是收盘后数据,不包含任何盘中数据,也不会从价格数据提供商实时获取数据。
设置
该服务需要 uv,它会提供 uvx。
Claude Code
claude mcp add stockscreen -- uvx stockscreen-mcp
Claude Desktop:添加到 claude_desktop_config.json。
{
"mcpServers": {
"stockscreen": { "command": "uvx", "args": ["stockscreen-mcp"] }
}
}
Cursor:将相同的 mcpServers 条目添加到 ~/.cursor/mcp.json。
VS Code:添加到 .vscode/mcp.json。
{
"servers": {
"stockscreen": { "type": "stdio", "command": "uvx", "args": ["stockscreen-mcp"] }
}
}
Codex CLI:添加到 ~/.codex/config.toml。
[mcp_servers.stockscreen]
command = "uvx"
args = ["stockscreen-mcp"]
若要从 main 运行最新版本而非最新发行版,请将 args 中的 stockscreen-mcp 替换为 --from、git+https://github.com/xang1234/stock-screener#subdirectory=stockscreen-mcp、stockscreen-mcp。
工作原理
- **数据源:**该服务会读取静态网站发布到 GitHub Pages 的 JSON。根目录下的
manifest.json指向当前发布。 - **下载和缓存:**每个市场的扫描数据只会在首次使用时下载一次(美国市场的压缩数据约为 7 MB),并保存在内存中。最近使用的两个市场会保留在缓存中;出现新发布时,缓存会刷新。
- **数据 URL:**设置
STOCKSCREEN_DATA_URL,即可从其他发布源读取数据,例如 fork 的 GitHub Pages 网站。
开发
cd stockscreen-mcp
uv run pytest # unit tests, no network
STOCKSCREEN_LIVE=1 uv run pytest -m live # against the real publish
发布
- 在
src/stockscreen_mcp/__init__.py中更新__version__。同时更新server.json中的相同版本号(两个version字段),以及mcpb/manifest.json和mcpb/pyproject.toml中的版本号。若这些版本号不一致,tests/test_packaging.py会报错。 - 推送
stockscreen-mcp-v<version>标签。.github/workflows/stockscreen-mcp-release.yml会发布到 PyPI,然后通过使用 GitHub OIDC 的stockscreen-mcp-registry.yml发布到 MCP 注册表。 - 打包文件(需要 Node 20+,Smithery CLI 有此要求;
smithery_bundle.py会检查),从mcpb/构建:- Claude Desktop:
npx @anthropic-ai/mcpb pack . stockscreen-mcp.mcpb会构建 MCPBuv包。 - Smithery: 其 CLI 目前无法读取
uv类型(smithery-cli#801)。python smithery_bundle.py会将副本打包为python类型,文件名为stockscreen-mcp-smithery.mcpb。 - 发布到 Smithery:
smithery mcp publish stockscreen-mcp-smithery.mcpb -n davidten7/stockscreen-mcp,使用维护者的 Smithery 命名空间。
- Claude Desktop:
许可证和免责声明
Apache-2.0。本项目提供的是用于教育和研究的筛选数据,不构成投资建议。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。