关于 Signal Scanner
Signal Scanner 按 YAML 规则筛选股票、ETF、外汇和加密货币,并报告符合条件的信号。适合希望通过 CLI、Telegram 或 MCP 使用可配置指标的用户。
主要功能
- 01通过 YAML 配置观察列表和规则
- 02扫描股票、ETF、外汇和加密货币
- 03计算技术指标
- 04通过控制台和 Telegram 提醒
- 05支持单次扫描和持续监控
适用场景
- 01按自定义指标条件筛选标的
- 02定时监控市场变化
- 03通过 MCP 主机请求扫描结果
MCP 相关
它通过 MCP 服务提供 `scan` 工具,MCP 主机(如 Claude Desktop 或 Claude Code)可借此运行扫描。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
signal-scanner — 基于规则的股票/加密货币筛选器,支持提醒

定义一个观察列表和一个规则集(纯 YAML);筛选器会获取市场数据、 计算指标,并告诉你哪些交易品种符合条件——在控制台、Telegram 中, 或通过任何 MCP 主机(Claude Desktop / Claude Code)获取结果。
一次构建,按客户端定制:替换
watchlist.txt+rules.yaml,即可交付。
有何不同
- 默认无需密钥。 通过 yfinance 获取市场数据——无需 API 密钥。支持股票、ETF、外汇(
EURUSD=X)和加密货币(BTC-USD)。随处演示。 - 无代码规则。 客户端编辑
rules.yaml(基于指标设置条件)——无需修改代码。 - 信号真实可靠。 指标根据已收盘的 K 线计算(不使用未来数据);没有数据的交易品种会如实报告,绝不伪造。
- 交付方式灵活。 设置了机器人令牌时发送 Telegram 提醒;否则输出到控制台。筛选器始终运行。
- 三种使用方式,一个引擎。 CLI(运行一次或使用
--watch)、Telegram 推送,以及 MCPscan工具。
指标与规则
每个交易品种的指标:price、pct_change、rsi、sma_fast、sma_slow、
sma_cross(golden/death)、vol_ratio(与 20 日均值相比)、pct_from_52w_high、pct_from_52w_low。
当所有条件都成立时,规则会触发:
rules:
- name: oversold
when:
- {indicator: rsi, op: "<", value: 30}
- name: volume_spike_up
when:
- {indicator: vol_ratio, op: ">", value: 2.0}
- {indicator: pct_change, op: ">", value: 1.0}
快速开始
pip install -r requirements.txt
PYTHONUTF8=1 python tests/test_smoke.py # deterministic, no network — proves the engine
python -m signal_scanner # scan the watchlist once, print matches
python -m signal_scanner AAPL MSFT BTC-USD # scan ad-hoc symbols
python -m signal_scanner --watch # loop every SCAN_INTERVAL_S (default 15m)
python -m signal_scanner --notify # also push matches to Telegram (if configured)
Telegram(可选)
使用 @BotFather 创建机器人并获取令牌;通过 @userinfobot 获取你的聊天 ID。然后在 .env 中:
TELEGRAM_BOT_TOKEN=...
TELEGRAM_CHAT_ID=...
作为 MCP 服务(Claude Desktop)
{
"signal-scanner": {
"command": "python",
"args": ["-m", "signal_scanner.server"],
"cwd": "C:/path/to/signal-scanner"
}
}
如果 python 不在 PATH 中,请使用 Python 的完整路径(例如运行 pip install -r requirements.txt 时所用的 Python)。然后向 Claude 提问:"运行我的筛选器" 或 "NVDA 和 BTC-USD 有什么信号吗?"——它会调用 scan 工具。
配置
所有可调参数都在 config.py / .env 中(参见 .env.example):RSI 周期、SMA 快速/慢速周期、
成交量窗口、回溯期、轮询间隔、数据后端、Telegram。通常,只需替换 watchlist.txt + rules.yaml,
即可按客户端定制。
架构
watchlist.txt ─┐
├─ scanner.py ─ data.py(yfinance) ─ indicators.py ─ rules.py(rules.yaml)
rules.yaml ────┘ │
signals ──> console / Telegram / MCP `scan`
复用 mcp-factory 合约(Result、formatting、cache),因此可与目录中的其他工具组合使用。
许可证
MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。