canli-mcp / Options chains
Is there an MCP server for options chains?
Yes. canli-mcp's options_chain tool returns calls and puts for a US stock or ETF with bid, ask, volume, open interest and implied volatility, for any listed expiration, with no API key. volatility_surface puts the whole chain on one surface.
Free and MIT-licensed. No account and no API key. Or run claude mcp add canli -- npx -y canli-mcp in Claude Code.
Ask it
Show me SPY's nearest option chain around the money.
The agent finds the tool through canli-mcp's find_tool and runs it through run_tool. This is the call:
{
"name": "options_chain",
"arguments": {
"symbol": "SPY",
"window": 0.03,
"type": "both"
}
}What came back
Recorded from canli-mcp 0.11.1 on 2026-10-25, with no API key set. The model read 9,500 characters.
| strike | type | bid | ask | mid | last | iv | delta |
|---|---|---|---|---|---|---|---|
| 738 | call | 21.73 | 23.09 | 22.41 | 22.08 | 0.9776 | |
| 738 | put | 0.09 | 0.1 | 0.095 | 0.1 | 0.1668 | -0.0224 |
| 739 | call | 20.76 | 21.98 | 21.37 | 21.92 | 0.9754 | |
| 739 | put | 0.1 | 0.11 | 0.105 | 0.11 | 0.1628 | -0.0248 |
| 740 | call | 20.27 | 20.88 | 20.575 | 20.34 | 0.9726 | |
| 740 | put | 0.1 | 0.12 | 0.11 | 0.12 | 0.159 | -0.0273 |
| 741 | call | 18.8 | 20.11 | 19.455 | 19.42 | 0.9694 | |
| 741 | put | 0.12 | 0.13 | 0.125 | 0.14 | 0.1546 | -0.0306 |
The result options_chain sent back, in full form
{
"ref": "r5",
"underlying": {
"symbol": "SPY",
"price": 759.97,
"change_pct": -0.00525,
"iv30": 0.14862,
"as_of": "2026-10-25 03:25:43"
},
"expiration": "2026-10-26",
"days_to_expiration": 1,
"summary": {
"put_call_volume_ratio": 1.2095,
"put_call_open_interest_ratio": 2.9077,
"max_pain": 766,
"atm_strike": 760,
"atm_iv": 0.1097,
"expected_move": {
"dollars": 6.07,
"fraction_of_price": 0.008,
"from": "at-the-money straddle mid"
}
},
"columns": [
"strike",
"type",
"bid",
"ask",
"mid",
"last",
"…"
],
"rows": [
[
738,
"call",
21.73,
23.09,
22.41,
22.08,
"…"
],
[
738,
"put",
0.09,
0.1,
0.095,
0.1,
"…"
],
[
739,
"call",
20.76,
21.98,
21.37,
21.92,
"…"
],
[
739,
"put",
0.1,
0.11,
0.105,
0.11,
"…"
],
[
740,
"call",
20.27,
20.88,
20.575,
20.34,
"…"
],
[
740,
"put",
0.1,
0.12,
0.11,
0.12,
"…"
],
"…"
],
"expirations": {
"columns": [
"expiration",
"days",
"contracts",
"call_open_interest",
"put_open_interest"
],
"rows": [
[
"2026-10-26",
1,
298,
102513,
298082
],
[
"2026-10-27",
2,
298,
60278,
115074
],
[
"2026-10-28",
3,
302,
47905,
85578
],
[
"2026-10-29",
4,
298,
34473,
39266
],
[
"2026-10-30",
5,
498,
586641,
1456300
],
[
"2026-11-02",
8,
298,
16541,
24311
],
"…"
]
},
"source": "https://www.cboe.com/delayed_quotes/spy/quote_table",
"limits": [
"Cboe's public delayed quotes (at least 15 minutes old) and its implied volatilities and greeks, as Cboe computes them; for personal use unde…",
"Not investment advice.",
"IV and greeks are per contract as Cboe publishes them (IV as a fraction a year; theta per day). Max pain and the expected move are computed …"
]
}Prices, filings and statistics are as the sources published them on that day; run the call again for today's. Nothing here is investment advice.
The same answer as a view
In a host that draws MCP Apps, view: true shows the person the whole result and gives the model a summary. Watch it, then try it: below the clip is canli-mcp's real view, playing a recording.
The view loads here.
The tools behind the answer
| Tool | Pack | What it does |
|---|---|---|
options_chain | markets | An option chain from Cboe's delayed data for a stock, ETF or index (AAPL, SPY, SPX, VIX): bids, asks, implied volatility, greeks, open interest and volume by strike for one expiration, every expiration with its open interest, put/call ratios, max pain and the move the at-the-money straddle prices in. |
volatility_surface | markets | The implied volatility surface from Cboe's delayed option data: at-the-money IV by expiration (term structure), 25-delta put and call IV with the risk reversal and butterfly (skew), and IV at fixed moneyness from 80 to 120 percent of the price (smile). |
Add canli-mcp
claude mcp add canli -- npx -y canli-mcp{ "mcpServers": { "canli": { "command": "npx", "args": ["-y", "canli-mcp"] } } }https://canlicapital.com/mcp/canliEverything canli-mcp does · How it compares with other finance MCP servers
