StockMarketScan

18 tools for US stock screeners, chart patterns, options flow signals and equities research.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
87%
命名の品質
98%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~5,107トークン数(ツール定義)
~1.2 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 3.99%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "mcp-server": {
      "url": "https://mcp.stockmarketscan.com/mcp"
    }
  }
}

リモートエンドポイント

https://mcp.stockmarketscan.com/mcpsse

できること

ツール一覧

ツール(20)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢ping

Minimal sanity check. Returns { status, version, timestamp, cache_size }. No auth needed. Use this to verify the MCP server is reachable and responsive.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢list_screeners

Return metadata for all 24 stock screeners on the platform, including each screener's slug, name, description, category, and tier. Use this to discover which screeners are available before calling get_screener_data. Call this once per session — the list changes very rarely. Returns { tier, total, accessible, screeners: [...] }.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_screener_data(slug, page, limit)

Return the current rows of a single stock screener for its latest data date. Use this when the user asks about a specific screener like 'hot prospects' or 'golden cross'. Common slugs: hot-prospects, golden-cross, death-cross, rsi-oversold, rsi-overbought, defensive-stocks, dividend-prospects, j-pattern, nearing-6-month-highs, week-52-high-top-picks, top-penny-pops, strong-volume-gains, top-tech-stocks, fundamentally-fine, income-and-growth, best-reits. If you don't know the slug, call list_screeners first. Returns { screener, pagination, data: [stock rows] }.

入力スキーマ

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "The screener slug, e.g. 'hot-prospects', 'golden-cross', 'rsi-oversold'"
    },
    "page": {
      "description": "Page number (1-based)",
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 10000
    },
    "limit": {
      "description": "Rows per page (max 500)",
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search_stocks_in_screeners(screener_slugs, mode, limit)

Find stocks that appear in multiple screeners simultaneously. Powerful for high-confidence picks where the user wants confluence across strategies. Use when the user asks 'which stocks are in both X and Y' or 'find stocks in 3+ bullish screeners'. Returns { screeners_queried, mode, count, symbols: [{symbol, screeners, match_count}] }. Intersection mode returns only stocks in ALL listed screeners; union returns stocks in ANY.

入力スキーマ

{
  "type": "object",
  "properties": {
    "screener_slugs": {
      "minItems": 1,
      "maxItems": 24,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of screener slugs to query (1-24)"
    },
    "mode": {
      "description": "intersection = stocks in ALL screeners; union = stocks in ANY screener",
      "default": "intersection",
      "type": "string",
      "enum": [
        "intersection",
        "union"
      ]
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "required": [
    "screener_slugs"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_chart_patterns(symbol, interval)

Return all chart patterns currently detected for a single stock symbol. Detectable pattern ids: double_top, double_bottom, triple_top, triple_bottom, head_shoulders, inv_head_shoulders, round_bottom, cup_handle, asc_triangle, desc_triangle, sym_triangle, channel_up, channel_down, rectangle, flag, wedge_rising, wedge_falling, abcd, gartley, bat, butterfly, crab, impulse_wave, corrective_wave. Use when the user asks 'what patterns does X have' or 'is X forming a head and shoulders'. Requires a Basic or Pro API key. Returns { symbol, interval, computedAt, candleCount, patterns: [...] }. Empty patterns array if none detected.

入力スキーマ

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker, e.g. AAPL, TSLA, MSFT"
    },
    "interval": {
      "description": "Chart interval",
      "default": "1d",
      "type": "string",
      "enum": [
        "1d",
        "1wk"
      ]
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search_patterns(screener_slugs, pattern_ids, interval, limit)

Find all stocks across one or more screeners that currently exhibit specific chart patterns. Much faster than calling get_chart_patterns in a loop. Use when the user asks 'which stocks have a cup and handle' or 'find me hot prospects with bullish reversal patterns'. Requires a Basic or Pro API key. Results are capped per screener group via `limit` (default 100); capped groups carry `truncated: true`. Returns { interval, selectedPatterns, totalUniqueStocks, groups: [...] }.

入力スキーマ

{
  "type": "object",
  "properties": {
    "screener_slugs": {
      "minItems": 1,
      "maxItems": 24,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Screener slugs to search within"
    },
    "pattern_ids": {
      "description": "Pattern ids to filter by. Empty = all patterns. Valid ids: double_top, double_bottom, triple_top, triple_bottom, head_shoulders, inv_head_shoulders, round_bottom, cup_handle, asc_triangle, desc_triangle, sym_triangle, channel_up, channel_down, rectangle, flag, wedge_rising, wedge_falling, abcd, gartley, bat, butterfly, crab, impulse_wave, corrective_wave",
      "default": [],
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "interval": {
      "description": "Chart interval",
      "default": "1d",
      "type": "string",
      "enum": [
        "1d",
        "1wk"
      ]
    },
    "limit": {
      "description": "Max matching stocks per screener group (default 100)",
      "default": 100,
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "required": [
    "screener_slugs"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_options_flow_overview(date, sort, limit)

Return the daily options flow table for one trading day — aggregated call/put volume, premium, implied volatility, and consecutive-day streaks for every notable symbol. Use when the user asks 'what's the options flow today' or 'show me the top premium plays'. Each row includes call_put_volume_ratio (bullish if > 1.0), consecutive_days (streak length), total_premium (dollar size), call_avg_iv/put_avg_iv. Returns { date, sort, limit, data: [...], stats, dates }. Tier: Pro only — Basic users get 403.

入力スキーマ

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Trading day (YYYY-MM-DD). Default = latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "sort": {
      "description": "Sort order: streak=longest streaks first, volume=highest volume, callput=most extreme C/P, premium=biggest dollar",
      "default": "streak",
      "type": "string",
      "enum": [
        "streak",
        "volume",
        "callput",
        "premium"
      ]
    },
    "limit": {
      "description": "Rows to return (max 500)",
      "default": 100,
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_options_flow_timeline(symbol, limit)

Return the historical options flow for a single stock — most recent days first. Use when the user asks 'show me X's options flow history' or 'how long has X been bullish'. Returns { symbol, limit, count, data: [daily rows, newest first] }. Tier: Pro only.

入力スキーマ

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker"
    },
    "limit": {
      "description": "Days of history (max 365)",
      "default": 60,
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_options_flow_ranked(date_from, date_to, limit)

Return ranked options flow entries for a date range — the entries that stand out by long consecutive-day streaks, large premium, and screener confluence. Each entry includes data-only performance tracking measured from a realistic entry reference: entry_price = open of the trading day AFTER signal_date (the close of signal_date is unreachable for live trading). max_gain_pct/max_drawdown_pct/price_change_pct are computed against entry_price; if that day's US open hasn't happened yet, these fields and entry_price are null ('pending'). This is descriptive market data for your own research, not a recommendation. If date_from/date_to omitted, returns last 60 days. Returns { count, signals: [...] }. Tier: Pro only.

入力スキーマ

{
  "type": "object",
  "properties": {
    "date_from": {
      "description": "Start date (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "End date (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "Max signals returned (default 500)",
      "default": 500,
      "type": "integer",
      "minimum": 1,
      "maximum": 2000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_options_flow_sentiment(date_from, date_to)

Return daily options market sentiment — one row per trading day. Combines NYSE/NASDAQ market breadth (advance/decline + new highs/lows) with the market-wide call/put ratio. Each row includes market_breadth_score (0-100), market_call_put_ratio, the daily filter context (bullish_only/bearish_only/mixed), bullish_count/bearish_count of signals that day, plus a derived sentiment_score (0-100) and sentiment_label (bullish/neutral/bearish). Use when the user asks 'what's market sentiment today', 'how bullish is the market', 'show me sentiment over the last week'. If date_from/date_to omitted, returns last 60 days. Returns { dateFrom, dateTo, count, data: [...] }. Tier: Pro only.

入力スキーマ

{
  "type": "object",
  "properties": {
    "date_from": {
      "description": "Start date (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "End date (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_unusual_options_activity(symbol, side, min_vol_oi, min_premium_usd, max_dte, ...)

Return individual options contracts flagged as unusual (Vol/OI > 1.5). Each row is one contract, not one stock. Use when the user wants contract-level detail. Filter by symbol, side (call/put/both), minimum vol/oi, minimum premium, or max days to expiration. For aggregated stock-level flow use get_options_flow_overview instead. Returns { date, count, contracts: [...] }.

入力スキーマ

{
  "type": "object",
  "properties": {
    "symbol": {
      "description": "Filter to one symbol",
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$"
    },
    "side": {
      "default": "both",
      "type": "string",
      "enum": [
        "call",
        "put",
        "both"
      ]
    },
    "min_vol_oi": {
      "default": 1.5,
      "type": "number",
      "minimum": 0
    },
    "min_premium_usd": {
      "default": 25000,
      "type": "number",
      "minimum": 0
    },
    "max_dte": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "default": 300,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_stock_info(symbol)

Return basic metadata for a stock — full company name, exchange, industry, last close price, and percent change. Use this when you first encounter a symbol and need to identify it. Lighter than get_stock_report (composite) or get_candles (full history). Returns { symbol, symbol_name, last_price, percent_change, exchange, industry }. Returns NOT_FOUND for unknown tickers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker, e.g. AAPL"
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_candles(symbol, interval, range)

Return OHLCV price candles for a single stock. Use when you need price history to compute indicators or answer 'how much is X up this month'. time is a Unix epoch in seconds (UTC midnight for daily). Default range is 6mo. Use larger ranges like '1y' or '2y' only when the user explicitly asks for long history — max range is 20 years. Returns { symbol, interval, range, count, data: [{time, open, high, low, close, volume}] }.

入力スキーマ

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker"
    },
    "interval": {
      "description": "Daily or weekly candles",
      "default": "1d",
      "type": "string",
      "enum": [
        "1d",
        "1wk"
      ]
    },
    "range": {
      "description": "Range: 1d, 5d, 1y, 2y, 5y, max, or {N}mo (1-240)",
      "default": "6mo",
      "type": "string"
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search_stocks(query, limit)

Search for stocks by ticker prefix or company name. THE tool to use when the ticker is unknown ('what's the symbol for Palantir?') or ambiguous — resolve the name to a symbol here, then use get_stock_info / get_stock_report with the symbol. No API key required. Returns { query, count, data: [{symbol, name}] } ordered by best match.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "Symbol prefix or part of the company name, e.g. 'Apple' or 'NVD'"
    },
    "limit": {
      "description": "Max results (default 10)",
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_stock_report(symbol, interval)

Return a comprehensive report on a single stock in one call — metadata, screener appearances, chart patterns, options flow, signal status, price summary, and upcoming earnings. THIS IS THE PREFERRED FIRST TOOL when a user asks about a single stock. It replaces 5-7 separate tool calls (get_stock_info + get_chart_patterns + get_options_flow_timeline + get_options_flow_ranked + screener lookups + get_candles). Do NOT also call the primitives after calling this — the composite already has everything. Parallel fetch under the hood, graceful partial failures (if one source errors, that section returns null with a note). Returns { symbol, info, screeners, patterns, options_flow, signal, candle_summary, upcoming_earnings, overall_bias }. overall_bias is a heuristic hint, not financial advice.

入力スキーマ

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker, e.g. AAPL"
    },
    "interval": {
      "description": "Pattern detection interval",
      "default": "1d",
      "type": "string",
      "enum": [
        "1d",
        "1wk"
      ]
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search_setups(side, limit)

Find the strongest trading setups today by combining options flow signals and screener confluence into a ranked list. Use when the user asks 'what should I trade today', 'best setups', 'top bullish plays'. Returns a ranked list with a composite score (signal strength + screener confluence + streak length). Present the top 3-5 to the user with narrative context, don't dump the raw JSON. Use get_stock_report if the user wants to dig deeper into any specific result. Returns { side, date, count, setups: [{symbol, score, signal, screeners_hit, ...}] }.

入力スキーマ

{
  "type": "object",
  "properties": {
    "side": {
      "description": "Side of setups to return",
      "default": "bullish",
      "type": "string",
      "enum": [
        "bullish",
        "bearish"
      ]
    },
    "limit": {
      "description": "Max setups to return",
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_market_momentum(date, date_from, date_to)

Return NYSE and NASDAQ market breadth data — advancing/declining issues, new highs/lows, percent advancing. Use when the user asks 'how's the market today' or 'is breadth strong'. Default (no params): last 7 trading days. Returns { dates, count, data: [{exchange, advancing_issues, declining_issues, new_highs, new_lows, percent_advancing_issues, data_date}] }. Two rows per date (NYSE + NASDAQ). Tier: Basic+.

入力スキーマ

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Single day (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_from": {
      "description": "Range start",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "Range end",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_trends(category, days, latest, date)

Return AI-detected trending topics in tech & science, patents, or funding events. Use when the user asks 'what's trending in tech' or 'show me patent trends'. Returns { category, count, trends: [{date, topic, weight}] } where weight is 0-1. Tier: Pro only.

入力スキーマ

{
  "type": "object",
  "properties": {
    "category": {
      "description": "Trend category",
      "default": "techscience",
      "type": "string",
      "enum": [
        "techscience",
        "patents",
        "fundingevents"
      ]
    },
    "days": {
      "description": "Lookback window",
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 180
    },
    "latest": {
      "description": "If true, only return most recent day",
      "default": false,
      "type": "boolean"
    },
    "date": {
      "description": "Exact date lookup",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_trend_connections(days, latest, date, limit)

Return AI-computed connections between trending topics across categories (tech → patents, tech → funding, etc). Useful for spotting meta-trends. Use when the user asks 'what trends are connected' or 'show me cross-category signals'. Returns { count, connections: [{source_category, source_topic, target_category, target_topic, strength, rationale}] }. Tier: Pro only.

入力スキーマ

{
  "type": "object",
  "properties": {
    "days": {
      "default": 14,
      "type": "integer",
      "minimum": 1,
      "maximum": 90
    },
    "latest": {
      "default": false,
      "type": "boolean"
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "Max connections returned (default 200)",
      "default": 200,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢explain_concept(term)

Return a plain-language explanation of a platform-specific term, metric, or screener. Use ONLY for terms that are specific to StockMarketScan (e.g. 'strength_score' which is our internal scoring, or 'hot_prospects' which is our curated screener). Do NOT use for generic finance terms the model already knows — answer those directly. Returns { term, title, explanation, interpretation, related_terms }.

入力スキーマ

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "minLength": 1,
      "description": "Term to explain, e.g. 'call_put_ratio', 'golden_cross', 'consecutive_days', 'strength_score', 'vol_oi_ratio', 'streak'"
    }
  },
  "required": [
    "term"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 20 件
検証済みバージョンは記録されていませんツール 20 件