AI stock intelligence: prices, fundamentals, technicals, news, macro regime, and sector signals.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://api.stocklake.dev/mcp17 tools · 1202msget_stockPrice, fundamentals, technical indicators, and company profile for a stock.
Returns all data needed to understand a stock in a single call.
Key fields:
- price, change_pct, prev_close, week52_high/low, volume, avg_volume
- market_cap, enterprise_value, beta
- pe_trailing, pe_forward, price_to_book…Price, fundamentals, technical indicators, and company profile for a stock. Returns all data needed to understand a stock in a single call. Key fields: - price, change_pct, prev_close, week52_high/low, volume, avg_volume - market_cap, enterprise_value, beta - pe_trailing, pe_forward, price_to_book…
| Parameter | Type | Description |
|---|---|---|
| symbol* | string | Stock ticker symbol. Also accepts a company name as a fallback (e.g. "Apple") when it uniquely resolves to one symbol. |
get_stock_newsAI-analysed news for a stock, newest first.
Only returns articles processed by our AI pipeline (sentiment, signal_score, summary).
- days: look-back window in days. Requesting more than your tier's cap is
silently clamped down to it: 30 free/guest, 90 pro.
- limit: max articles returned. The `limi…AI-analysed news for a stock, newest first. Only returns articles processed by our AI pipeline (sentiment, signal_score, summary). - days: look-back window in days. Requesting more than your tier's cap is silently clamped down to it: 30 free/guest, 90 pro. - limit: max articles returned. The `limi…
| Parameter | Type | Description |
|---|---|---|
| symbol* | string | Stock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol. |
| limit | integer | Max articles returned. Default 10 is a Pro-tier-shaped value — on free/guest it's silently clamped down to that tier's cap (5), so a free caller passing no lim… |
| days | integer | Look-back window in days. Requesting more than your tier's cap is silently clamped down to it: 30 free/guest, 90 pro. |
get_stock_historyDaily OHLCV price history for a stock.
- days: number of trading days to return (default 90, max 365)
- Returns: { symbol, days_requested, days_returned, count, history[] } —
days_returned/count can be less than days_requested if less history exists
- Per bar: date, open, high, low, close, volumeDaily OHLCV price history for a stock. - days: number of trading days to return (default 90, max 365) - Returns: { symbol, days_requested, days_returned, count, history[] } — days_returned/count can be less than days_requested if less history exists - Per bar: date, open, high, low, close, volume
| Parameter | Type | Description |
|---|---|---|
| symbol* | string | Stock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol. |
| days | integer | Number of trading days of daily OHLCV history to return (default 90, max 365). days_returned/count in the response can be less than this if less history exists. |
get_earnings_calendarUpcoming earnings dates for stocks in the Stocklake universe.
- days: look-ahead window in days (default 7, max 30)
- Returns: { window_days, from_date, to_date, count, results[] }
- Each result: symbol, name, sector, market_cap, price, rsi,
earnings_date (ISO UTC), is_estimate, eps_trailing, eps_…Upcoming earnings dates for stocks in the Stocklake universe. - days: look-ahead window in days (default 7, max 30) - Returns: { window_days, from_date, to_date, count, results[] } - Each result: symbol, name, sector, market_cap, price, rsi, earnings_date (ISO UTC), is_estimate, eps_trailing, eps_…
| Parameter | Type | Description |
|---|---|---|
| days | integer | Look-ahead window in days (default 7, max 30). |
get_market_assessmentCombined AI market assessment: macro regime + market outlook in a single call.
Produced every ~4 hours by the market intelligence pipeline.
Two distinct perspectives returned together:
- REGIME (RISK_OFF/CAUTIOUS/NEUTRAL/AGGRESSIVE): answers "how much equity risk to take"
→ use for position sizin…Combined AI market assessment: macro regime + market outlook in a single call. Produced every ~4 hours by the market intelligence pipeline. Two distinct perspectives returned together: - REGIME (RISK_OFF/CAUTIOUS/NEUTRAL/AGGRESSIVE): answers "how much equity risk to take" → use for position sizin…
| Parameter | Type | Description |
|---|---|---|
| history_count | integer | Include the last N prior assessments for each of regime and outlook (0-3, default 0). |
get_sector_intelligenceAI-assessed sector intelligence: signal, cycle stage, rotation signal,
drivers, alerts, and computed statistics per sector (RSI distribution, breadth,
performance 1W/1M, top/bottom movers, historical percentiles).
Pass a sector name for a single sector, or omit the parameter (or pass None)
to get t…AI-assessed sector intelligence: signal, cycle stage, rotation signal, drivers, alerts, and computed statistics per sector (RSI distribution, breadth, performance 1W/1M, top/bottom movers, historical percentiles). Pass a sector name for a single sector, or omit the parameter (or pass None) to get t…
| Parameter | Type | Description |
|---|---|---|
| sector | — | Pass a sector name for a single sector's assessment, or omit (None) to get the latest assessment for all 11 sectors at once — the all-sectors call doubles as t… |
| sort_by_strength | boolean | Sort all-sectors output LEADING→LAGGING instead of alphabetical, for finding leading vs lagging sectors. Only applies to the all-sectors call; ignored when a s… |
| history_count | integer | Include the last N prior signal states per sector, 0-3 (default 0). Only applies to the all-sectors call. |
get_insider_activityGet AI-synthesized insider + institutional activity for a stock.
Returns combined signal (POSITIVE/NEGATIVE/NEUTRAL etc.), signal_score
(0-100, higher = stronger/more notable — the exact same field, formula,
scale and bands as get_signals()'s signal_score, no separate name) with
signal_score_band,…Get AI-synthesized insider + institutional activity for a stock. Returns combined signal (POSITIVE/NEGATIVE/NEUTRAL etc.), signal_score (0-100, higher = stronger/more notable — the exact same field, formula, scale and bands as get_signals()'s signal_score, no separate name) with signal_score_band,…
| Parameter | Type | Description |
|---|---|---|
| symbol* | string | Stock ticker symbol to fetch insider (SEC Form 4) and institutional-holdings activity for. |
get_stocksBatch stock data for up to 25 symbols in a single call — the same fields
get_stock returns for the same key/symbol, so this is a true batch version,
not a thinned-down scan. Returns a dict keyed by symbol. Missing symbols
are omitted from the result. Each symbol in the batch counts as one call
towa…Batch stock data for up to 25 symbols in a single call — the same fields get_stock returns for the same key/symbol, so this is a true batch version, not a thinned-down scan. Returns a dict keyed by symbol. Missing symbols are omitted from the result. Each symbol in the batch counts as one call towa…
| Parameter | Type | Description |
|---|---|---|
| symbols* | array | List of stock ticker symbols, up to 25 per call. Each symbol counts as one call toward the daily limit. A request over 25 symbols is rejected outright (error:… |
get_market_pulseLive market health snapshot in a single call.
Aggregates key market indicators without requiring multiple tool calls.
No AI cost — reads live data directly from the market data feed.
Returns:
- vix: VIX level and change_pct (from live stocks data)
- fear_greed: value (0-100) and label (e.g. "neutr…Live market health snapshot in a single call. Aggregates key market indicators without requiring multiple tool calls. No AI cost — reads live data directly from the market data feed. Returns: - vix: VIX level and change_pct (from live stocks data) - fear_greed: value (0-100) and label (e.g. "neutr…
No input schema was published for this tool.
get_signalsAI-screened stock signals recently surfaced by the Stocklake pipeline —
sourced from news analysis, sector screening, and sentiment signals.
Shows what the pipeline noticed in the last 24 hours (falling back to the
most recent signals regardless of age if nothing has fired in that window
— see `wi…AI-screened stock signals recently surfaced by the Stocklake pipeline — sourced from news analysis, sector screening, and sentiment signals. Shows what the pipeline noticed in the last 24 hours (falling back to the most recent signals regardless of age if nothing has fired in that window — see `wi…
| Parameter | Type | Description |
|---|---|---|
| direction | — | Filter by direction: "POSITIVE" | "NEGATIVE" | "NEUTRAL" (default: all). NEUTRAL covers both a flat/undecided read and a genuinely two-sided idea (see signal_s… |
| min_conviction | integer | DEPRECATED, ignored for filtering — kept in the signature only so existing callers don't hard-fail; internal scoring retired the raw conviction/confidence/flag… |
| min_flag_score | integer | DEPRECATED, ignored for filtering — kept in the signature only so existing callers don't hard-fail; internal scoring retired the raw conviction/confidence/flag… |
| source | — | Filter by signal source: "news" | "screener" | "sentiment" | "social" (default: all). |
| limit | integer | Max results to return (default 50, max 50). Each returned signal counts as one call toward your daily limit. |
| min_signal_score | integer | Minimum composite signal score, 0-100 (default 60) — a blend of conviction/confidence/flag_score, source track record, and real technical factors. This is the… |
get_watchlistThe caller's Stocklake watchlist (starred symbols from the web dashboard),
enriched with live price, technicals, and AI verdict.
Returns:
- count: number of symbols on the watchlist
- items[]: each with symbol, name, sector, price, change_pct, rsi, market_cap,
analyst_rating, atr_pct, ai_verdict,…The caller's Stocklake watchlist (starred symbols from the web dashboard), enriched with live price, technicals, and AI verdict. Returns: - count: number of symbols on the watchlist - items[]: each with symbol, name, sector, price, change_pct, rsi, market_cap, analyst_rating, atr_pct, ai_verdict,…
No input schema was published for this tool.
get_news_feedTop AI-flagged news across all tracked stocks — the market-wide news briefing.
Unlike get_stock_news (per-symbol), this scans the entire universe and returns
the most notable articles ranked by signal_score, newest first within each score tier.
Use this for:
- Morning briefing: "what happened in t…Top AI-flagged news across all tracked stocks — the market-wide news briefing. Unlike get_stock_news (per-symbol), this scans the entire universe and returns the most notable articles ranked by signal_score, newest first within each score tier. Use this for: - Morning briefing: "what happened in t…
| Parameter | Type | Description |
|---|---|---|
| min_signal_score | integer | Minimum signal_score used to SELECT articles server-side, 0-100 (default 60). Resolved per-article (this symbol's live signal_score if one exists, else a per-a… |
| days | integer | Look-back window in days (default 3, max 10). |
| limit | integer | Max articles returned (default 10, max 25). |
get_screenerFilter and rank stocks from the Stocklake universe — fundamentals, technicals, and AI signals in one tool.
Parameters:
- sector: e.g. "Technology", "Healthcare", "Financial Services"
- country: e.g. "United States", "Germany"
- min_rsi / max_rsi: exact RSI bounds (e.g. max_rsi=30 = oversold, min_r…Filter and rank stocks from the Stocklake universe — fundamentals, technicals, and AI signals in one tool. Parameters: - sector: e.g. "Technology", "Healthcare", "Financial Services" - country: e.g. "United States", "Germany" - min_rsi / max_rsi: exact RSI bounds (e.g. max_rsi=30 = oversold, min_r…
| Parameter | Type | Description |
|---|---|---|
| sector | — | Filter by sector, e.g. "Technology", "Healthcare", "Financial Services". |
| country | — | Filter by country, e.g. "United States", "Germany". |
| min_rsi | — | Minimum RSI bound (e.g. min_rsi=70 = overbought). |
| max_rsi | — | Maximum RSI bound (e.g. max_rsi=30 = oversold). |
| sma_trend | — | "above_200" (price above 200-day MA) | "below_200". |
| macd_signal | — | "positive" (MACD line above signal) | "negative". |
| min_perf_1d | — | Minimum 1-day performance %, e.g. min_perf_1d=2.0 = up 2%+ today. |
| max_perf_1d | — | Maximum 1-day performance %. |
| min_volume | — | Minimum daily volume, e.g. 1000000. |
| min_market_cap_b | — | Minimum market cap in billions of dollars. |
| max_market_cap_b | — | Maximum market cap in billions of dollars. |
| max_pe_forward | — | Maximum forward P/E, e.g. 20 for a value screen. |
| analyst_rating | — | Filter by analyst consensus rating: "strong_buy" | "buy" | "hold" | "sell" | "strong_sell". |
| min_ai_score | — | Minimum AI score, 0-100 — pro tier only (silently ignored for free). Gates on stock_ai_summary.py's own composite ai_score, same 0-100 scale/band convention as… |
| preset | — | "oversold" | "overbought" | "momentum" | "high_conviction" (pro only). oversold = RSI<=35 + above SMA200; overbought = RSI>=65; momentum = RSI 50-70, above SMA… |
| sort_by | — | "market_cap" | "rsi" | "perf_1d" | "volume" | "analyst_rating" | "rating" | "ai_score" (pro). Defaults to "market_cap", except the "high_conviction" preset def… |
| sort_dir | string | Sort direction: "asc" | "desc" (default "desc"). |
| limit | integer | Max results to return, 1-25 (default 20). Each returned stock counts as one call toward your daily limit. |
get_market_moversTop market movers from the Stocklake universe — gainers, losers, most active.
- category: "gainers" | "losers" | "most_active" | "all" (default "all" = all 3 categories)
- limit: results per category (default 10, max 20). Each returned stock counts as
one call toward your daily limit — a symbol a…Top market movers from the Stocklake universe — gainers, losers, most active. - category: "gainers" | "losers" | "most_active" | "all" (default "all" = all 3 categories) - limit: results per category (default 10, max 20). Each returned stock counts as one call toward your daily limit — a symbol a…
| Parameter | Type | Description |
|---|---|---|
| category | string | Which movers category to return: "gainers" | "losers" | "most_active" | "all" (default "all" = all 3 categories). |
| limit | integer | Results per category (default 10, max 20). Each returned stock counts as one call toward your daily limit — a symbol appearing in more than one category (e.g.… |
| min_market_cap_b | — | Filter to stocks above this market cap in billions of dollars, e.g. 1.0 = $1B+. |
get_indicator_historyHistorical daily indicator snapshots for a stock — ideal for charting and trend detection.
Returns up to `days` days of data (max 730, default 90) from the stock_indicator_snapshots
collection which is populated daily by the indicator pipeline.
Each snapshot row contains:
- recorded_at: ISO date s…Historical daily indicator snapshots for a stock — ideal for charting and trend detection. Returns up to `days` days of data (max 730, default 90) from the stock_indicator_snapshots collection which is populated daily by the indicator pipeline. Each snapshot row contains: - recorded_at: ISO date s…
| Parameter | Type | Description |
|---|---|---|
| symbol* | string | Stock ticker symbol. Also accepts a company name as a fallback when it uniquely resolves to one symbol. |
| days | integer | Number of days of historical daily indicator snapshots to return (max 730, default 90). Returns {} if fewer than 3 snapshots are found in the window. |
get_stock_researchFull AI research bundle for a stock in one call — fundamentals, AI-generated
summary, recent AI-classified news, insider/institutional signal, and recent
trade signal history. Replaces 4 separate calls: get_stock + get_stock_news +
get_insider_activity + get_signals (for one symbol).
Returns:
- st…Full AI research bundle for a stock in one call — fundamentals, AI-generated summary, recent AI-classified news, insider/institutional signal, and recent trade signal history. Replaces 4 separate calls: get_stock + get_stock_news + get_insider_activity + get_signals (for one symbol). Returns: - st…
| Parameter | Type | Description |
|---|---|---|
| symbol* | string | Stock ticker symbol to fetch the full AI research bundle for. |
get_earnings_intelligenceUpcoming earnings with AI context — AI scores, verdicts, and risk factors per stock.
Combines the earnings calendar with AI pipeline data to surface which upcoming
earnings events are worth monitoring.
Parameters:
- days_ahead: look-ahead window in days (default 14, max 30)
- sector: filter to one…Upcoming earnings with AI context — AI scores, verdicts, and risk factors per stock. Combines the earnings calendar with AI pipeline data to surface which upcoming earnings events are worth monitoring. Parameters: - days_ahead: look-ahead window in days (default 14, max 30) - sector: filter to one…
| Parameter | Type | Description |
|---|---|---|
| days_ahead | integer | Look-ahead window in days (default 14, max 30). |
| sector | — | Filter to one sector, e.g. "Technology". |
| min_ai_score | — | Only return stocks with AI score >= this value, 0-100 (optional). Renamed 2026-08-24 from the retired 0-10 min_flag_score — gates on the same stock_ai_summary.… |
| limit | integer | Max results to return (default 25, max 25). Each returned ticker counts as one call toward your daily limit. |
17 of 17 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
AI stock intelligence: prices, fundamentals, technicals, news, macro regime, and sector signals.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.