Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Stocklake — AI Stock Intelligence

REMOTE · API.STOCKLAKE.DEV · SCANNED AUG 3

AI stock intelligence: prices, fundamentals, technicals, news, macro regime, and sector signals.

+10 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability54
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4441 tokens (~261/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · api.stocklake.dev

# add to Claude Code
claude mcp add --transport http dev-stocklake-stocklake https://api.stocklake.dev/mcp
# ~/.codex/config.toml
[mcp_servers.dev-stocklake-stocklake]
url = "https://api.stocklake.dev/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-stocklake-stocklake": {
      "type": "remote",
      "url": "https://api.stocklake.dev/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add dev-stocklake-stocklake --url https://api.stocklake.dev/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  dev-stocklake-stocklake:
    url: "https://api.stocklake.dev/mcp"
// mcp.json
{
  "mcpServers": {
    "dev-stocklake-stocklake": {
      "type": "http",
      "url": "https://api.stocklake.dev/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 0
    • Tool “get_stock” rewrote its description, which is the text the model reads security
    • Tool “get_stock_research” rewrote its description, which is the text the model reads security
  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +6
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +2
    • HSTS header: fail → pass security
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 58

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://api.stocklake.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.stocklake.dev CN=YE2,O=Let's Encrypt,C=US 8 Jul 2026 6 Oct 2026 ECDSA 256 ECDSA-SHA384 5701f9ab36ea6cbfdb410867ae73f180420
SANs: api.stocklake.dev
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of api.stocklake.dev. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
stocklake.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), payment=()
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.stocklake.dev/mcp Verified 200
http (plaintext) http://api.stocklake.dev/mcp HTTPS enforced 308 https://api.stocklake.dev/mcp
MCP tools — 17 exposed · ~4,441 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
get_earnings_calendar ~129

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_forward - Sorted by earnings_date ascending. - Dates sourced from market data — treat is_estimate=true dates as approximate. Available to all tiers.

NameTypeReqDescription
daysinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_earnings_intelligence ~239

Upcoming earnings with AI context — flag 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 sector (e.g. "Technology") - min_flag_score: only return stocks with AI flag score >= this value (optional) Returns per stock (sorted by earnings_date ascending): - earnings_date: ISO UTC timestamp · is_estimate: whether date is estimated - symbol, name, sector, price, rsi, market_cap - eps_trailing, eps_forward (earnings expectations context) - ai_verdict, ai_flag_score, ai_confidence (nightly AI pipeline) - ai_risks: top 2 AI-identified risk factors - analyst_rating, analyst_target Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.

NameTypeReqDescription
days_aheadinteger
min_flag_score
sector

Structured output declared, but exposes no named fields.

No examples provided.

get_indicator_history ~355

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 string - price: closing price at snapshot time - rsi: RSI(14) value (0-100) - macd_histogram: MACD histogram value (positive = bullish momentum) - bb_pct: Bollinger Band % position (0 = at lower, 100 = at upper band) - sma20 / sma200: 20-day and 200-day simple moving averages - williams_r: Williams %R (0 to -100; >-20 overbought, <-80 oversold) - ultimate_osc: Ultimate Oscillator (0-100; >70 overbought, <30 oversold) - vix_fix_value: Williams VIX Fix synthetic fear gauge (higher = more fear) - williams_ad_trend: Accumulation/Distribution trend (rising/falling/flat) - td_signal: DeMark TD Sequential signal (BUY_SETUP/SELL_SETUP/BUY_COUNTDOWN/SELL_COUNTDOWN/null) - td_phase: DeMark phase (setup_active/setup_complete/countdown_active/countdown_done/null) - analyst_rating: analyst consensus (buy/outperform/hold/underperform/sell or null) - analyst_target: mean analyst price target or null Returns {} if fewer than 3 snapshots found. Pro tier only. For informational purposes only. Not financial advice.

NameTypeReqDescription
daysinteger
symbolstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_insider_activity ~99

Get AI-synthesized insider + institutional activity for a stock. Returns combined signal (BULLISH/BEARISH/NEUTRAL etc.), flag_score (8+=notable), confidence, per-source breakdown, and a human-readable summary. Data covers insider transactions (SEC Form 4) and institutional holdings. Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.

NameTypeReqDescription
symbolstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_market_assessment ~378

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 sizing and asset allocation decisions - OUTLOOK (BULLISH/NEUTRAL/BEARISH): answers "which direction and sectors to trade" → use for sector preference and directional bias Both share the same pipeline run so they are always in sync. - history_count: include last N prior assessments for each (0-3, default 0) - regime_*: risk posture fields — regime, regime_bias, regime_confidence, regime_rationale, key_risks, watch_for, vix_at_assessment, regime_updated_at - indicators.macro_data: FRED macro data (yield curve, Fed funds, cpi_index, unemployment, M2) - indicators.volatility_term_structure: VIX spot/3M/6M term structure + contango signal - indicators.market_sentiment: CNN Fear & Greed value and label - market_context: price/RSI/SMA200/perf snapshot of SPY/QQQ/IWM/TLT/GLD/VIX/TNX + sectors NOTE: point-in-time snapshot recorded when AI ran — not live prices (use get_market_pulse for live) - outlook_*: directional fields — outlook, outlook_conviction, equity_view, preferred_sectors, avoided_sectors, catalyst, outlook_key_risk, outlook_rationale, outlook_updated_at Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.

NameTypeReqDescription
history_countinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_market_movers ~170

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) - min_market_cap_b: filter to stocks above this market cap in billions (e.g. 1.0 = $1B+) Returns per stock: symbol, name, sector, price, change_pct, volume, rsi, market_cap, atr_pct (atr_pct omitted when the underlying volatility reading is missing or corrupted) Available to all tiers.

NameTypeReqDescription
categorystring
limitinteger
min_market_cap_b

Structured output declared, but exposes no named fields.

No examples provided.

get_market_pulse ~168

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. "neutral", "greed", "fear") - breadth: market-wide RSI distribution — oversold_pct, overbought_pct, neutral_pct, universe_size - indices: SPY, QQQ, IWM prices + RSI + 1-week performance - bonds: TLT (long-duration bonds), GLD (gold) - updated_at: when the breadth/fear_greed snapshot was last recorded Available to all tiers.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

get_news_feed ~252

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 AI flag score, newest first within each score tier. Use this for: - Morning briefing: "what happened in the market this week?" - Catalyst scanning: "what news is driving moves right now?" - Event monitoring: "which stocks have high-impact news today?" - min_flag_score: minimum AI flag score (default 8, min 5, max 10) 8 = notable · 9 = high-impact · 10 = exceptional - days: look-back window in days (default 3, max 10) - limit: max articles returned (default 10, max 25) - Per article: symbol, title, published_at, ai_sentiment, ai_flag_score (0-10), ai_summary (full text), ai_confidence (0-10) Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.

NameTypeReqDescription
daysinteger
limitinteger
min_flag_scoreinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_screener ~654

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_rsi=70 = overbought) - sma_trend: "above_200" (price above 200-day MA) | "below_200" - macd_signal: "bullish" (MACD line above signal) | "bearish" - min_perf_1d / max_perf_1d: 1-day performance % (e.g. min_perf_1d=2.0 = up 2%+ today) - min_volume: minimum daily volume (e.g. 1000000) - min_market_cap_b / max_market_cap_b: market cap in billions - max_pe_forward: maximum forward P/E (e.g. 20 = value screen) - analyst_rating: "strong_buy" | "buy" | "hold" | "sell" | "strong_sell" - min_flag_score: minimum AI flag score 0-10 (pro tier only — silently ignored for free) - preset: "oversold" | "overbought" | "momentum" | "high_conviction" (pro only) oversold = RSI≤35 + above SMA200 · overbought = RSI≥65 momentum = RSI 50-70, above SMA200, up 0.5%+ today · high_conviction = flag_score≥7 - sort_by: "market_cap" | "rsi" | "perf_1d" | "volume" | "analyst_rating" | "rating" | "flag_score" (pro) - sort_dir: "asc" | "desc" (default "desc") - limit: 1–50 (default 20) Returns: { count, preset, filters, results[] } — each result includes symbol, name, sector, industry, country, price, change_pct, volume, market_cap, pe_forward, rsi, macd_signal, sma200_trend, analyst_rating, rating (0-10 composite score). Pro tier: adds flag_score + ai_verdict to every result row, enables min_flag_score filter and high_conviction preset. All other filters available to all tiers.

NameTypeReqDescription
analyst_rating
country
limitinteger
macd_signal
max_market_cap_b
max_pe_forward
max_perf_1d
max_rsi
min_flag_score
min_market_cap_b
min_perf_1d
min_rsi
min_volume
preset
sector
sma_trend
sort_bystring
sort_dirstring

Structured output declared, but exposes no named fields.

No examples provided.

get_sector_intelligence ~245

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 the latest assessment for all 11 sectors — the all-sectors call doubles as the rotation view: use sort_by_strength to rank LEADING-first for finding leading vs lagging sectors, and history_count for prior signal states per sector. - sort_by_strength: sort all-sectors output LEADING→LAGGING instead of alphabetical (all-sectors call only; ignored when a single sector is requested) - history_count: include last N prior signal states per sector, 0-3 (default 0; all-sectors call only) Refreshed every ~4 hours by the market intelligence pipeline. Available to pro tier only (AI pipeline costs). For informational purposes only. Not financial advice.

NameTypeReqDescription
history_countinteger
sector
sort_by_strengthboolean

Structured output declared, but exposes no named fields.

No examples provided.

get_signals ~274

AI-screened stock signals actively flagged by the Stocklake pipeline. These are stocks the pipeline's AI agents have identified as worth attention — sourced from news analysis, sector screening, and sentiment signals. Parameters: - direction: "LONG" | "SHORT" | "BOTH" (default: all) - min_conviction: minimum conviction score 0-10 (default 7) - min_flag_score: minimum flag score 0-10 (default 8; 9+ = high conviction) - source: filter by signal source — "news" | "screener" | "sentiment" | "social" (default: all) - limit: max results to return (default 25, max 50) Returns: - count: number of signals returned - signals[]: each with symbol, direction, conviction (0-10), confidence (0-10), flag_score (0-10), source, rationale, expires - Note: signals expire daily — active signals represent the pipeline's current view. Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.

NameTypeReqDescription
direction
limitinteger
min_convictioninteger
min_flag_scoreinteger
source

Structured output declared, but exposes no named fields.

No examples provided.

get_stock ~705

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, dividend_yield, dividend_rate - debt_to_equity, profit_margins, return_on_equity, free_cashflow - revenue_growth, earnings_growth, revenue_ttm, gross_profit_ttm - analyst_rating: "strong_buy"|"buy"|"hold"|"sell"|"strong_sell" (analyst consensus) - analyst_rating_score: 1.0–5.0 mean analyst recommendation (1=strong_buy, 5=strong_sell) - analyst_target: mean analyst price target - analyst_count: number of analyst opinions - indicators: raw RSI, MACD, Bollinger Bands, SMA20/SMA200, EMA20/EMA200, ATR (ma_50 and ma_200 are top-level fields, not inside indicators) - description: company business description - website, employees, officers (top 5: name, title, total_pay) - updated_at: last data sync timestamp Available to all tiers (raw indicator numbers, no interpretation). Pro tier adds four interpreted blocks computed from the same indicators, no extra AI cost: - rating: {score 0-10, direction BULLISH/NEUTRAL/BEARISH, signals per-indicator breakdown} — composite technical score - signals: flat labeled signals (rsi/macd/bollinger/sma200/sma50/williams_r/ultimate_osc/ vix_fix/williams_ad/td_sequential/elliott_wave, each with a value + plain-English label) — same indicators as 'indicators', pre-interpreted for programmatic use without parsing raw numbers - stance_signals: unified list of per-source directional calls (technical rating, AI summary near_term/longer_term, insider/institutional sentiment, analyst consensus, active discovery signals) — each entry {stance BULLISH/BEARISH/NEUTRAL, conviction 0-10, horizon INTRADAY/SWING/POSITION/LONG_TERM, edge_quality PROVEN/OBSERVATION/UNKNOWN (per-source signal_backtest track record), source, raw_label, as_of}. Same c…

NameTypeReqDescription
symbolstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_stock_history ~80

Daily OHLCV price history for a stock. - days: number of trading days to return (default 90, max 365) - Returns: { symbol, days, count, history[] } - Per bar: date, open, high, low, close, volume

NameTypeReqDescription
daysinteger
symbolstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_stock_news ~185

AI-analysed news for a stock, newest first. Only returns articles processed by our AI pipeline (sentiment, flag score, summary). - days: look-back window in days (default 30, max 30) - limit: max articles returned (default 10, max 10) - status: "ok" = articles returned | "empty" = no news in window - Per article: title, published_at, ai_sentiment, ai_flag_score (0-10), ai_summary (full text), ai_confidence (0-10) Free tier: returns 1 article (with AI sentiment + flag score). Pro tier: up to 50 articles, 90-day window. For informational purposes only. Not financial advice.

NameTypeReqDescription
daysinteger
limitinteger
symbolstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_stock_research ~323

Full AI research bundle for a stock in one call — fundamentals, AI-generated summary, recent AI-classified news, insider/institutional signal, and active trade signal. Replaces 4 separate calls: get_stock + get_stock_news + get_insider_activity + get_signals (for one symbol). Returns: - stock: price, name, sector, rsi, pe_forward, market_cap, 52-week range, analyst data - ai_summary: verdict, confidence, flag_score, full summary, key_points, risks, price_at_generation, generated_at, headline (one-sentence plain-language take), near_term (stance/confidence over <4 weeks — technicals/momentum-weighted), longer_term (stance/confidence over a multi-month horizon — fundamentals/analyst/institutional-flow-weighted). headline/near_term/longer_term are null on summaries generated before this schema shipped — until that symbol's next regeneration, fall back to verdict/confidence. - news: last 3 high-relevance articles (title, published_at, ai_sentiment, ai_flag_score, ai_summary) - sentiment: signal, confidence, insider_trend (buying/selling/neutral), institutional_pct - signal: active trade signal for this symbol, if any (direction, conviction, rationale) All data is pre-computed by the Stocklake AI pipeline — no live AI calls on request. Pro tier only. For informational purposes only. Not financial advice.

NameTypeReqDescription
symbolstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_stocks ~64

Batch stock data for up to 50 symbols in a single call. Returns a dict keyed by symbol. Missing symbols are omitted from the result. Each symbol in the batch counts as one call toward the daily limit. Available to all tiers.

NameTypeReqDescription
symbolsarrayyes

Structured output declared, but exposes no named fields.

No examples provided.

get_watchlist ~121

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, atr_pct, ai_verdict, ai_flag_score, added_at, price_at_add - empty items[] if nothing is starred yet — star symbols at stocklake.dev/dashboard Pro tier only. For informational purposes only. Not financial advice.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.