Unusual options activity API MCP is the phrase you reach for when you want an AI assistant and your Excel sheet to flag the same out-of-the-ordinary option flow at the same moment. If you have ever asked a model "what unusual options activity printed today" and then could not reconcile its answer with your own spreadsheet, the problem is usually two different data paths. An MCP (Model Context Protocol) connector fixes that by exposing one set of licensed scan primitives to your AI, and refreshing the same numbers in your workbook, so the chat reply and the cells agree.
This guide explains what an unusual options activity API over MCP actually returns, how "unusual" is defined relative to a name's own baseline, which MarketXLS formulas power the scans, and how to put it to work with a free Excel template you can download below. Every formula shown here was verified against the MarketXLS function library before publishing. We also walked through this workflow on a recent MarketXLS live session, if you prefer to watch the build before you read it.
Unusual options activity API MCP at a glance
| Capability | Manual scanner / delayed feed | Unusual options activity API via MCP (MarketXLS) |
|---|---|---|
| Unusual scan | Copy-paste from a website | OPT_UNUSUALSTOCKOPTIONSACTIVITY spills a ranked list |
| Relative volume | Hand-built from two pulls | OPT_TOTALVOLUMEOPTIONS / OPT_VOLUMEOPTIONSAVERAGE |
| Volume / open interest | Often missing | OPT_VOLUME / OPT_OPENINTEREST per contract |
| Put-call positioning | Static daily figure | OPT_PUTCALLVOLRATIO live |
| AI / MCP access | Rare | Same primitives the AI assistant calls |
| Source of truth | Different per tool | One licensed feed for chat and Excel |
The table above is the whole pitch in one screen. The rest of this article unpacks each row, shows the exact formulas, and hands you a template that already wires them together.
What "unusual" actually means
Unusual options activity is not a single big number. A million contracts trading in SPY is a quiet Tuesday; a few thousand contracts in a small name can be the most unusual print of the week. "Unusual" only has meaning relative to a baseline, and there are two baselines worth measuring.
The first is relative volume: today's total options volume divided by the name's own trailing 30-day average. A relative volume of 2.0 means twice the normal flow. This normalizes across SPY and a sleepy mid-cap so a watchlist ranks fairly.
The second is volume to open interest (vol/OI): today's contract volume divided by the open interest that was already on the books at the prior close. When vol/OI climbs above 1.0, more contracts changed hands today than existed yesterday, which is the classic tell of fresh positioning rather than traders shuffling existing positions.
Neither number tells you direction or intent on its own. A large print can be a hedge, a roll, one leg of a spread, or an outright directional bet. The honest framing is that unusual activity describes what traded, not why. This template is built to surface the "what" cleanly and let you do the interpretation, with context, never as a recommendation.
The MCP angle: one scan, two surfaces
MCP is an open standard that lets an AI assistant call external tools and data sources in a structured way. The MarketXLS MCP server exposes market-data primitives, including the unusual options activity scans, to assistants like Claude and OpenAI models. The point that matters for flow work is consistency: when your AI answers a question about unusual activity, it calls the same licensed function that fills the cells in the workbook below.
That single-source design removes a frustrating class of bugs. You are no longer comparing a model's answer drawn from one vendor against a spreadsheet drawn from another, then trying to explain a discrepancy that is really just two feeds disagreeing. One feed, one calculation, two surfaces.
Building the scan in MarketXLS
Here are the real, verified formulas that power an unusual options activity workflow. Each one was confirmed against the MarketXLS function library before this post went out.
Ranked unusual scans
The headline functions return a ranked, spilling list of the most unusual prints, the same output an AI assistant receives over MCP:
=OPT_UNUSUALSTOCKOPTIONSACTIVITY(25)
=OPT_UNUSUALOPTIONVOLSCANEOD(25,"Call")
=OPT_UNUSUALOPTIONVOLOISCANEOD(25,"Put")
=OPT_UNUSUALOPTIONOISCANEOD(25,"Call")
OPT_UNUSUALSTOCKOPTIONSACTIVITY is the broad daily scan. The three ...SCANEOD variants let you rank specifically by raw volume, by volume relative to open interest, or by open interest changes, and filter to calls or puts. Drop one of these into a cell and the list spills down the column automatically.
Relative volume from the baseline
To measure relative volume yourself, pair today's total against the 30-day average:
=OPT_TOTALVOLUMEOPTIONS("NVDA")
=OPT_VOLUMEOPTIONSAVERAGE("NVDA",30)
=OPT_TOTALVOLUMEOPTIONS("NVDA")/OPT_VOLUMEOPTIONSAVERAGE("NVDA",30)
The third formula is the relative-volume multiple that anchors the whole dashboard.
Volume to open interest
For the new-positioning read, compare volume to open interest, either at the name level or per contract:
=OPT_TOTALVOLUMEOPTIONS("NVDA")/OPT_TOTALOPENINTERESTOPTIONS("NVDA")
=OPT_VOLUME(OptionSymbol("NVDA",DATE(2026,7,17),"Call",160))
=OPT_OPENINTEREST(OptionSymbol("NVDA",DATE(2026,7,17),"Call",160))
OptionSymbol assembles the contract symbol from ticker, expiry, type, and strike, then OPT_VOLUME and OPT_OPENINTEREST return the two numbers whose ratio you care about.
Directional and volatility context
Two more readings round out the picture. The put-call volume ratio captures directional lean, and IV rank tells you whether implied volatility is rich or cheap versus its own past year:
=OPT_PUTCALLVOLRATIO("NVDA")
=ImpliedVolatility30d("NVDA")
=ImpliedVolatilityRank1y("NVDA")
A put-call ratio well below 1.0 leans bullish, above 1.0 leans bearish, and IV rank near 100 means volatility is expensive relative to the last year.
Greeks on the contracts that move
Once a contract earns attention, the opt_ family returns implied volatility and Greeks from the live option price:
=opt_ImpliedVolatility(QM_Last("NVDA"),QM_Last(OptionSymbol("NVDA",DATE(2026,7,17),"Call",160)),DATE(2026,7,17),"Call",160)
=opt_Delta(QM_Last("NVDA"),QM_Last(OptionSymbol("NVDA",DATE(2026,7,17),"Call",160)),DATE(2026,7,17),"Call",160)
These let you see how much directional exposure a flagged contract actually carries before you read too much into a headline volume number.
A scoring model to rank the watchlist
Raw numbers are useful, but a desk usually wants a single sortable score. The template blends four inputs into a 0-100 unusual-activity score so you can sort a watchlist top to bottom:
| Component | Weight | Caps at | What it captures |
|---|---|---|---|
| Relative volume | 40 | 3x average | How far today's flow sits above the name's own baseline |
| Volume / open interest | 35 | 1.5 | Whether today's contracts are new positioning |
| IV rank | 15 | 100 | How rich implied volatility is versus its past year |
| Directional skew | 10 | abs(P/C - 1) = 0.6 | Conviction in one direction from a lopsided put-call ratio |
In Excel the score is a single formula referencing the cells above:
=ROUND(MIN(RelVol/3,1)*40 + MIN(VolOI/1.5,1)*35 + (IVRank/100)*15 + MIN(ABS(PCVol-1)/0.6,1)*10, 1)
The score is a ranking aid, nothing more. Two names with the same score can have completely different stories behind the flow, which is exactly why the workbook keeps every input visible next to the score rather than hiding the math.
How to read the patterns
The template includes an interpretation matrix so a number turns into context. A few of the common combinations:
| Pattern | Relative volume | Vol / OI | Plain-English read |
|---|---|---|---|
| New positioning | High (> 2x) | High (> 1.0) | Fresh money opening contracts; the most watched pattern |
| Closing / roll | High (> 2x) | Low (< 0.5) | Heavy volume on existing open interest; often profit-taking |
| Quiet accumulation | Moderate (1.2-2x) | Moderate | Steady building over days rather than one large print |
| Hedging flow | High, put-heavy | High on puts | Protective demand; puts in volume and open interest together |
| Normal day | Near 1x | Low | Flow in line with the name's own baseline; nothing notable |
Read these as educational context, not as buy or sell signals. The same vol/OI reading can mean very different things depending on whether open interest is rising or falling, and on whether the print was a call or a put.
The template
The download includes two Excel files, both with eight sheets and a "MarketXLS Functions Used" box on every working sheet so you always know which formula sits behind a number.
Cover and How To Use orient you and explain the input legend. Inputs holds the only cells you edit: a yellow block for your minimum relative-volume multiple, minimum vol/OI, minimum IV rank, focus ticker, and expiry, plus an editable watchlist that drives every other sheet.
Unusual Activity Scanner is the main dashboard. KPI tiles report how many names clear your relative-volume threshold, the median relative volume, the median vol/OI, aggregate options volume, the median put-call ratio, and the spot VIX. Below the tiles, a screener lists every underlying with today's options volume, its 30-day average, relative volume, vol/OI, put-call ratio, IV30, IV rank, the unusual-activity score, a directional lean, and a flag, with color scales that light up names trading above their baseline.
Unusual Contracts drops to the single-contract level, ranking individual options by vol/OI and by the dollar premium that traded (volume x last x 100). Each row carries volume, open interest, vol/OI, last price, implied volatility, delta, premium, and the side that printed.
Signal Scenarios holds the interpretation matrix above plus a fully worked example that walks one print from raw volume to a premium estimate, so you can reproduce the math on any contract. Scoring & Comparison documents the exact weights behind the score and plots IV rank against the put-call ratio so crowding and directional lean are visible at a glance. Methodology & MCP Glossary lays out the data sources, the MCP mapping, the assumptions, and the disclaimer.
In the sample file every value is a static snapshot from the data date, with the live MarketXLS formula recorded in a cell comment so you can see exactly what powers it. In the template file every data cell is a live MarketXLS formula that refreshes when you open it with the add-in.
Download the templates:
- - Pre-filled with a recent snapshot
- - Live-updating formulas
Putting it together with your AI assistant
The reason to route this through MCP rather than a one-off manual copy or a screenshot is reproducibility. Connect the MarketXLS MCP server to your assistant and you can ask, in plain language, for today's unusual options activity, the names with the highest vol/OI, or the put-call ratio on a single ticker, and the model answers from the same licensed functions that fill this workbook. You can read more about the connector on the MarketXLS features page and in the MarketXLS documentation.
The practical workflow is to let the AI do the first pass of triage, naming the handful of underlyings with the most anomalous flow, then open the template to inspect the contract-level prints and Greeks for yourself. Chat for speed, spreadsheet for depth, one source of truth underneath both.
Common mistakes when reading options flow
Even with clean data, flow is easy to misread. A few traps worth naming before you lean on any scan.
Treating raw volume as the signal. A headline like "two million contracts traded" sounds dramatic until you compare it to the name's average. Without relative volume and vol/OI, large absolute numbers in liquid names crowd out the genuinely unusual prints in quieter ones. The score in this template caps relative volume at 3x precisely so one enormous index day does not swamp the ranking.
Forgetting that open interest is a prior-close figure. Open interest publishes after the session, so an intraday vol/OI reading divides today's live volume by yesterday's open interest. That is still useful, but it means an early-session vol/OI can look extreme simply because the day is young. Reading end-of-day scans alongside the intraday view keeps that in perspective.
Assuming a call print is bullish. A large call buy can be an overwriter selling premium, a dealer hedging, or one leg of a spread. The Lean column in the workbook records the side that printed, not the trader's intent. The same caution applies to puts, which are as often protection as they are bearish bets.
Ignoring the premium that actually traded. Two contracts can share an identical vol/OI while one moved a few thousand dollars and the other moved several million. The premium column (volume times last times the 100-share multiplier) separates a token print from a conviction-sized one, and it belongs next to vol/OI in any honest read.
Keeping these in mind turns a raw scan into something you can reason about rather than react to. The workbook is laid out to keep every input visible for exactly that reason.
Frequently asked questions
What is an unusual options activity API MCP? It is a connector that exposes licensed unusual options activity scans to an AI assistant over the Model Context Protocol, while the same primitives also refresh an Excel workbook. The chat answer and the spreadsheet draw on one data source, calculated one way.
How is unusual options activity defined? Relative to a name's own baseline, not an absolute volume. The two core measures are relative volume (today's options volume divided by its 30-day average) and volume to open interest (today's volume divided by existing open interest). Elevated readings flag heavier-than-normal or new positioning.
Which MarketXLS functions return unusual options activity?
OPT_UNUSUALSTOCKOPTIONSACTIVITY returns a broad ranked list, and OPT_UNUSUALOPTIONVOLSCANEOD, OPT_UNUSUALOPTIONVOLOISCANEOD, and OPT_UNUSUALOPTIONOISCANEOD rank by volume, vol/OI, and open interest changes. OPT_TOTALVOLUMEOPTIONS, OPT_VOLUMEOPTIONSAVERAGE, OPT_VOLUME, and OPT_OPENINTEREST supply the underlying inputs.
Does unusual activity tell me which way a stock will move? No. It describes what traded, not why or what happens next. A single large print can be a hedge, a roll, a spread leg, or a directional bet, and the data cannot distinguish intent. Treat every reading as context, never as a forecast or advice.
Why does vol/OI matter more than raw volume? Raw volume is large in already-active names. Volume relative to open interest tells you whether today's trading is opening new positions or just churning existing ones, which is usually the more informative signal.
Can I change the watchlist and thresholds? Yes. The Inputs sheet holds an editable watchlist and yellow threshold cells for relative volume, vol/OI, and IV rank. Every score, flag, and ranking re-sorts when you change them.
The bottom line
Unusual options activity API MCP is less about any single exotic number and more about consistency: ranking flow against each name's own baseline, measuring whether volume is opening new positions, and getting the same answer whether you ask your AI assistant or open your spreadsheet. The template gives you a ranked scanner, a contract-level flow board, a scoring model with the math left visible, and an interpretation guide, all powered by verified MarketXLS formulas.
Download the files above, plug in your own watchlist and thresholds, and connect the MarketXLS MCP server to your AI assistant so both surfaces read from one licensed feed. To see the connector and the full options toolkit in action, explore MarketXLS or book a demo. For pricing details, see the MarketXLS pricing page.
Educational use only. Not investment advice. Options trading involves substantial risk of loss. MarketXLS is a data and analytics tool, not a broker-dealer or investment adviser.