Koskamo

StockMarketScan MCP

An official MCP server providing 20 tools for US stock screening, chart pattern detection, options flow analysis, and equity research. It allows AI agents to query live market data, build stock reports, and analyze market context using natural language prompts, with support for OAuth and API key authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

StockMarketScan MCP logo, by StockMarketScanVendor evidenceLegacy SSENo sign-inEndpoint checked 2026-11-01Operated by StockMarketScan
You need:Custom connectors need a Pro, Max, Team or Enterprise account.Generate an API key in Settings and send it as X-API-Key or as Authorization: Bearer .
MCP endpoint (Legacy SSE)
https://mcp.stockmarketscan.com/mcp
Vendor documentation

What you can do with it

  • Screen stocks based on technical patterns like cup and handle
  • Analyze options flow history and unusual activity for specific tickers
  • Generate comprehensive stock reports combining screeners and market context
  • Identify stocks appearing in multiple curated screeners simultaneously

Source and maintenance

Vendor evidenceRegistry 1.0.5
Maintenance checked

Protocol and capabilities

Server
stockmarketscan 1.0.2
MCP protocol
2025-06-18
Tools
20 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

StockMarketScan exposes US equity screeners, chart patterns, options flow and per-stock research. Tool selection tips: - One stock, broad question ("what's going on with NVDA") -> get_stock_report. It bundles quote, patterns, options flow, candles and screener membership in one call. Do not assemble that yourself from four tools. - "Which stocks match X" -> search_setups or search_stocks_in_screeners. Never loop get_screener_data over symbols. - Stock-level options flow (aggregated per symbol/day) -> get_options_flow_overview or get_options_flow_timeline. Contract-level detail (one row per option contract) -> get_unusual_options_activity. - list_screeners first when you don't know the screener slugs; the list is stable and cached. - explain_concept answers "what is RSI / golden cross / vol-OI ratio" without spending an API call quota. Access: most tools need a paid plan. Anonymous clients get list_screeners, get_stock_info, explain_concept and ping; everything else returns NEEDS_SUBSCRIPTION with a signup link. The Basic plan has no API or MCP access and gets TIER_UPGRADE_REQUIRED. Data is end-of-day/scan based US market data, not tick-level, and it is not investment advice.

Tools

20 advertised

ping
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

ping input schema
{
  "type": "object",
  "required": [],
  "properties": {}
}
ping annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_screeners
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return metadata for all 24 stock screeners on the platform: slug, name, description, category, tier, whether the caller can read it, and its row fields with their JSON value types. Use this to discover which screeners are available before calling get_screener_data. Call this once per session; the list changes very rarely. Returns { data: [{ slug, name, description, category, tier, accessible, columns: [{ key, label, type, value_type }] }], meta: { caller_tier, total, accessible } }.

list_screeners input schema
{
  "type": "object",
  "required": [],
  "properties": {}
}
list_screeners annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_screener_data
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return the rows of a single stock screener for its latest snapshot. 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. Numbers are JSON numbers (percent_change 1.25 means +1.25%), dates are YYYY-MM-DD. Returns { data: [rows], meta: { as_of, screener, pagination: { next_cursor, total } } }. For the next page pass meta.pagination.next_cursor as cursor.

get_screener_data input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "The screener slug, e.g. 'hot-prospects', 'golden-cross', 'rsi-oversold'"
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "maximum": 500,
      "minimum": 1,
      "description": "Rows per page (max 500)"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "description": "meta.pagination.next_cursor from the previous page. Omit for the first page."
    }
  },
  "additionalProperties": false
}
get_screener_data annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_stocks_in_screeners
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Find stocks that appear in multiple screeners simultaneously. Useful for finding overlap across screeners. 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.

search_stocks_in_screeners input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "screener_slugs"
  ],
  "properties": {
    "mode": {
      "enum": [
        "intersection",
        "union"
      ],
      "type": "string",
      "default": "intersection",
      "description": "intersection = stocks in ALL screeners; union = stocks in ANY screener"
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "maximum": 500,
      "minimum": 1
    },
    "screener_slugs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 24,
      "minItems": 1,
      "description": "List of screener slugs to query (1-24)"
    }
  },
  "additionalProperties": false
}
search_stocks_in_screeners annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_chart_patterns
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 Pro or Enterprise API key. Returns { data: { symbol, interval, computed_at, candle_count, patterns: [{ id, name, type, category, confidence, points, lines, target_price, last_structural_point }] } } where type is the pattern direction (bullish, bearish, neutral). Empty patterns array if none detected.

get_chart_patterns input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker, e.g. AAPL, TSLA, MSFT"
    },
    "interval": {
      "enum": [
        "1d",
        "1wk"
      ],
      "type": "string",
      "default": "1d",
      "description": "Chart interval"
    }
  },
  "additionalProperties": false
}
get_chart_patterns annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_patterns
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 Pro or Enterprise API key; unknown slugs or pattern ids and screeners above the plan are errors. Results are capped per screener group via `limit` (default 100); capped groups carry truncated: true. Returns { data: [{ screener_slug, screener_name, count, truncated, stocks: [{ symbol, symbol_name, last_price, volume, data_date, matched_patterns }] }], meta: { total_unique_stocks } }.

search_patterns input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "screener_slugs"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 100,
      "maximum": 500,
      "minimum": 1,
      "description": "Max matching stocks per screener group (default 100)"
    },
    "interval": {
      "enum": [
        "1d",
        "1wk"
      ],
      "type": "string",
      "default": "1d",
      "description": "Chart interval"
    },
    "pattern_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": [],
      "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"
    },
    "screener_slugs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 24,
      "minItems": 1,
      "description": "Screener slugs to search within"
    }
  },
  "additionalProperties": false
}
search_patterns annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_options_flow_overview
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 largest premium'. Each row includes call_put_volume_ratio (> 1.0 means more call than put volume), consecutive_days (streak length), total_premium (dollar size), call_avg_iv/put_avg_iv. Returns { data: [...], meta: { as_of, market_stats, available_dates, pagination: { next_cursor } } }. Tier: Pro or Enterprise.

get_options_flow_overview input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Trading day (YYYY-MM-DD). Default = latest available day."
    },
    "sort": {
      "enum": [
        "streak",
        "volume",
        "callput",
        "premium"
      ],
      "type": "string",
      "default": "streak",
      "description": "Sort order: streak=longest streaks first, volume=highest volume, callput=most extreme C/P, premium=biggest dollar"
    },
    "limit": {
      "type": "integer",
      "default": 100,
      "maximum": 500,
      "minimum": 1,
      "description": "Rows to return (max 500)"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "description": "meta.pagination.next_cursor from the previous page"
    }
  },
  "additionalProperties": false
}
get_options_flow_overview annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_options_flow_timeline
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 { data: [daily rows, newest first], meta: { as_of, pagination: { next_cursor } } }. Tier: Pro only.

get_options_flow_timeline input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "symbol"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 60,
      "maximum": 365,
      "minimum": 1,
      "description": "Days of history (max 365)"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "description": "meta.pagination.next_cursor from the previous page"
    },
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker"
    }
  },
  "additionalProperties": false
}
get_options_flow_timeline annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_options_flow_ranked
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return ranked options flow records for a date range: the records that stand out by long consecutive-day streaks, large premium, and screener confluence. Each record 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 not an available fill price). 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 { data: [...], meta: { as_of, pagination: { next_cursor }, parameters: { date_from, date_to } } }. Dates are YYYY-MM-DD and numbers are JSON numbers. Tier: Pro only.

get_options_flow_ranked input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 500,
      "maximum": 2000,
      "minimum": 1,
      "description": "Max records returned (default 500)"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "description": "meta.pagination.next_cursor from the previous page"
    },
    "date_to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date (YYYY-MM-DD)"
    },
    "date_from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date (YYYY-MM-DD)"
    }
  },
  "additionalProperties": false
}
get_options_flow_ranked annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_options_flow_sentiment
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 flow records 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 { data: [...], meta: { as_of, pagination } }. Tier: Pro only.

get_options_flow_sentiment input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "cursor": {
      "type": "string",
      "minLength": 1,
      "description": "meta.pagination.next_cursor from the previous page"
    },
    "date_to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date (YYYY-MM-DD)"
    },
    "date_from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date (YYYY-MM-DD)"
    }
  },
  "additionalProperties": false
}
get_options_flow_sentiment annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_unusual_options_activity
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return individual options contracts flagged as unusual activity (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: [...], next_cursor }.

get_unusual_options_activity input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "side": {
      "enum": [
        "call",
        "put",
        "both"
      ],
      "type": "string",
      "default": "both"
    },
    "limit": {
      "type": "integer",
      "default": 300,
      "maximum": 1000,
      "minimum": 1
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "description": "meta.pagination.next_cursor from the previous page"
    },
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Filter to one symbol"
    },
    "max_dte": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "min_vol_oi": {
      "type": "number",
      "default": 1.5,
      "minimum": 0
    },
    "min_premium_usd": {
      "type": "number",
      "default": 25000,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
get_unusual_options_activity annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_stock_info
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return basic metadata for a stock: full company name, exchange, industry, last price, and daily 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 { data: { symbol, symbol_name, last_price, percent_change, exchange, industry }, meta: { as_of } }; percent_change 1.27 means +1.27%. Returns NOT_FOUND for unknown tickers.

get_stock_info input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker, e.g. AAPL"
    }
  },
  "additionalProperties": false
}
get_stock_info annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_candles
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return OHLCV price candles for a single stock, oldest first. Use when you need price history to compute indicators or answer 'how much is X up this month'. date is the trading day (YYYY-MM-DD; weekly candles use the Monday). 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 { data: [{ date, open, high, low, close, volume }], meta: { as_of, pagination: { total } } }.

get_candles input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "symbol"
  ],
  "properties": {
    "range": {
      "type": "string",
      "default": "6mo",
      "description": "Range: 1d, 5d, 1y, 2y, 5y, max, or {N}mo (1-240)"
    },
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker"
    },
    "interval": {
      "enum": [
        "1d",
        "1wk"
      ],
      "type": "string",
      "default": "1d",
      "description": "Daily or weekly candles"
    }
  },
  "additionalProperties": false
}
get_candles annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_stocks
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 { data: [{ symbol, name }], meta } ordered by best match.

search_stocks input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1,
      "description": "Max results (default 10)"
    },
    "query": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "Symbol prefix or part of the company name, e.g. 'Apple' or 'NVD'"
    }
  },
  "additionalProperties": false
}
search_stocks annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_stock_report
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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, as_of, info, screeners, patterns, options_flow, signal, candle_summary, overall_bias }. overall_bias is a heuristic hint, not financial advice.

get_stock_report input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Z0-9.^=\\-]{1,20}$",
      "description": "Stock ticker, e.g. AAPL"
    },
    "interval": {
      "enum": [
        "1d",
        "1wk"
      ],
      "type": "string",
      "default": "1d",
      "description": "Pattern detection interval"
    }
  },
  "additionalProperties": false
}
get_stock_report annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_setups
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List today's options flow records for one side (bullish or bearish), ranked by a descriptive composite score (strength score + consecutive-day streak + premium size). Use when the user asks which symbols had the most notable options flow today. This is descriptive market data, not a recommendation. Summarize the first few rows rather than dumping the raw JSON. Use get_stock_report to look at a single symbol in more detail. Returns { side, date, count, setups: [{ symbol, score, signal: { type, strength, consecutive_days, call_put_ratio, total_premium } }] }.

search_setups input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "side": {
      "enum": [
        "bullish",
        "bearish"
      ],
      "type": "string",
      "default": "bullish",
      "description": "Side of setups to return"
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Max setups to return"
    }
  },
  "additionalProperties": false
}
search_setups annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_market_momentum
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return NYSE and NASDAQ market breadth: advancing/declining/unchanged issues, their percentages, and new highs/lows. Use when the user asks 'how's the market today' or 'is breadth strong'. Default (no params): last 7 trading days. Send either date or date_from/date_to (either end may be omitted). Returns { data: [{ data_date, exchange, advancing_issues, declining_issues, unchanged_issues, percent_advancing_issues, percent_declining_issues, percent_unchanged_issues, new_highs, new_lows }], meta: { as_of } }; all counts and percents are numbers (63 means 63%). Two rows per date (NYSE + NASDAQ). Tier: Pro or Enterprise.

get_market_momentum input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Single day (YYYY-MM-DD)"
    },
    "date_to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Range end"
    },
    "date_from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Range start"
    }
  },
  "additionalProperties": false
}
get_market_momentum annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_trends
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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'. Use one of latest, date, or days. Returns { data: [{ date, topic, weight }], meta: { as_of } } where weight is 0-1. Tier: Pro only.

get_trends input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Exact date lookup"
    },
    "days": {
      "type": "integer",
      "default": 10,
      "maximum": 180,
      "minimum": 1,
      "description": "Lookback window"
    },
    "latest": {
      "type": "boolean",
      "default": false,
      "description": "If true, only return most recent day"
    },
    "category": {
      "enum": [
        "techscience",
        "patents",
        "fundingevents"
      ],
      "type": "string",
      "default": "techscience",
      "description": "Trend category"
    }
  },
  "additionalProperties": false
}
get_trends annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_trend_connections
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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'. Use one of latest, date, or days. Returns { data: [{ date, source_category, source_topic, target_category, target_topic, strength, rationale }], meta: { as_of } }. Tier: Pro only.

get_trend_connections input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "days": {
      "type": "integer",
      "default": 14,
      "maximum": 90,
      "minimum": 1
    },
    "limit": {
      "type": "integer",
      "default": 200,
      "maximum": 1000,
      "minimum": 1,
      "description": "Max connections returned (default 200)"
    },
    "latest": {
      "type": "boolean",
      "default": false
    }
  },
  "additionalProperties": false
}
get_trend_connections annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_concept
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 }.

explain_concept input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "term"
  ],
  "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'"
    }
  },
  "additionalProperties": false
}
explain_concept annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1077 ms
95th percentile latency
1077 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1077 ms · metadata changed · 20 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport sse stockmarketscan-mcp https://mcp.stockmarketscan.com/mcp

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "stockmarketscan-mcp": {
      "type": "sse",
      "url": "https://mcp.stockmarketscan.com/mcp",
      "disabled": false
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport sse stockmarketscan-mcp https://mcp.stockmarketscan.com/mcp

Let your agent find its tools

Find servers like StockMarketScan MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run StockMarketScan MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing