Dr. NoVo
Server Details
Dealer gamma maps for SPY, QQQ, IWM and 90+ cryptos, plus NoVo's own session record. 20 free tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Score is being calculated.
Available Tools
40 toolsask_novoAsk Dr. NoVo — the markets SI (live books need a key)Read-onlyIdempotentInspect
ASK NOVO HIMSELF - the Financial Markets Super Intelligence, not a data endpoint. Put a market question in plain English ('is volatility actually high right now?', 'what does the dealer setup on SPY mean?', 'is the dealer setup on SPY unusual?') and get his read, in his voice, grounded in what your key can see and naming the feed each figure came from. WITH NO KEY: the free layer only - delayed dealer levels (call/put wall, gamma regime; the flip and expected move are NOT in the free feed), the volatility record with percentiles and market pulse; four questions an hour per address. WITH A PAID API KEY (Crypto API, API, API Live): he also reads the books that rung holds - the undelayed equity dealer map on SPY, QQQ and IWM and/or the crypto market map - 75 a day on Crypto API, 150 on API, 450 on API Live, 25 an hour. He tells you what he cannot see rather than guess it, and does not make directional calls or give trade advice. Keep questions substantive.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | A market question in plain English. |
cancel_alertCancel a standing alert (paid)DestructiveIdempotentInspect
CANCEL ONE STANDING WATCH by its id. Ids come from get_alerts. Cancelling something already gone is reported as such rather than invented. Paid.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The alert id, from get_alerts. |
create_alertArm a standing alert (paid)Inspect
ARM A STANDING WATCH on a level. kind is one of equity_level, equity_flow (every option sweep or block on SPY, QQQ, IWM or ANY over min_usd of premium -- floor $50,000 -- narrowed by print sweep/block and side call/put; recurring, each fire carries the prints as data), vix_level, crypto_level, crypto_block, prediction_prob (one prediction market's yes probability, in percent, above/below a level; pass market from get_prediction_markets), prediction_level (an event's implied median above/below a number in its own units; pass event) or prediction_whale (a fill over min_usd on one event or ANY on a desk; recurring). Equity and VIX kinds need the full API rung; the $79 Crypto API opens the crypto and prediction kinds and the refusal names which. Give ticker OR coin OR market/event, a level, and a direction (above/below). Evaluated on every publish -- roughly 60s -- and delivered to your registered webhook, signed HMAC-SHA256. Register that webhook over REST first; without one the alert still arms and fires nowhere. Capped per account. Paid.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Asset code, e.g. BTC. Use for the crypto kinds. | |
| desk | No | prediction_whale with ANY: trader or crypto. | |
| kind | Yes | equity_level, equity_flow, vix_level, crypto_level, crypto_block, prediction_prob, prediction_level or prediction_whale. | |
| note | No | Your own note, returned with the fire. | |
| side | No | equity_flow: call, put or any (default any). | |
| event | No | prediction_level / prediction_whale: the event id from get_prediction_markets (prediction_whale also accepts ANY). | |
| level | No | The price or level to watch. | |
| No | equity_flow: sweep, block or any (default any). | ||
| market | No | prediction_prob: the market id from get_prediction_markets. | |
| ticker | No | Equity ticker, e.g. SPY. Use for equity_level and equity_flow (equity_flow also accepts ANY). | |
| min_usd | No | crypto_block: the minimum block premium in USD. equity_flow: the minimum print premium in USD (default 500000, floor 50000). prediction_whale: the minimum fill in USD (floor 10000). | |
| direction | No | above or below. | |
| recurring | No | Re-arm after firing instead of one-shot. |
get_alertsYour standing alerts (paid)Read-onlyIdempotentInspect
WHAT THIS KEY IS WATCHING, and where a fire would go. Returns every standing alert on the account plus whether a delivery webhook is registered. An alert with no webhook is armed and has nowhere to arrive -- the payload says so rather than implying delivery. Paid.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_base_ratesConditional base rates (paid)Read-onlyIdempotentInspect
CONDITIONAL BASE RATES over NoVo's own logged dealer history - 'given this dealer state, here is what has actually happened next, and how many times we have seen it'. AGGREGATE HISTORY, NOT A FORECAST: every cell carries n, sessions and a precomputed usable flag, and a cell drawn from one afternoon reads authoritative while being noise - branch on usable before you quote a rate. The table is computed over the paid dealer map's own history, so it cannot be reconstructed from a third-party option chain. Response states age_seconds; the engine aggregates on its own schedule, so read the age rather than assuming a cadence. Requires an API key whose email holds a live NoVo MCP & API subscription (Authorization: Bearer novo_..., keys at /api/key, subscription at novo-options.trade/developers). A dashboard plan does NOT open this door.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_congress_tradesCongress disclosuresRead-onlyIdempotentInspect
US congressional stock disclosures: the House (the Clerk's Periodic Transaction Reports) and the Senate (its Electronic Financial Disclosure system), every row carrying its chamber. ⚠ THESE ARE DISCLOSURES, NOT TRADES IN REAL TIME: members have up to 45 days to file under the STOCK Act, and amounts are usually a RANGE rather than an exact figure - the response carries its own lag and disclaimer, and quoting a row without them overstates what it is. No signal is computed and no ranking by 'conviction' is invented; it serves what was filed. Filter with ticker, side (buy/sell) and limit. Also reports unreadable_filings, because a filing we could not parse is a gap we name rather than a row we drop silently.
| Name | Required | Description | Default |
|---|---|---|---|
| side | No | buy or sell | |
| limit | No | rows to return (default 100) | |
| stocks | No | '0' to include non-stock assets; omit for stocks only | |
| ticker | No | filter to one ticker, e.g. NVDA | |
| chamber | No | house or senate; omit for both |
get_crowd_sentimentBull/bear pollRead-onlyIdempotentInspect
The public bull/bear poll on novo-options.trade - today's tally, one vote per IP per UTC day. ⚠ THIS IS A READER POLL, NOT A MARKET MEASUREMENT: it counts opinions of people on one site, so it is a crowd reading and nothing more. It is not positioning, it is not flow, and it should never be quoted as either.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_crypto_breadthCrypto market breadth (paid)Read-onlyIdempotentInspect
THE CRYPTO BOOK AS ONE MARKET: how many coins are mapped, the MEDIAN round-trip cost across them, which coin is cheapest and which is priciest to trade, where the largest open interest sits, and the 24-hour liquidation table. Use this for 'what is crypto doing'; use get_crypto_screen for 'which coin'. ⚠ Cost figures are a venue's OWN DISCLOSED MARKUP, not our estimate. ⚠ Liquidations are FORCED FLOW, not positioning - reading them as positioning says traders chose those sides when they were closed out of them. A quiet collector answers 503, never a zeroed book. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_crypto_coinCrypto coin detailRead-onlyIdempotentInspect
One coin's FREE crypto read, the same data the free coin page serves: per-venue funding (rate + annualized, never blended), per-venue open interest and 24h volume, total OI, 24h long/short liquidations, and the free BTC/ETH gamma summary where the coin has one. The response's paid key names what the $79 Crypto Market Map withholds from this feed — gamma by strike, the flip and walls, the block tape, the on-chain map — so never report a gated field as zero or missing; it is withheld, not absent. A coin outside the mapped set answers 200 with covered:false and says what the paid map covers — a non-200 means the request itself failed, never a coverage verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Asset code, e.g. BTC, ETH, SOL, DOGE. |
get_crypto_depthCrypto paid layers (paid)Read-onlyIdempotentInspect
ONE PAID CRYPTO LAYER for one coin, with the shape named so you do not have to probe for it. layer=surface - the implied-volatility surface: {expiries:[{days, iv:[...]}], moneyness:[...]}. moneyness is a FRACTION of spot running about -0.20 to +0.20 and indexes into each expiry's iv array; iv values are percentage points; days can be fractional for same-week expiries. ⚠ A NULL CELL IS A GAP IN THE BOOK, NOT A ZERO - it means no contract is priced at that strike for that expiry, and averaging over it fabricates a quote. layer=etf_flows - the US-listed spot funds' book: {ticker, cumulative_usd, days:[{date, net_usd}]}, daily net creations and redemptions. This is the ISSUERS' book, a different book from the offshore options chain, and the two are never summed. layer=history - this coin's funding and open interest ranked against ITS OWN sample history, with the sample size n carried alongside every percentile. A percentile without its n is the number people quote when they mean 'high'. A coin that does not carry a layer answers 200 with available:false and a reason, never an empty object: empty would read as 'there were no flows today', which is a claim about the market rather than about our coverage. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | coin code, e.g. BTC | |
| layer | Yes | surface | etf_flows | history |
get_crypto_mapCrypto Market Map (paid)Read-onlyIdempotentInspect
THE PAID CRYPTO MARKET MAP - the full dealer read the Crypto Market Map holds: gamma by strike with the flip and walls on every coin with a real options book, per-venue funding and open interest across ~90 coins, 24h liquidations, the block tape, and the on-chain liquidity map. Requires an API key whose email holds a live NoVo MCP & API subscription: send it as Authorization: Bearer novo_... or the x-novo-api-key header. Keys are free at /api/key; the API subscription is the entitlement (novo-options.trade/developers). A dashboard plan does NOT open this door and an API plan is not a dashboard seat - they are separate products. Without both this answers with exactly what is missing - it never serves a sample or a teaser payload.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_crypto_screenCrypto cross-section screener (paid)Read-onlyIdempotentInspect
RANK THE WHOLE CRYPTO BOOK on one measure, in one call - ~90 coins measured the same way at the same instant. Axes: funding_spread (max minus min annualised funding ACROSS VENUES, the crowding read - a blended rate cannot produce this number), funding_max, open_interest, net_gex (band A only, coins with a real options book), liq_skew (24h liquidations, +1 all longs stopped out, -1 all shorts), true_cost (round-trip retail cost, cheapest first), change_24h. NOTHING IS ZERO-FILLED: a coin that cannot be measured on the chosen axis is excluded and counted, never ranked at 0, and every response states n plus an excluded breakdown. Percentiles are over the MEASURED set, which the payload names in percentile_population - do not restate them as universe percentiles. Requires an API key whose email holds a live NoVo MCP & API subscription (Authorization: Bearer novo_..., keys at /api/key, subscription at novo-options.trade/developers).
| Name | Required | Description | Default |
|---|---|---|---|
| by | No | funding_spread | funding_max | open_interest | net_gex | liq_skew | true_cost | change_24h | |
| band | No | optional filter: A = has a real options book, B = leverage positioning only | |
| limit | No | rows to return, 1-200 (default 25) |
get_crypto_sweepCrypto sweepRead-onlyIdempotentInspect
The free crypto sweep across the mapped coins: price, 24-hour change and a sparkline. The paid Crypto Market Map adds dealer gamma by strike, the block tape and the on-chain liquidity map; none of that is in this response. Per-venue funding, open interest and 24-hour liquidations are FREE per coin — see get_crypto_coin.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_daily_strikeThe Daily StrikeRead-onlyIdempotentInspect
The Daily Strike: NoVo's published market read. format=json returns the recent stories as data; format=index returns the COMPLETE archive of every published piece with its url, slug and publishedAt, uncapped - use index when you need the whole record rather than the latest few, because json, rss and the news feed are each capped at a different number. Pass a slug with format=json for one specific story. WITHOUT format this path serves a rendered HTML page, not data.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | one story's slug, with format=json | |
| format | Yes | json (recent stories) or index (the complete archive) |
get_dealer_levelsDealer levels (delayed)Read-onlyIdempotentInspect
Options dealer positioning for SPY, QQQ and IWM: spot, call wall, put wall and the gamma regime (long or short gamma). DELAYED, and the gamma flip and expected move are withheld from this free feed — the response lists them under gated, so do not report them as zero or missing data. The live, undelayed map is the paid NoVo Trader product. TWO SUB-RESOURCES, each returning a DIFFERENT shape: pass history with a ticker for that ticker's delayed level history as {points:[...]} — the same delay, so it exposes nothing the live call does not — or iv with a ticker for that ticker's IV rank and percentile against its own logged range as {ivRank, ivPct, days}. Pass neither for the normal three-ticker payload, and never both: history wins and iv is ignored.
| Name | Required | Description | Default |
|---|---|---|---|
| iv | No | Ticker (SPY, QQQ or IWM) — returns that ticker's IV rank and percentile instead of the normal payload. | |
| history | No | Ticker (SPY, QQQ or IWM) — returns that ticker's delayed level history instead of the normal payload. |
get_earnings_datesEarnings dates (Nasdaq)Read-onlyIdempotentInspect
The next earnings date for any symbol, from NASDAQ'S OWN PUBLISHED ANALYST CALENDAR. ⚠ THIS IS THIRD-PARTY PUBLIC DATA PASSED THROUGH, NOT A NOVO MEASUREMENT, and the response says so. An upstream failure answers 502 naming the upstream rather than 'no earnings date' - the latter would be reported as 'this company has no earnings scheduled', which is a claim about the company rather than about a fetch. Free, no key.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ticker, e.g. NVDA |
get_economic_calendarEconomic calendarRead-onlyIdempotentInspect
Scheduled US economic releases and the options expiries (monthly, quad witching, VIX) — the dates and times that reprice volatility.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_equity_mapEquity dealer map (paid)Read-onlyIdempotentInspect
THE PAID EQUITY DEALER MAP on SPY, QQQ and IWM - the same undelayed object the paid dashboard renders, on the publish cycle (~60s on weekdays 04:00-20:00 ET, slower otherwise), NOT the 15-30 minute delayed public feed get_dealer_levels serves. Carries spot against the gamma flip, the call and put walls, gravity, the expected move, the gamma/delta/vanna/charm strike ladder, the session read and the hourly structural audit, the SIGNED-FLOW read (signed_flow: the shares dealers have had to buy (+) or sell (-) to stay hedged this session as customers traded options, its 0DTE part, the last 15 minutes, the contracts driving it and the share of official option volume it could sign) - plus, per ticker, BASE RATES for the current setup (base_rate: next 15 min, next hour, into the close; base_rate_daily: next session - each with its n and a usable flag) and SESSION ANALOGUES (analogues_by: the closest logged past sessions by similarity, each with what followed at 15 min, 60 min and into the close). History, not a forecast. Every response states its own updated_at and age_seconds - branch on those rather than assuming a cadence. Requires an API key whose email holds a live NoVo MCP & API subscription (Authorization: Bearer novo_..., keys at /api/key, subscription at novo-options.trade/developers). The API Live rung adds the tape-speed WebSocket stream; the response names the upgrade path rather than hiding it. A dashboard plan does not open this door - they are separate products.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_eye_readingsThe Eye's live readings (paid)Read-onlyIdempotentInspect
THE EYE'S LIVE READINGS - what NoVo's structural scan is flagging right now, optionally scoped to one ticker. ⚠ ABSENT IS NOT EMPTY AND THE PAYLOAD DISTINGUISHES THEM: a missing publication means the Eye has not published in six hours (the TTL is a dead-engine detector), while an empty list means it looked and nothing cleared the bar. Reporting the first as the second renders a quiet market over a dead publisher. Pass crypto=1 for the Daily Crypto Rundown, which rides this same door. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| crypto | No | pass 1 for the Daily Crypto Rundown instead | |
| ticker | No | optional: SPY, QQQ or IWM |
get_futures_positioningCFTC futures positioningRead-onlyIdempotentInspect
Weekly CFTC Commitments of Traders positioning: speculative and commercial net positions and open interest, with history, for the major index futures. Weekly and lagged by the CFTC's own publication schedule — the asof date is the authority, not today.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_gamma_profileIntraday gamma profile (paid)Read-onlyIdempotentInspect
HOW DEALER GAMMA BUILT TODAY on SPY, QQQ or IWM - the same strike ladder sampled through the session rather than a single snapshot. Returns movers (open-to-close change per strike, biggest absolute shift first - the answer to 'where did gamma build or drain today'), series (the session downsampled to about a dozen columns, each carrying its three heaviest strikes, stamped in Eastern time), plus the span and column count. Without lookback_minutes the window is the WHOLE Eastern trading day, which is deliberate: a rolling two-hour default asked after the close used to drop the morning entirely. Before a session's first pass it answers 200 with banked:false and says so - that is 'nothing banked yet', NOT 'gamma was flat'. ⚠ Gamma describes the SIZE of moves and the LOCATION of levels, never direction. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | SPY, QQQ or IWM | |
| lookback_minutes | No | narrow the window, 15-480 (default: the whole session) |
get_implied_openImplied open from the index perps (paid)Read-onlyIdempotentInspect
WHERE THE INDEXES STAND WHILE THE STOCK MARKET IS SHUT: how far the S&P 500 perp (for SPY) and the Nasdaq 100 perp (for QQQ) have moved since the last regular cash close, measured against each perp's OWN price at the bell, with funding and open interest beside it. megacaps is the same measure for NVDA, AAPL, MSFT, AMZN, GOOGL, META and TSLA, largest move first: it says WHICH names are carrying the index, unweighted. Use for 'where is SPY opening Monday', 'what moved over the weekend'. ⚠ It is a market price on another venue, never a forecast of the open. ⚠ IWM has no perp: say so, never borrow the S&P. ⚠ If a perp had no print at the bell there is no figure for it - anchor_missing says so. While session.cash_open is true the cash market is trading and this is a move since the prior close. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_market_pulseNoVo Market PulseRead-onlyIdempotentInspect
The NoVo Market Pulse: a 0-100 composite fear/greed score with the factors behind it (volatility, put/call, breadth, momentum) and each factor's weight, so the score can be explained rather than just quoted.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_moversToday's moversRead-onlyIdempotentInspect
Today's biggest movers across a curated universe of recognisable, high-volume names, ranked by absolute percent change. Deliberately NOT a search-spike list: ranking by what people are looking up surfaces obscure tickers and reads as market activity, which is why this ranks on the move itself. Public data, cached about five minutes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_perp_historyOne perp, hour by hour (paid)Read-onlyIdempotentInspect
ONE PERP, HOUR BY HOUR: open interest in dollars, funding as a yearly rate and premium to the oracle for a single stock, index or commodity perp, one point per hour, from NoVo's OWN record. The venue serves no open-interest history, so this series exists nowhere else. Pass market (dex:SYMBOL, as get_perps returns it) or symbol (the deepest book under that ticker is used and named in the answer). Call it with no arguments to list every market that has a record. Use for 'has open interest on the S&P perp grown this weekend', 'when did funding on TSLA flip'. ⚠ The record began 2026-10-04 and covers the largest markets by open interest: span_hours is how much there is, and a market outside the record answers found:false, not an empty series. ⚠ A missing hour is a pass the collector did not complete, never a zero. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Only the most recent N hours. Default: the whole record. | |
| market | No | dex:SYMBOL, for example xyz:NVDA. | |
| symbol | No | A ticker; the deepest book under it is used. |
get_perpsStock and index perps: the full board (paid)Read-onlyIdempotentInspect
THE FULL PERP BOARD: every stock, index, commodity and FX perp on Hyperliquid's builder dexes, open all week including weekends. Per market: mark, oracle, premium to the oracle, 24h change, funding now (hourly and as a yearly rate - positive means longs pay shorts), average funding and open-interest change from NoVo's OWN hourly record, open interest, 24h volume and maximum leverage. RANK IT with sort: open_interest (default), volume, funding_high, funding_low, premium, change, oi_change. Filter with symbol (SPY is answered by the S&P 500 perp, QQQ by the Nasdaq 100 perp) or dex. Use for 'which stock perp has the most negative funding', 'where is open interest building', 'what is the NVDA perp trading at on Sunday'. ⚠ A perp is dex:SYMBOL - one ticker can list on several dexes with SEPARATE books; never add them together. ⚠ history.span_hours says how long NoVo's record is (it began 2026-10-04): never call a short record a 7-day figure. ⚠ IWM and the Russell 2000 have NO perp. Positioning and price on one venue, never a direction call. A venue outage answers 503, never an empty board. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Optional builder dex name, to read one book only. | |
| sort | No | How to rank the board. Default open_interest. | |
| limit | No | How many markets to return, ranked. Default 50, maximum 400. | |
| symbol | No | Optional ticker (NVDA, TSLA, GOLD, SP500, XYZ100; SPY and QQQ map to their index perp). |
get_prediction_marketsPrediction markets: Kalshi and Polymarket, both desks (paid)Read-onlyIdempotentInspect
PREDICTION MARKETS, both venues as one: Kalshi (the exchange Robinhood routes most of its event contracts to) and Polymarket. desk trader: the S&P 500 and Nasdaq-100 by the hour and at the close, the Fed funds ladder for the next meetings, rate cuts, CPI, payrolls, GDP, recession, yields, gold, oil, and Polymarket's macro and stocks events by volume. desk crypto: BTC, ETH, SOL, XRP, DOGE and HYPE ranges by the hour and the day, the year's high and low, and Polymarket's crypto events. Every market carries its yes price as the implied probability with bid, ask and spread; price ladders carry implied - the market-implied median, 25th/75th and 10th/90th percentiles and the half-band in percent, the number to hold against the dealer expected move. view: movers, unusual (turnover far above open interest or liquidity), closing (inside 24h), whales (large fills: Polymarket with the wallet, its name and its open position and P&L; Kalshi by size, it publishes no identity), history (24h of implied medians and leaders, 5-minute steps). event for one event in full; query searches both venues live. ⚠ A yes price is a probability only while someone is quoting (priced, tight). ⚠ stale true means the watch has not refreshed in five minutes. Read from the venues' public market data, never from inside the Robinhood app. Nothing here is a recommendation. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| desk | No | trader (default) or crypto. | |
| view | No | Optional: movers, unusual, closing, whales or history. | |
| event | No | Optional: one event's id. | |
| limit | No | Markets per event in the desk view. Default 8, max 60. | |
| query | No | Optional: search both venues live. |
get_quotesDelayed quotesRead-onlyIdempotentInspect
Delayed index and ETF quotes for the free ticker strip.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_retail_chatterStockTwits retail chatterRead-onlyIdempotentInspect
What retail is SAYING about one symbol on StockTwits - the bullish/bearish tags users put on their OWN posts, counted. Pass symbol=NVDA; crypto is accepted bare (BTC) and mapped to the coin stream. ⚠ THE DENOMINATOR IS THE STORY: only a fraction of posts carry a tag and that fraction varies several-fold by symbol, so self_tagged ships beside every count and BELOW EIGHT TAGGED POSTS NO PERCENTAGE IS RETURNED AT ALL - ratio_withheld_reason says why. A crowd reading of one venue: never positioning, never flow, never a direction.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | The symbol to read, e.g. NVDA. Crypto is accepted bare (BTC) and mapped to the coin stream. |
get_robinhood_trendingRobinhood Chain trending and new launches (paid)Read-onlyIdempotentInspect
WHAT ROBINHOOD USERS ARE BEING SHOWN: the Robinhood Chain trending list (the one on the Robinhood Wallet's home screen), read every minute - rank, market cap, 24h change, volume, pool depth and pool age, keyed by token CONTRACT because one ticker routinely covers several different tokens. new_on_trending is every coin whose contract appeared on that list for the first time, with when. launches is Robinhood Chain tokens under 7 days old holding $100K or more in the pool. listings is what Robinhood itself added. ⚠ Read from the public Robinhood Chain trending feed, which matched the Wallet's own list when checked 2026-10-04 - it is NOT read from inside the Wallet app, so say 'trending on Robinhood Chain'. ⚠ These are thin, new tokens: pool depth is how much can actually be sold, most launches never reach the list, and nothing here is a recommendation. A stopped watch answers 503, never an empty list. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_sector_heatmapSector heatmapRead-onlyIdempotentInspect
Today's move by sector, the data behind the free sector heatmap.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_session_historyLogged session history (paid)Read-onlyIdempotentInspect
WHAT THIS TICKER'S SESSIONS HAVE ACTUALLY LOOKED LIKE across every session NoVo has logged - counts and medians by section, scoped to SPY, QQQ or IWM, with the market-wide sections (coverage, the whole listed options market) carried alongside because they are equally true of every ticker. ⚠ IT DESCRIBES, IT DOES NOT PREDICT: a median over logged sessions is what happened, not what happens next, and the response carries not_a_forecast saying so. With no sessions logged for a ticker it answers 200 with logged:false - a statement about OUR RECORD, not about that ticker's sessions. Computed over our own logged history, so it cannot be rebuilt from a third-party feed. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | SPY, QQQ or IWM |
get_short_volumeFINRA short volumeRead-onlyIdempotentInspect
FINRA off-exchange short volume for ONE ticker, ranked against that ticker's own recent history — pass ticker for any name we carry, or omit it for the whole published set alongside index-mover earnings, the VIX term structure and options volume. A ticker we do not carry is REFUSED BY NAME with the covered list, never answered with another instrument's number. ⚠ READ SHORT VOLUME AS ONE-SIDEDNESS, NOT AS A BEARISH VOTE: most off-exchange short prints are market makers hedging, so a high reading says the tape was one-sided, not that anyone is positioned for a fall. The rank is a percentile over that ticker's last 120 sessions; under 20 samples it reports rank: null rather than a number computed off five points. Free, and updated through the session.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | One ticker, e.g. NVDA, AAPL, SPY. Omit for the whole set. A name we do not carry is refused by name, with the covered list in the response. |
get_stocks_onchainStocks on-chain: perps and stock tokens (paid)Read-onlyIdempotentInspect
STOCKS THAT TRADE ON-CHAIN, in two forms. PERPS: every stock, index, commodity and FX perp on Hyperliquid's builder dexes, live and open all week including weekends - mark, 24h change, funding as a yearly rate (positive means longs pay shorts), open interest, volume and premium to the oracle, plus open-interest change and average funding from NoVo's OWN hourly record. ⚠ That record began 2026-10-04 and history.span_hours says how long it is - never call a short record a 7-day figure. implied_open is each index perp's move since the last cash close: the S&P 500 perp for SPY, the Nasdaq 100 perp for QQQ. ⚠ There is NO liquid small-cap perp, so IWM has none - say so, never borrow the S&P. STOCK TOKENS: Robinhood's tokenized stocks on Robinhood Chain - shares that exist on-chain, tokenized value, mint and redeem flow with the window it was measured over, and the on-chain pool price against the quote. ⚠ price_basis other than 'quote' means the token's price is approximate: outside market hours Robinhood's quote goes wide and its midpoint is not a price. Pass symbol for one name (SPY and QQQ are answered by their index perp and their token); omit it for the largest of each. Measurements of size and positioning, never a direction call. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Optional ticker: a stock (NVDA, TSLA), SPY or QQQ, or a perp symbol (SP500, XYZ100, GOLD). |
get_stock_tokensRobinhood stock tokens: supply and flow (paid)Read-onlyIdempotentInspect
EVERY ROBINHOOD STOCK TOKEN on Robinhood Chain: shares that exist on-chain (the contract's own supply), tokenized value, mint and redeem flow over a day and over a week with the window each was measured over, Robinhood's own mint/burn figure for today, the quote with its spread, a halt flag, and the on-chain pool price against the quote where a pool exists. RANK IT with sort: tokenized (default), flow, flow_week, mint_burn, onchain_premium, spread. Pass symbol for one token and its day-by-day supply record. Use for 'which stock tokens are being minted', 'how much SPY is tokenized', 'which token trades away from its quote'. ⚠ price_basis other than 'quote' means the price is approximate: outside market hours Robinhood's quote goes wide and its midpoint is not a price. ⚠ Positive flow is minting, negative is redeeming; it is supply change, not buying or selling pressure. ⚠ IWM has no stock token. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | How to rank the list. Default tokenized. | |
| limit | No | How many tokens to return, ranked. Default 50, maximum 400. | |
| symbol | No | Optional ticker of one stock token (NVDA, SPY). |
get_ticker_briefSingle-name brief (four free reads, one call)Read-onlyIdempotentInspect
EVERYTHING THE FREE SURFACE CARRIES FOR ONE SINGLE NAME, IN ONE CALL - pass symbol=NVDA. Four sections: FINRA off-exchange short volume (if the name is in the covered universe, ranked against its own history), the next earnings date (Nasdaq's calendar passed through), US House and Senate disclosures for the name (with the filing lag), and StockTwits self-tagged chatter. ⚠ THIS IS NOT THE DEALER MAP: the map covers SPY, QQQ and IWM only, and dealer_map.covered is false for every other name - there is no gamma flip, no walls and no net GEX for it on any NoVo surface, free or paid. Say so rather than substituting an index. Each section keeps its own as_of and as_of_kind; the top-level stamp is the OLDEST and WEAKEST of them. A section that cannot answer is carried: false with a reason - 'no filings for this name' and 'the feed did not answer' are different facts and the payload keeps them apart. Not positioning, not flow, not advice.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | The ticker to brief, e.g. NVDA. Any single name; for SPY, QQQ or IWM the answer points at the dealer map beside it. |
get_volatility_recordVolatility record since 1990Read-onlyIdempotentInspect
VIX, VXN and RVX ranked against their OWN history back to 1990 — last value, percentile against the whole series and against the last two years, min/median/max, plus term structure, VVIX and SKEW. Use this to answer 'is volatility actually high' with a percentile and the window it is measured over instead of an impression.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_wire_newsMarket news wireRead-onlyIdempotentInspect
The market news wire NoVo polls, newest first: headline, publisher, timestamp and the tickers each story is tagged to. It reports symbols_polled and more_in_window so an agent can tell a quiet tape from a truncated read - a short list here is not automatically a quiet market.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | stories to return |
read_crypto_regimeCrypto regime read (paid)Read-onlyIdempotentInspect
ONE COIN'S DEALER MAP AS A READ, not a payload: where spot sits against the flip and both walls as percentages, what the gamma sign implies for VOLATILITY, how crowded funding is across venues, which way liquidations ran, and one plain-English sentence assembling all of it. ⚠ MAGNITUDE, NEVER DIRECTION: dealer gamma describes the SIZE of moves and the LOCATION of levels - positive gamma means ranges hold and breaks fail more often, NOT 'bullish'. The response carries not_a_signal saying exactly that, and an unavailable list naming what could not be read rather than returning zeros for it. Requires a live NoVo MCP & API subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | coin code, e.g. BTC |
search_journalSearch the JournalRead-onlyIdempotentInspect
SEARCH EVERYTHING NOVO HAS PUBLISHED - every word of 1,600+ Journal articles on market mechanics, the Daily Strike, the desk-note archive and every page on the site, in one call. Use it to ground an answer in our own writing: 'why does price pin at a strike', 'what is the gamma flip', 'how does funding work'. Returns url, title, description and a snippet showing where the words appear, ranked (pages whose title carries the words first), with the FULL match count beside the page so a narrow query is distinguishable from a truncated one; offset pages through the rest. all_words of the total carry every word; when few pages do, pages carrying at least half of them follow with match 'partial' -- report all_words, not total, as the number of pages that match. A misspelt word is corrected to the nearest word the site uses and corrected says so. ⚠ It matches WORDS, NOT MEANING: if a query returns nothing, retry with the terms an article would actually use rather than concluding the topic is uncovered. Free, no key.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | search terms, 2+ characters | |
| limit | No | results to return, 1-50 (default 10) | |
| offset | No | results to skip, to page past the first `limit` (default 0) |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
40 tool updates
- First observed
ask_novo - First observed
cancel_alert - First observed
create_alert - First observed
get_alerts - First observed
get_base_rates - First observed
get_congress_trades - First observed
get_crowd_sentiment - First observed
get_crypto_breadth - First observed
get_crypto_coin - First observed
get_crypto_depth - First observed
get_crypto_map - First observed
get_crypto_screen - First observed
get_crypto_sweep - First observed
get_daily_strike - First observed
get_dealer_levels - First observed
get_earnings_dates - First observed
get_economic_calendar - First observed
get_equity_map - First observed
get_eye_readings - First observed
get_futures_positioning - First observed
get_gamma_profile - First observed
get_implied_open - First observed
get_market_pulse - First observed
get_movers - First observed
get_perp_history - First observed
get_perps - First observed
get_prediction_markets - First observed
get_quotes - First observed
get_retail_chatter - First observed
get_robinhood_trending - First observed
get_sector_heatmap - First observed
get_session_history - First observed
get_short_volume - First observed
get_stock_tokens - First observed
get_stocks_onchain - First observed
get_ticker_brief - First observed
get_volatility_record - First observed
get_wire_news - First observed
read_crypto_regime - First observed
search_journal
Related MCP Connectors
Free dealer-gamma call walls, put walls and gamma flip for ES, NQ, SPX and QQQ, graded daily.
Gamma rails, options flow tape, and graded 0DTE setups for SPY/QQQ/IWM. Advisory only.
Real-time & historical options analytics: GEX, dealer positioning, vol, VRP, 0DTE, CME futures
SPX 0DTE dealer market structure: GEX, walls, gamma flip, regime, flow. Free preview; pay per read.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides a consolidated 0DTE options cockpit for SPX/SPXW, including chain, Greeks, dealer exposure, volatility term structure, and economic events, using free delayed market data.2MIT
- FlicenseNot gradedqualityDmaintenanceHere is a brief description of what our MCP server does: Description Project Tollbooth is a real-time market microstructure and options analytics gateway. It exposes quantitative Gamma Verdicts (hedging effects, dealer exposure aggregates, and volatility regimes) and 0DTE Verdicts (real-time pinning magnets, pin scores, and target probabilities) for major instruments (\*\*SPX,-
- AlicenseNot gradedqualityCmaintenanceDeterministic market-state engine for trading agents — zero LLM in the signal path. 8 tools: structural market state & phase, action gate (GO/WATCH/HOLD), entry/target/invalidation coordinates, bar-by-bar state timeline, composed view cards, and pre-trade intent validation. Every output traces to a bar-stamped ledger with a public daily self-scoring track record.3MIT
- AlicenseAqualityDmaintenanceEnables AI agents to discover and retrieve options market-structure data (GEX, gamma flip levels, dealer positioning, skew, max pain, expected-move levels, options flow, and ranked trade setups) from Trading Volatility's public API via natural language.171MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.