Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization required, Bearer, issuer https://firm.tengu.co
Authorization not required → required, Bearer, issuer https://firm.tengu.co
Certificate recorded, valid to 2027-03-24
Authorization not required
Added "tengu_v3_private_markets_company", "tengu_v3_private_markets_company_deals", "tengu_v3_private_markets_company_page" and 1 more; removed "tengu_cache_stats", "tengu_crypto", "tengu_crypto_overnight" and 189 more (200 tools before, 12 now)
FULL private-company profile by company_id: financials (revenue/EBITDA/EBIT/net income/EV/net debt), complete financing history (round size/valuation/date/type), classification, HQ/contact, parent hierarchy, and cikcode/ticker to join public data. Call it after resolving the id via search_suggest for the deep dive on one company.
Funding-round and M&A deal history for a private company (deal size, type, VC round, pre/post-money valuation), newest first. Call this when the user asks 'when did X last raise / at what valuation / who acquired it'; use /investors for who participated.
The private-company DETAIL PAGE in ONE call, render-ready: identity + key facts + the valuation/revenue/headcount tapes + the financing-in-progress card + the team roster. Money ships as both a raw `*_musd` float and a formatted `*_display` string, every series is sorted ASCENDING for charting, and the hero valuation badge is computed server-side (never presented as an estimate unless it is one). Blocks degrade independently. Use this for a company PAGE; use /dossier for the analytical fan-out (investors/competitors/similar) and /realtime for live overlay.
First tool surface recorded: 200 tools (server version 2.128)
Showing the latest 14 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Search PRIVATE companies / investors (VC/PE) / funds / people / limited partners by name (prefix, case-insensitive), ticker, or CIK — relevance-ranked so the prominent entity is #1 (brand/AKA/former-name aware: 'Nubank'→Nu Holdings, 'Square'→Block). Use this FIRST for any private-company question (e.g. 'tell me about Stripe', 'who is Sequoia') to resolve the entity id, then call the company/dossier/realtime tools. type=all searches every entity kind. detail=full returns every column per hit (for rich tables).
Cache hit-rate statistics for the data layer. Call when the user asks whether the system/data pipeline is healthy or why data looks stale or slow.
Live crypto quote from the market-data feed (real-time entitlement, 439 pairs): last-trade price, 24h change/volume (UTC-day basis), day + prev-day OHLC, optional last-7 daily bars, honest as_of. PRIMARY tool for 'what is BTC at?' — accepts BTC/BTCUSD/X:BTCUSD plus a vs currency (e.g. EUR); unknown symbols return a structured 404.
Overnight crypto DATA book for Brain/Platform: a SLICE of GET /api/crypto/universe (the full liquid USD book, stables out, $1M floor) ordered by |24h change|. This is NOT the sitting universe — do not treat the default 25 movers as FIRM's book. Bare symbols (BTC not BTC-USD), volume, as_of, optional sentiment/whale flags. EVERY row is kind=data_context — NOT a Tengu score or prediction. FIRM has no crypto model; crypto_available stays false. Fail-closed 503 when the snapshot book is stale. Fail-closed place path: 503 bodies are ok:false with placement.fail_closed=true and X-Error-Code — do no…
ONE sitting contract for the crypto desk: SCAN the full liquid USD book FIRM already prices via build_liquid_universe (GET /api/crypto/universe — stables out, $1M 24h floor, not Alpaca's 36, not a pre-cut 20), RANK every liquid name with attached DATA (multi-horizon momentum 1h/4h/1d/7d from snapshot + existing daily bars — missing horizons skipped, never zero-filled — plus volume and optional crypto-news sentiment and event shocks; funding / open interest / basis are not a served tape here and are not invented; missing/stale is said on the row, name stays, no number invented), SLEEVE a bound…
The FULL liquid crypto universe FIRM prices (~419 pairs in one vendor call), ranked by 24h dollar volume. Stables out. Default floor $1M 24h. The cap IS that floor — this does NOT silently return top-50 or Alpaca's 36 USD pairs. The ranked sitting sleeve is GET /api/crypto/sitting; this endpoint is the full liquid book, not a broker-listed toy set. Optional limit/offset paginate the same book (has_more / next_offset); they do not hide names. Honest counts: priced, excluded_stable, below_floor, returned. Overnight (GET /api/crypto/overnight) is a mover SLICE of this book, not a replacement. LI…
ONE sitting contract for the autonomous desk: SCAN the full tradeable US equity book FIRM already knows (the live feature store — measured count, never a hardcoded 8000 or a 20-name seed list), RANK that book with attached DATA (technical + options_flow + news + sentiment; missing/stale is said on the row, name stays, no number invented), SLEEVE a bounded top-N (default 20) from that full-book rank. Every sleeve row carries the four signal-bundle keys or explicit nulls. Ranking is ordering + attached DATA, not a Tengu score. edge=no_measurable_edge. do_not_place_from_mover_rank stays true. FI…
Clusters of insider buying across companies: names where multiple distinct insiders bought around the same time. Call it when the user asks 'where are insiders buying?' or wants market-wide insider conviction rather than one company's filings.
Recent service log lines. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale and status alone doesn't explain it.
One-call macro dashboard: VIX, DXY, treasury spreads, fear-greed, and the current regime read. Call it FIRST for any 'how is the overall market / macro backdrop?' question, or to frame a single-name view against market conditions.
Readiness flags showing which subsystems are up and serving. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.
Current market regime label plus the model's regime probabilities. Call it when the user asks 'what regime are we in?' or before positioning advice that depends on the prevailing regime; use tengu_v2_regime_forecast for the forward view and tengu_v2_regime_history for the past.
Research knowledge base
Live price snapshot for one ticker: latest price plus basic trading stats. Call it when the user asks 'where is X trading right now?' or needs a current quote before any single-name analysis. Heavy endpoint — fetch one ticker per call.
System status for the service. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.
Mined alpha expressions from the research pipeline, filtered to a minimum information ratio (min_ir, default 0.5) and capped at `limit` (default 25). Call this when the user asks what alpha signals or factor expressions the research engine has actually discovered.
Historical crash replay through past market crash episodes. Call it when the user asks 'how would this have held up in previous crashes?' or wants tail risk anchored to real historical events; use tengu_v2_stress for hypothetical scenarios.
Feature and prediction drift over a rolling window (default 30 days). Call it when the user asks whether the models are still well calibrated, why predictions look off, or whether model inputs have shifted recently.
IC/IR half-life per factor — how fast each factor's predictive power decays. Call it when the user asks which signals are going stale, how long a factor's edge lasts, or before weighting factors in a strategy.
Top-N feature importances for the prediction models (default top 50, optionally filtered to one model). Call it when the user asks 'what is the model actually looking at?' or which inputs are driving current predictions.
Conformal prediction intervals for one ticker's forecast: a calibrated lower/upper band at the requested miscoverage alpha (default 0.1 = 90% interval). Call it when the user asks 'how confident is the model?' or wants an uncertainty range around a prediction rather than just a point estimate.
Forecast regime probabilities N days ahead (default 21-day horizon). Call it when the user asks 'is the regime about to change?' or wants the forward market-state outlook rather than today's label — use tengu_regime for the current read.
Historical regime labels over the last N days (default 180). Call it when the user asks how long the current regime has lasted, when the last regime shift happened, or wants past behavior broken out by regime.
Discover the 39 licensed research datasets servable via the research-dataset reader — equity prices (daily/monthly/delistings/distributions/mutual funds), fundamentals (annual/quarterly/segments/customers/supply-chain), analyst estimates (summary/detail/guidance/price-targets/actuals/recs), implied volatility, securities-finance (full-history CDS + short interest), transcripts/ratings/key-developments, board relationships, forensic-audit filings, syndicated loans, ESG ratings, crowd estimates, TRACE bond trades and Fama-French factors. Call FIRST when unsure of a slug; not_ingested lists any …
Read any licensed research dataset by slug (discover via tengu_v2_research_datasets). ?ticker= pushes an exact server-side filter down the dataset's own symbol column when it has one; datasets keyed by an internal security id instead state explicitly that ticker was ignored. The `implied_vol_by_ticker` slug REQUIRES ?ticker= and resolves the symbol to that id automatically before pushdown. The `cds_composites` slug serves the FULL 2005–2025 spread history. Unfiltered reads are capped at 5000 rows.
Short interest for one ticker: shares short, days-to-cover (DTC), and fails-to-deliver (FTD). Call it FIRST for any 'is X heavily shorted / squeeze candidate?' question or before evaluating short-side risk in a position.
Correlation matrix across the voter signals feeding the ensemble. Call it when the user asks whether the model's signals are independent or redundant — high pairwise correlation means the vote count overstates conviction.
Strategy genealogy with out-of-sample (OOS) scores — how each evolved strategy variant descends from its parents and how it validated OOS, up to `limit` entries (default 50). Call this when the user asks how strategies were developed, mutated, or which generations survived validation.
Stress-test scenarios from the risk engine. Call it when the user asks 'what happens if things go bad?' before sizing risk; use tengu_v2_crash_scenarios to replay specific historical crashes.
Portfolio VaR and CVaR at a chosen horizon and confidence (defaults: 1-day, 99%). Call it when the user asks 'how much could the portfolio lose?' or needs a tail-risk number before sizing or hedging decisions.
Realised-vs-predicted accuracy over a rolling window (window_days, default 90) — how well predictions matched what actually happened. Call this when the user asks how accurate the system has been or wants a track record before trusting a new call; use prediction_tracker for individual predictions.
Recent outputs from a named agent
Latest heartbeat + stats for one agent
Catalogue of every agent in the swarm — one entry per agent. Call this when the user asks which agents exist, what the swarm is composed of, or to resolve an agent's name before drilling into its output.
Currently-active alerts
Per-feed external API quota usage and cap status (news, news-analytics, market-data, alt-data). Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.
Detail for a single backtest run
List recent backtest runs
Calibrated trust per signal source
Pre-trade expected execution cost for a ticker: spread, market impact, and commission for a given qty (default 100) and side (buy/sell). Call it to know what a trade will actually cost before sizing or routing it; use twap_plan/vwap_plan for the execution schedule itself.
Use when: the user asks for a specific ticker's next earnings date, when a company reports, the earnings calendar entry for a name, or anything of the form "when is X's next earnings?". This is the CANONICAL multi-source consensus tool — fans out to market-data, market-data, newswire, news, and web search in parallel; reconciles via primacy-weighted majority; returns a single canonical answer with per-source breakdown, deduplicated citations, and a ``vendor_coverage_alert`` when paid vendors silently lack data the web confirms. ``_meta.confidence`` is `high` (≥2 sources agree, or 1 primary so…
STREAMING variant of ``tengu_v3_earnings_next`` — same consensus contract, delivered as Server-Sent Events (text/event-stream). Emits two events: ``partial`` when paid vendors reach consensus (~500ms first paint with `is_projected=false`, confidence=high based on paid alone) and ``result`` when web_search has verified (~2-3s; updates `vendor_coverage_alert` if web disagrees). Use when a consumer can render incrementally and wants the fastest possible first paint — chat surfaces and live tickers. Synchronous consumers should keep using ``tengu_v3_earnings_next`` (cost-aware: skips the web_sear…
academic open-source predictor panel for one stock — a compact vector of 13 replicated accounting anomalies (Sloan accruals, Cooper-Gulen-Schill asset growth, Titman capital investment, Novy-Marx gross profitability, Fama-French operating profitability, cash-to-assets, leverage change, earnings consistency, revenue growth, positive-NI/positive-CFO flags, current ratio, net share issuance) at monthly grain. Call it for a ready-made feature vector when you don't need the full ~460-column factor panel. Returns the series newest-last, or with latest=true only the single most-recent row as a name-…
AI-generated company analysis for one ticker — summary, strengths, concerns, peer comparison and a quality score. Call this when the user wants a synthesized qualitative read rather than raw numbers. Premium: metered at 100 credits/mo.
All three financial statements — income, balance sheet, and cash flow — for a ticker in one round-trip (default quarterly, last 4 periods). Call this when the user wants a full fundamental picture of a company instead of three separate statement calls.
SEC EDGAR balance sheets for a ticker — assets, liabilities, and equity line-items per period, quarterly or annual (default quarterly, last 8 periods). Call this when the user asks about cash on hand, debt load, or book value straight from reported filings.
SEC EDGAR cash-flow statements for a ticker — operating, investing, and financing flows per period, quarterly or annual (default quarterly, last 8 periods). Call this when the user asks about cash generation, capex, buybacks, or how earnings convert to actual cash.
Static company profile for one ticker — sector, industry, CIK, exchange, market cap and employee count. Call it to know what a company is and how big it is before deeper analysis. Not the XBRL corpus — that discovery lives at /fundamentals/companyfacts/{ticker}.
One-call company snapshot — info + TTM + ratios + growth + MRQ balance (fundamentalsapi.com)
Directory of every as-reported XBRL concept (us-gaap/dei/ifrs-full) a company has filed — unit(s), observation count and period coverage — from the in-house SEC EDGAR companyfacts corpus. Call it FIRST to find the concept tag for /fundamentals/xbrl/{ticker}/{concept}. Point-in-time, no vendor restatement.
Dividend profile per ticker — DPS, payout ratio, consecutive-growth streak and 10Y history; accepts comma-separated tickers. Call this for any dividend-safety, income or 'how long has X raised its dividend' question.
Full text of a company's earnings press releases, including guidance language (default limit 8). Call this when the user asks what management said or guided in an earnings release, or wants exact announcement wording.
Growth metrics — YoY, 3Y CAGR, 5Y CAGR and margin trends; accepts comma-separated tickers for one-call bulk comparison. Call this when the user asks how fast a company is growing, whether margins are trending up, or to compare growth across several names.
Multi-decade historical financial statements for one ticker from SEC EDGAR — income, balance, and cash-flow, filterable by statement_type and start_year/end_year, annual by default with include_quarterly opt-in. Call this when the user asks how fundamentals have trended over many years, not just the latest print.
SEC EDGAR income statements (P&L line-items, revenue through net income/EPS) for a ticker — quarterly, annual, or TTM (default quarterly, last 8 periods). Call this when the user asks about revenue or earnings trends and wants the actual reported statements.
Form-4 insider transactions for one ticker — officer and director buys and sells (default limit 50). Call this when the user asks whether insiders are buying or selling a stock, or wants insider-conviction evidence for a name.
13F institutional holdings for one ticker, itemized by holding institution (default limit 50). Call this when the user asks which institutions or funds own a stock or how concentrated institutional ownership is.
Derived financial-metric rows per period for a ticker — P/E, ROE, margins, FCF yield, debt ratios — quarterly, annual, or TTM (default quarterly, last 4 periods). Call this when the user asks about valuation or quality ratios and their trend without needing raw statement line-items.
Curated news articles for one ticker from the fundamentals market-data feed, with start_date/end_date filtering (default 50). Call it for ticker-scoped headlines while working inside fundamentals; it is distinct from the primary news surface — use the news tools for broad or breaking coverage.
Same-industry comparables for a ticker, ranked by revenue, margins and ROE (default 10). Call this when the user asks who a company's competitors are or how it stacks up against peers — fetch it before any relative-valuation take.
Historical OHLCV bars for one ticker at second/minute/hour/day/week/month granularity (interval_multiplier for e.g. 5-minute bars; start_date/end_date window, default limit 1000). Call this when the user asks for price history, returns over a window, or intraday bars; for the latest quote use /fundamentals/price_snapshot. CRYPTO: pass asset_class=crypto for BTC/ETH/SOL/LTC/LINK etc. Several crypto symbols are ALSO US-listed equity tickers (BTC is a Grayscale trust at ~$29; LINK is Interlink Electronics), so a bare ticker returns the EQUITY. Never use an equity price for a crypto asset.
Multi-filter stock screener combining profitability (ROE, ROA, net margin), growth (revenue, EPS), financial-health (debt/equity, current ratio) and dividend filters, with sector/industry scoping and sort control. PRIMARY tool for 'find me stocks that…' asks; ready-made strategies live in /fundamentals/screener/presets.
Catalog of pre-built screener strategies — Aristocrats, Cash Cows, Value, Quality and more. Call it when the user asks for a named strategy screen or wants screening ideas before composing /fundamentals/screener filters.
Fuzzy company lookup — resolves a free-text name or partial ticker to matching companies (default 10). Call it FIRST when the user names a company without a ticker, before firing any ticker-keyed fundamentals tool.
SEC filings list for a ticker — 10-K, 10-Q, 8-K, S-1 and more, with an optional form_type filter (default limit 20). Call this when the user asks what a company has filed or wants to locate a specific filing type.
Business + geographic SEGMENT breakdown for one company — decomposes a fiscal period into reportable segments by line of business, geography, ASC-280 operating segment and US state, each with sales, revenue, operating income and SIC, grouped by segment type. Call it to see WHERE a company earns: revenue mix by region (e.g. Greater China share) or which line of business carries the margin. Internally keyed (the ticker is resolved via the point-in-time name master, most-recent row); the archive lags, so with no year/date it returns the LATEST available period and reports the datadate served. Va…
Paged listing of the full covered ticker universe, filterable to S&P 500 membership or one sector (limit/page paging). Call it when the user wants all the stocks in a sector or an index-membership list to feed a screen.
One XBRL concept's as-reported history — period, value, fiscal year/period, SEC form, accession, filed date — from the in-house SEC EDGAR companyfacts corpus. Call it for exact as-filed fundamentals: as_of= for point-in-time (no restatement look-ahead), history=true for all restatements; find tags via /fundamentals/companyfacts.
Which mutual funds hold a stock — each fund's percent_tna, shares and market value, largest first, plus report_dt and n_funds, from the survivor-bias-free holdings archive (coverage 2002-2021; no date = latest lagged quarter-end). Call it for mutual-fund demand base or holder concentration; for 13F institutional holders use /intel/sec13f.
Index hedge proposals (SPY/QQQ/IWM) computed from live dealer positioning — protective puts when dealers are short gamma and IV rank is cheap, collars when the 25-delta risk reversal shows calls rich, plus IV term-structure context
Analyst consensus: rating_label (Strong Buy…Strong Sell), rating_score (1-5), bucket counts, price_target_avg/high/low/count, recent_actions[] (upgrades/downgrades/PT changes, firm+analyst+from→to; recent_action_limit). Call for 'what do analysts say about X?' / price targets. Actions from newswire (client-side ticker filter). 1h cache.
Securities-lending borrow cost (annualized fee %, rebate, utilization, shares available) — LIVE. Source chain, first hit wins (see `source`): 1) options-flow shorts feed (intraday) + recent SEC fails-to-deliver enrichment; 2) licensed-research securities-finance Securities Finance latest archived daily row; 3) implied-vol option-implied borrow. `is_stale` flags prints older than 48h (warehouse rows trail on the licensed-research refresh lag). data_source_pending=true ONLY when all three sources miss — then fall back to /intel/short_interest as the squeeze proxy. Use /intel/borrow_cost_history…
newswire: upcoming earnings conference-call schedule. Returns ticker, company, date, start_time, period (Q1/Q2/...), webcast_url, phone_num, international_num, access_code, and importance (5 = mega-cap market-mover). Distinct from /calendar/earnings — this carries the call logistics analysts need to attend.
Macro economic-release calendar from the newswire — CPI, NFP, FOMC, GDP, retail sales and more, filterable by ISO-3 country (USA, CAN, DEU) and date range; importance 5 = market-moving. Call this when the user asks what macro events or data releases are coming up or could move markets this week.
Analyst rating actions and price-target changes from the newswire: analyst_firm, analyst_name, action_company (Maintains/Initiates), action_pt (Raises/Lowers), pt_current, pt_prior, pt_pct_change, rating_current/prior. Call this when the user asks about upgrades, downgrades, or price-target moves on a ticker.
CFTC Commitments-of-Traders report — futures positioning by cohort (producers/hedgers, money managers, other reportables, non-reportables). Polled weekly on Fridays at 18:00 ET, the CFTC's standard publication window. Without filter: returns top-10 money-manager longs and shorts across all contracts on the latest report — the institutional-spec directional bets. With `?contract=GOLD` (substring match, also accepts WTI, NATGAS, SP500-EMINI, BITCOIN-MICRO, 10Y-NOTE, etc.) returns the matched contract's 5-week positioning history with cohort net positions, % of OI, and a 4-week net delta. Extrem…
Candlestick chart with optional RSI/MACD/Bollinger overlays — returns a base64 PNG in a standard image envelope plus an OHLCV summary block (interval minute|hour|day|week|month, default day; 120 bars). Call this when the user asks to see a chart; powers chart-emitting skills (TA Master, Trading Plan, Apex Equity Intel).
REAL-TIME spot prices for the macro commodities (oil WTI/Brent, gold, silver, nat-gas, copper). AUTHORITATIVE source for any numeric commodity claim — call this BEFORE quoting a price level. QUOTE 'spot' DIRECTLY — it's the live commodity price (FRED's last published close anchored to the live commodity-tracking ETF's cumulative return since that date, so it reflects today's market not FRED's T+1..T+5 publish lag). 'unit' tells you the dimension (USD/barrel for oil, USD/MMBtu for natgas, USD/metric-ton for copper). Response fields per item: 'spot' (live number — quote this), 'unit' (dimension…
Corporate-PAC donations linked to the ticker's parent company (alternative-data): candidate, committee, amount, transaction_date, cycle — a campaign-finance influence signal. Call this when the user asks who a company donates to or about its political exposure.
Most recent dark-pool prints across all tickers from the options-flow feed (default 50). Call this when the user asks about market-wide dark-pool or block activity — 'any big dark-pool prints today?'; use tengu_v3_intel_darkpool_ticker for a single name.
Dark-pool prints for one ticker from the options-flow feed (default 50). Call this when the user asks whether large blocks are crossing off-exchange in a specific name; use tengu_v3_intel_off_exchange for daily aggregate off-exchange volume instead of individual prints.
Last N quarters of earnings for a ticker — report date, EPS estimate vs actual, surprise %, and the day-of-report intraday price move %. Used by the verdict prompt to anchor 'stock typically moves ±X% on earnings' claims in real numbers. Composite (newswire + market-data). 6h cache.
alternative-data: ETF composition or inverse-lookup. Pass ?etf=SPY for full holdings of an ETF, OR ?ticker=NVDA for every ETF that holds the stock (with weight). At least one is required; when both are passed, etf takes precedence.
Annual executive compensation history for a ticker (alternative-data): CEO + named officers with name, role, year, salary, bonus, stock_option_awards, total_compensation. Call this when the user asks 'how much is the CEO paid?' or wants pay-vs-performance context.
What drives the model: Fama-French 5-factor loadings showing which systematic factors explain the strategy's returns, plus the ensemble's Bayesian voter posteriors ranking which signals it trusts most (top_n, default 50). PRIMARY tool for 'why does the model like this?' and 'what is the strategy actually betting on?' questions.
Aggregate gamma exposure (GEX) and delta exposure for one ticker from the options-flow feed. Call this when the user asks about dealer positioning or gamma levels, or whether options exposure could dampen or amplify moves in a name; pair with tengu_v3_intel_max_pain for expiry pin levels.
Federal government contracts awarded to one ticker's company from the alternative-data feed (limit, default 50). Call this when the user asks how much government business a company wins or whether contract awards are accelerating; pair with tengu_v3_intel_lobbying for the lobbying-spend side.
Quarterly cross-ticker federal-contracts feed (alternative-data) — top-line award totals only, lighter than per-ticker tengu_v3_intel_gov_contracts (no agency or description fields). Call this for 'which companies win government money?' screens; use tengu_v3_intel_gov_contracts for line-items.
SEC Form 4 insider trades for one ticker — recent buys and sells by officers, directors, and large holders (default 25). Call this when the user asks 'are insiders buying or selling X?' or wants to check insider conviction before acting on a name.
Live cross-ticker Form-4 insider-transaction feed (alternative-data, last ~20k rows): name, transaction_code, shares, price_per_share, value_usd, shares_owned_following. Call this when the user asks 'are insiders buying or selling?' — one name or market-wide. Optional ticker filter is applied client-side.
Quarterly corporate lobbying spend for one ticker from the alternative-data feed (limit, default 50). Call this when the user asks how much a company spends lobbying or whether its policy exposure is growing; pair with tengu_v3_intel_gov_contracts for the government-contract side of the same story.
NOW WITH a `credit` block: CDX IG/HY on-the-run 5Y composite spreads + 1-session delta (T-2 by source, cadence-aware staleness; full series at /api/v3/credit/indices). Cross-asset macro composite returning REAL underlying values, all real-time where the data source permits. Fields: `vix` (real-time spot), `ten_year_yield_pct` (FRED DGS10, %), `usd_index_narrow_dxy` (computed from FRED 6-pair basket via the standard geometric weighted formula — the institutional standard ~99), `usd_index_trade_weighted_broad` (FRED DTWEXBGS — Fed's broader policy measure ~118), `wti_oil_usd_bbl` (FRED DCOILWTI…
Max-pain price per options expiration for one ticker from the options-flow feed. Call this when the user asks where a stock is likely to pin into expiry or what the max-pain level is; pair with tengu_v3_intel_gex for aggregate gamma/delta exposure.
Top-N SHAP feature attributions for the ML ensemble score on a ticker: drivers[] ranked by |SHAP| with feature (e.g. beta_cma, vol_21d), signed shap_value, direction (bullish/bearish/neutral). PRIMARY tool for 'why is the model bullish/bearish on X?'. Nightly run; default top=5, max 20; available:false outside the ML universe. 5min cache.
Latest ensemble ML prediction for the ticker, with full conformal interval + 19-voter decomposition. Sourced from the nightly ensemble scoring run (refreshed nightly Mon-Fri, ~13K tickers scored per cycle). Returns `prediction` block (predicted_return_pct, blended_score, conviction, decile, rank, percentile_rank, n_universe), `conformal_interval` block (lo/hi/half_width/method + stated_coverage 0.90 + realised_coverage_recent from live calibration table), `voter_decomposition` (per-voter contribution across the 19 voters — e.g. ml_ensemble, regime_hmm, technical_advanced, sentiment_finbert, m…
Live conformal-coverage telemetry: how often the model's stated 90% intervals actually contain the realised 5d returns. Built nightly over the trailing 30 days of prediction-outcome pairs. Returns `stated_coverage` (target, typically 0.90), `realised_coverage` (actual, e.g. 0.78), `coverage_delta` (gap, negative = under-covering), `status` (red/amber/green), `n_pairs` (sample size, ~110K typical), `mean_interval_width_pct`, `mean_predicted_return_pct`, `mean_realised_return_pct`, and an `interpretation` string. Treat status=red as a verdict-grade caveat — chat should attach 'model intervals c…
UNAVAILABLE: the crypto newswire channel has no current coverage. Any alternative must preserve crypto asset identity and distinguish coins from equity proxies.
MARKET-WIDE ONLY — never for one ticker's news (that is tengu_v3_news_summary). Live cross-publisher newswire headlines: headline, publisher, tickers, is_major flag, feed-supplied sentiment; seconds-fresh, 120s cache. For 'what's happening in the market right now?' scans and cross-ticker sweeps.
CURRENT MOVERS FEED UNAVAILABLE. Historical articles may be returned with their age disclosed; do not describe them as today's movers. For fresh equity headlines, explicitly call tengu_v3_news_trending with a singular ticker. The archive covers past gainers, losers, halts and breakouts; pass tickers to narrow historical coverage.
UNAVAILABLE: company-issued press releases cannot currently be supplied by this channel. General news coverage cannot satisfy a request for original company announcements.
CURRENT NEWSWIRE UNAVAILABLE. Historical stories may be returned with their age disclosed; do not present them as current catalysts. For fresh equity headlines, explicitly call tengu_v3_news_trending with a singular ticker; it has different coverage and no channel or full-body filter. Archived newswire stories — cross-ticker, ticker-filtered (comma-separated), or by channel: id, title, teaser, url, ticker(s), channels, tags, created (ISO-8601); body=true adds full HTML (slower, larger). Call this when the user wants themed or full-text news beyond headlines. Historical channel names (exact ca…
CURRENT MOVER FEED UNAVAILABLE. Historical explainers may be returned with their age disclosed; they do not establish the cause of today's move. For fresh equity headlines, explicitly call tengu_v3_news_trending with a singular ticker and assess whether a story explains the move. The archive contains short explainers of past intraday moves; pass tickers to narrow the historical coverage.
Daily off-exchange (dark pool + ATS) volume for one ticker from the alternative-data feed (default 30 days). Call this when the user asks how much of a stock's volume trades off-exchange or how dark-pool share is trending; use tengu_v3_intel_darkpool_ticker for individual prints.
Recent unusual options-flow alerts across the whole market from the options-flow feed, filtered to trades above min_premium (default $50k). Call this when the user asks 'what is the smart money buying today?' or wants market-wide unusual options activity; use tengu_v3_intel_options_flow_ticker for a single name.
Unusual options-flow alerts for one ticker from the options-flow feed (default 25). Call this when the user asks 'any unusual options activity in X?' or wants the large options bets hitting a specific name; use tengu_v3_intel_options_flow for the cross-market view.
Daily options volume and put/call ratio per day for one ticker from the options-flow feed (default 30 days). Call this when the user asks whether options activity or put/call skew is elevated versus recent days, or how bullish/bearish the options tape has been trending.
Issued USPTO patents tagged to one ticker — date, title, IPC class, claim count, and abstract for each (default 25). Call this when the user asks what a company is patenting or wants an innovation-velocity read on its R&D pipeline.
Daily PnL track record for the paper book, Carhart 4-factor-decomposed. Snapshotted nightly. Returns `rows[]` of trading days with per-row gross/net return in basis points, transaction cost, turnover, plus the Carhart factor contributions (MKT-RF, SMB, HML, UMD) and residual alpha — the institutional skill measure that strips market/size/value/momentum beta. Window aggregate: mean daily bps, hit rate, annualised Sharpe, cumulative net + alpha. Default 30 trading days; query `?days=N` (bounded to 365). Use this to ground any track-record claim the chat makes — e.g. 'our paper book made +29 bps…
Full US Congress roster (House + Senate, alternative-data) with disclosed trade counts per member. Call it to resolve a politician name to a BioGuideID before pulling their trades, or for 'most-active disclosed traders in Congress' lists. Heavy full-roster pull.
Quarter-over-quarter 13F position deltas (alternative-data), sign preserved: positive = added, negative = trimmed. Call this when the user asks 'are institutions adding or dumping X?'; set min_pct (absolute change fraction, e.g. 0.5 = 50%) to drop noise.
FINRA bi-monthly short interest: short_interest_shares, short_interest_pct_of_float, days_to_cover, short_interest_change_pct_30d (vs prior settlement), avg_daily_volume_at_settlement. Call for 'how shorted is X?' / squeeze questions. borrow_fee_pct_annualized is null — see /intel/borrow_cost. Market-data FINRA re-publish; 6h cache.
Street consensus EPS + options-implied expected move per earnings event, with beat_rate_pct and 8-quarter surprise history (est vs actual vs surprise_pct). Call this for 'what does the Street expect?' or 'how big a move is priced in?'. report_date_basis 'estimation' = projected date, NOT confirmed — cross-check tengu_v3_earnings_next.
Top institutional / fund / insider shareholders for a ticker (alternative-data), as two lists — ownership (shares) and ownership_options (contracts) — because options exposure reads differently from equity holdings. Call this when the user asks 'who owns X?' or wants the largest holders.
Daily Twitter mention volume and follower count for one ticker from the alternative-data feed (default 60 days). Call this when the user asks how much social buzz a name has or whether attention is spiking; pair with tengu_v3_intel_wsb for the r/wallstreetbets read.
standardized implied-vol SURFACE for a company, joined from a plain equity ticker (resolves the symbol to the surface's internal id via the link table). Returns the standardized surface grid: for each maturity (days = 30/60/91/182/365) and delta node, per call/put the interpolated implied volatility and its dispersion — the clean vol skew + term structure behind risk-reversals, butterflies and the ATM vol term structure. Use to read a name's vol smile or how implied vol changes across expiries. Omit date for the latest-available surface (lagged academic archive — currently the 2011 slice, 3,9…
Causal attribution for a voter's score on a ticker. Instrumented voters: `insider_flow` (EDGAR Form-4 + insider feed, deduped by name/date/value; CEO/CFO 2x, officer 1.5x, director 1.2x weighting; contribution amounts + reconstructed score); `options_flow` (options-flow alerts with direction inferred from option_type+side: CALL@ASK=+1, PUT@ASK=-1, CALL@BID=-1, PUT@BID=+1; weighted by premium/median); `fundamental` (metadata mode — surfaces which 4 ratios the voter consumes + how to interpret). Transforms scores into EVIDENCE rather than a number. Remaining voters (sentiment, analyst_revisions…
Per-ticker accounting for every voter in the 19-voter ensemble. For each voter returns the current score, baseline weight, status (firing | silent_data | shadow | no_signal), and a human-readable `why` explaining each silent voter's upstream data source so an operator can chase the gap. The `coverage_summary` block reports `weight_firing` (effective ensemble weight in use) vs `weight_silent_live` (paid-for but silent). Use this when a model_prediction shows low voter_coverage — it tells you exactly which data pipelines to wake up. 5min cache.
Per-voter information-coefficient drift vs baseline for all 19 voters, recomputed daily: live_ic vs baseline_ic, ic_ratio (sign-flip flagged at <0), drift_status (green/yellow/red), sorted by absolute drift severity. Call it before leaning on a verdict — reduce confidence in any voter with red drift_status. 60min cache.
Daily r/wallstreetbets mention count and sentiment for one ticker from the alternative-data feed (default 60 days). Call this when the user asks whether retail is piling into a name or how retail buzz is trending; pair with tengu_v3_intel_twitter for the Twitter-side social read.
Uncertainty-discounted Kelly fraction for one ticker — the bet size after haircutting full Kelly for estimation error. Call this when the user asks 'how much should I bet on X?' or to know how large a position the evidence actually supports before sizing a trade.
Live lab deployments (paper/tiny-cap)
Strategies in the sandbox lab
Live US Treasury yield curve (market-data feed, T+1): 1m-30y tenor points, per-tenor 1-day change (bps), computed 2s10s and 3m10y spreads with inversion flags. Call this when the user asks about rates, curve shape, or inversion. Honest as_of = the feed's record date.
Finite catch-up page for retained market events after a Redis stream id; use after reconnect and preserve each event's source freshness fields.
Recall memory items by free-text query
Post-trade reflections journal
Recent system metrics (latency/QPS/error)
MARKET-WIDE feed — not per-ticker (that is tengu_v3_news_summary). Aggregated cross-source news stream over the last N hours (default 24) for broad market-news sweeps and cross-source coverage checks.
Headline-only alert stream — lighter and faster than full news items; category=general for market-wide or category=ticker with tickers for specific names. Call this when the user wants breaking headlines or the very latest on a name and speed matters more than article bodies.
Sentiment leaderboard across the full tracked ticker universe over a date_range (default last7days), paginated. Call this when the user asks which stocks have the most positive or negative news sentiment right now — a screening pass before single-name digs.
Topic-filtered headlines (earnings, analysts, dividend, mergers, acquisition, ipo, fda, guidance, stock_buyback, insider, lawsuit, esg, crypto, and more), optionally per ticker, over a date_range (default last7days, 50 items). Call it when the user asks about a specific event type — 'any FDA news?', 'recent M&A headlines'.
Category-scoped news feed: section=general for market-wide or alltickers for company-tagged stories, filterable by topic, sector, industry, and source. Call this when the user wants themed or sector-level news rather than coverage of a specific ticker.
Crypto news by section: section='general' for overall crypto-market headlines, section='alltickers' for cross-coin coverage. PRIMARY tool for broad 'what's happening in crypto today' questions — for a single coin use news_crypto_latest instead. 120s cache.
Recent crypto news with sentiment for one or more symbols: title, source, sentiment (Positive/Neutral/Negative), date, topic tags. PRIMARY tool for ticker-specific crypto drilling (BTC, ETH, SOL, COIN, MSTR) — call when the user asks what's happening with a specific coin; use by_category for market-wide questions. 60s cache.
crypto-news: daily sentiment rollup for a crypto symbol (-1.5 to +1.5). Densest single-call signal — N days of (positive_count, negative_count, neutral_count, sentiment_score). Use to detect sentiment regime shifts on BTC/ETH/etc. 300s cache.
Structured market events — earnings, M&A, FDA decisions, guidance changes, price-target moves — filterable by ticker, event_type, and date_range (default today). Call this when the user asks 'what events happened' or 'any catalysts for X' instead of scanning raw headlines.
All news items belonging to one clustered event, looked up by eventid, paginated. Call this when you already have an eventid from another news result and the user wants the full article set behind that single catalyst or story cluster.
Detected market-moving events across the market over a lookback window (hours param, default 24). Call this when the user asks 'did anything big happen today?' or wants a scan of recent catalysts market-wide; use tengu_v3_news_latest for headlines on one ticker.
Overall market-wide news-sentiment rollup over a date_range (default last7days). Call this when the user asks how the market 'feels' right now or whether the news backdrop is bullish or bearish — before drilling into single tickers.
News stories where ALL the listed tickers co-appear in the same article — a correlation feed. Call this when the user asks how two or more companies are linked in the news (deals, rivalries, shared catalysts); use ticker_news for per-ticker coverage.
Analyst rating actions — upgrades, downgrades, and initiations, filterable by tickers, rating_type, and date_range; history goes back to 2022-04-08. PRIMARY tool for 'any recent upgrades or downgrades on X?' and for gauging how sell-side conviction is shifting.
Daily news-sentiment rollup for one ticker: a -1.5 to +1.5 score per day with article counts, over a date_range (default last30days). Call it when the user asks how sentiment on X is trending or whether coverage has turned negative; use tengu_v3_news_latest for the actual headlines.
LLM-structured news items — event_type, tickers, sentiment, magnitude, confidence
Curated end-of-day 'sundown' digest — a market-close recap of the day's news from the newswire, over an optional date_range. Call this when the user asks 'what happened in the market today' or wants a daily wrap-up.
FILTERED-SEARCH ONLY — reach for this when the user specifies filters (topic, sector, source, sentiment, date_range, article/video, free-text search) or multi-ticker search. Never for plain 'what's the news on X?' (that is tengu_v3_news_summary). Full newswire filter spec; sortby rank or oldestfirst.
News stories tagged with ONLY this one ticker — the strictest filter, excluding articles that co-tag competitors or peers. Call this when the user wants pure company-specific coverage without sector noise; use ticker_news for broader filtered search.
Most-mentioned tickers in the news over a window (default today), optionally filtered by sector — a market-attention proxy. Call this when the user asks which stocks are getting the most buzz or where the crowd's focus is today.
DRILL-DOWN ONLY — never alongside tengu_v3_news_summary (it already includes trending status). The newswire's noise-filtered top stories for a ticker, for when you specifically need the trending ranking on its own.
Latest optimizer weights — the current weight set from the most recent optimization run. Call this when the user asks what the optimizer is currently recommending or how the latest run set its weights.
Latest naive risk-parity weights
Live position monitor (exits, stops, flags)
Recent predictions with their resolution state, up to `limit` entries (default 200) — each call and whether it has resolved yet and how. Call this when the user asks what the system has predicted lately or how specific calls turned out; use accuracy for the aggregate hit-rate.
Returns-correlation mesh around a seed ticker — nodes = tickers, edges = |rho| >= 0.6, from the 36-month realised-returns sidecar (depth expands the neighborhood). PRIMARY tool for 'what moves with X?' and finding hedge or pair candidates. Caveat: needs 36-month overlap; a freshly-listed or thinly-traded seed may be absent.
Outcome-resolver status
Consensus portfolio VaR + CVaR (USD) on the live top-decile shadow book — Cornish-Fisher + t-copula Monte-Carlo + filtered-historical-simulation blended, with a liquidity-adjusted VaR. Call this when the user asks how much the model portfolio could lose. Caveat: 1-day horizon only (horizon_days_served=1); multi-day is not scaled.
Structured extracts from the latest 10-K/10-Q/8-K via the SEC EDGAR JSON API: balance_sheet_summary, cash_flow_summary, shares_outstanding (basic+diluted+4Q trend), filing_date, filing_url, accession_number. Call for numbers straight from the latest filing. MVP: text_sections are deep-links only — use web_search on filing_url. 24h cache.
Recent and pending self-healing actions the system has taken or queued. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.
Cross-asset regime signals — the regime read taken across asset classes rather than from single tickers. Call this when the user asks about the broader market regime or wants cross-asset confirmation of a single-asset view.
Latest fused signals across all voters — the combined signal after voter aggregation, up to `limit` names (default 100). Call this when the user asks what the system's current signals are overall; use signals_mtf for one ticker's timeframe alignment.
One EQUITY cross-horizon ensemble row for a ticker. Despite the legacy `mtf` path name, the warehouse does NOT emit independent per-timeframe rows, so this tool cannot confirm 1m/4h/1w agreement and must not be cited as multi-timeframe evidence. Crypto requests fail closed.
Active veto state — which risk, regime, or circuit-breaker (CB) vetoes are currently in force over signals. Call it to know whether signals are being suppressed before trusting any signal read; PRIMARY for 'why isn't the system acting on <ticker>?'.
Realised slippage stats (mean/median/p95)
Recommended venue mix (lit/dark/algo)
Catalogue of the 21-strategy library — one entry per strategy. Call this when the user asks which strategies exist or what the system can run, or to resolve a strategy name before drilling into its evolution or signals.
Historical metrics for a named strategy
Latest signals from a named strategy
SSE stream of risk / guardrail alerts
SSE stream of live 1-minute OHLCV bars for EVERY US-listed ticker (no subscribe step needed — the all-ticker feed is always on). Each frame closes one 1-minute candle ~1s after the venue closes it: open/high/low/close/volume/vwap + bar_period_s=60. The live-candle feed for charting; quiet outside ~04:00-20:00 ET, which is correct. For chart HISTORY use REST aggregates, not a stream.
Effective decision-generator status across the optional in-process worker and dedicated processor heartbeat: input signals, emitted decisions, deployment state and local gate counters. Call when decisions are missing.
SSE stream of decision-lifecycle events
Per-user scoped SSE event stream
Live-data ingest daemon status: provider, subscribed symbols, connection uptime, tick/bar counters, last error. Call when the user asks why live data looks missing/stale.
SSE stream of freshness-labelled market events. Every record carries source as-of time, feed lag and staleness so old data cannot masquerade as a new breach.
SSE stream of structured-news items
News publisher status: polls completed, articles seen/published, dedup hits, newswire availability. Call when the user asks why news looks missing/stale or whether the pipeline is healthy.
SSE stream of live per-venue bid/ask quote events for the requested symbols (bid/ask price+size + per-side venue IDs). Connecting auto-subscribes coverage within ~5s. Quiet outside US market hours — that is correct, not broken. Sizes are the venue's numbers untransformed; never present them as share counts.
Agent protocol for real-time queries: which SSE feed maps to which intent (live price, signals, decisions, news, alerts), payload shapes, when to prefer SSE over REST, and fallback rules when flags are off
Effective signal-generator status across the optional in-process worker and dedicated processor heartbeat: input ticks, emitted signals and deployment state. Call when live signals look missing/stale.
SSE stream of fused signals
Bounded Redis reachability plus expiring market-producer and signal-pipeline heartbeats, per-capability readiness, coverage modes/limits and known SSE endpoints. Call before claiming live data or diagnosing missing/stale feeds.
Tick writer (tick-persistence buffer) status: buffered rows, batches written, last flush duration. Call when the user asks whether the pipeline is healthy or why stored tick data looks missing.
SSE stream of live US-equity trades. A filtered connect queues cross-process T+Q coverage; the dedicated producer reconciles it asynchronously (target ~5s).
Legacy in-process UniverseManager diagnostics for dev. For production cross-process warm coverage use tengu_v3_market_universe and tengu_v3_stream_status.
Aggregate system health with per-subsystem status. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.
Full historical OPTIONS CHAIN for one underlying on one snapshot day from FIRM's own daily market-data capture — per contract: strike, expiry, dte, bid/ask/mid/last, day volume + VWAP, implied volatility, the full greeks (delta/gamma/theta/vega), open interest and underlying price, plus a chain summary (contract/expiration counts, put/call OI + volume ratios, front-month ATM IV). Use it to reconstruct the IV surface, greeks or OI distribution AS IT STOOD on a past day, find where OI/volume concentrated, or pull the near-the-money strikes around an event. Omit date for the latest captured day …
Currently-active decision thresholds — the live cutoff values gating automated trade decisions right now. Call it to know which thresholds are in force before interpreting why a signal did or didn't become a decision.
Top trade setups from the decision engine with **defensive-alternates baked in**. When the screen is one-sided (>=70% same direction across 3+ picks), the response carries `universe_skew` = 'bearish' | 'bullish' | 'mixed' AND a `regime_warranted_alternative` block containing the editorial fallback basket (defensive | cash_heavy | value_tilt | momentum). Each alternative carries strategy label, curated candidates with thesis per name, and a one-sentence rationale. Brain consumes the alternative when the primary picks don't fit the user's risk frame — e.g. all-bearish screen on a long-bias capi…
TWAP child-order schedule for a ticker: a qty (default 100) sliced into evenly-timed child orders over `minutes` (default 60). Call this when the user asks how to work an order over time; use vwap_plan for a volume-curve schedule and cost_estimate for expected cost.
Ultimate-engine aggregate decision for one ticker — the top-level verdict aggregated across the engine stack. PRIMARY tool for 'so what's the final call on <ticker>?' — call it when the user wants one consolidated decision rather than raw component signals.
Latest universe-scanner output: the most recent scan results across the tradable universe, up to `limit` names (default 100). Call this when the user asks what the scanner is flagging right now or wants a market-wide sweep before drilling into single tickers.
Lifetime count of registered trials — the N used for DSR deflation. Call it to know how heavy the multiple-testing burden is before interpreting any deflated Sharpe, or when the user asks how many strategy variants have been tried.
Recent trials recorded in the DSR registry (limit param, default 100). Call it when the user asks what backtests or experiments have been run, or to audit the multiple-testing history behind a deflated Sharpe.
VWAP child-order schedule for a ticker: a qty (default 100) sliced along the intraday U-curve volume profile. Call this when the user wants an order worked in line with typical intraday volume; use twap_plan for even time-slicing and cost_estimate for expected cost.