mcpField
S
Signal Scanner

Signal Scanner

ローカル
github.com/cstamigo-droid金融データ04 週間前に更新

Signal Scanner について

Signal Scanner は YAML ルールで株式、ETF、為替、暗号資産をスクリーニングし、条件に合うシグナルを報告します。CLI、Telegram、MCP から設定可能な指標を使いたいユーザー向けです。

主な機能

  1. 01YAML によるウォッチリストとルール設定
  2. 02株式、ETF、為替、暗号資産のスキャン
  3. 03テクニカル指標の計算
  4. 04コンソールと Telegram での通知
  5. 05単発スキャンと定期監視

活用シーン

  1. 01独自の指標条件による銘柄の選別
  2. 02定期的な市場動向の監視
  3. 03MCP ホストからのスキャン結果の取得

MCP 対応

MCP サーバーとして `scan` ツールを公開し、Claude Desktop や Claude Code などの MCP ホストからスキャンを実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

signal-scanner — アラート機能付きのルールベース株式/暗号資産スクリーナー

signal-scanner MCP server

License: MIT Python MCP

signal-scanner - ライブスキャンのデモ

ウォッチリストとルールセット(通常の YAML)を定義すると、スキャナーが市場データを取得して指標を計算し、条件に一致する銘柄をコンソール、Telegram、または任意のMCP ホスト(Claude Desktop/Claude Code)から通知します。

一度構築し、クライアントごとに見た目を変えられます。watchlist.txt と rules.yaml を差し替えて、提供するだけです。

選ばれる理由

  • デフォルトで API キー不要。 yfinance 経由で市場データを取得するため、API キーは不要です。株式、ETF、外国為替(EURUSD=X)、暗号資産(BTC-USD)に対応しています。どこでもデモを実行できます。
  • ノーコードのルール。 クライアントはrules.yaml(指標の条件)を編集するだけで、コードを編集する必要はありません。
  • 信頼できるシグナル。 指標は確定済みのローソク足から計算されます(先読みなし)。データのない銘柄は報告され、データがあるように見せかけることはありません。
  • 状況に応じた通知。 ボットトークンが設定されていれば Telegram でアラートを通知し、設定されていなければコンソールに出力します。スキャナーは常に実行されます。
  • 3 つの利用方法、1 つのエンジン。 CLI(1 回実行または--watch)、Telegram プッシュ通知、MCP のscanツールに対応しています。

指標とルール

銘柄ごとの指標: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。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。