mcpField
S
Stock Screener

Stock Screener

本地服务
xang1234.github.io金融数据401今天更新

关于 Stock Screener

stockscreen-mcp 是一个面向股票筛选的 MCP 服务,提供 12 个市场的每日选股、相对强度评级、市场广度和行业组排名。无需 API 密钥,数据读取自开源 stock-screener 项目每个收盘后发布的快照,适合研究与教育用途。

主要功能

  1. 0112 个市场的每日选股结果
  2. 0228 个预设筛选规则及自定义过滤条件
  3. 03个股 RS 评级、阶段与形态字段
  4. 04市场概览,包括风险敞口与市场广度指标
  5. 05IBD 风格的行业组相对强度排名

适用场景

  1. 01查询某市场当日通过特定选股策略的股票
  2. 02分析美国等市场的整体强弱与广度变化
  3. 03跟踪行业组排名的周度变化并查看领先个股

MCP 相关

该项目是一个 MCP 服务,向 Claude、Cursor、VS Code 等 MCP 客户端提供只读工具,如 run_screen、get_stock、market_overview 和 group_rankings。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"xang1234-stockscreen": {
"command": "uvx",
"args": [
"stockscreen-mcp"
]
}
}
}
启动命令uvx stockscreen-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypistockscreen-mcp0.1.1

工具

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_screens28 种预设筛选及其确切规则: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
发布
  1. 在 src/stockscreen_mcp/__init__.py 中更新 __version__。同时更新 server.json 中的相同版本号(两个 version 字段),以及 mcpb/manifest.json 和 mcpb/pyproject.toml 中的版本号。若这些版本号不一致,tests/test_packaging.py 会报错。
  2. 推送 stockscreen-mcp-v<version> 标签。.github/workflows/stockscreen-mcp-release.yml 会发布到 PyPI,然后通过使用 GitHub OIDC 的 stockscreen-mcp-registry.yml 发布到 MCP 注册表。
  3. 打包文件(需要 Node 20+,Smithery CLI 有此要求;smithery_bundle.py 会检查),从 mcpb/ 构建:
    • Claude Desktop: npx @anthropic-ai/mcpb pack . stockscreen-mcp.mcpb 会构建 MCPB uv 包。
    • 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 命名空间。

许可证和免责声明

Apache-2.0。本项目提供的是用于教育和研究的筛选数据,不构成投资建议。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。