optionslab
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@optionslabshow me SPY options chain with Greeks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why optionslab
One model, three front doors — a typed Python library, a verb-per-task CLI, and an MCP server that any Claude client can talk to.
The math you'd derive on paper — vectorized Black-Scholes price + Greeks (Δ, Γ, Θ, V, ρ, vanna, vomma, charm), put-call parity checker, synthetic-position verifier. Every analytic Greek matches the
py_vollibreference to 1e-6.Position-first, not strategy-first — a
Positionis just a list of legs. Payoff, value, Greeks, scenario grids, and metrics (max P / max L / breakevens) are all the samePositionqueried different ways.Volatility as a market, not a number — RV estimator zoo (close-to-close, Parkinson, Garman-Klass, Rogers-Satchell, Yang-Zhang), VRP, VIX term structure + regime label, 25Δ Risk Reversal / Butterfly, model-free VIX strip, event-implied move.
A daily Vol Dashboard — five computed fields, two-year percentiles, one ritual.
Tested, typed, documented — 50 pytest cases pinning the math. Every result is a dataclass with
.to_dict()for clean JSON at the MCP/CLI edge.
Related MCP server: QuantRisk-MCP-Server
Install
pip install optionslabOr, from source:
git clone https://github.com/pradhann/options-chain-mcp
cd options-chain-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"Quick start — Python
from optionslab import Position, MarketContext
from optionslab.analysis import expiration_payoff, position_metrics, greeks
pos = Position.from_dicts([
{"side": "long", "option_type": "call", "strike": 100, "premium": 6.0},
{"side": "short", "option_type": "call", "strike": 110, "premium": 2.5},
], name="bull-call-100-110")
expiration_payoff(pos, s_t=115).total_dollars # 650.0
position_metrics(pos).breakevens # [103.5]
market = MarketContext.explicit(spot=105, r=0.045)
greeks(pos, market, ivs=0.30).delta_dollars # ≈ $25 per +$1 in spotQuick start — CLI
# Live options chain with per-strike Greeks
optionslab chain --ticker SPY --near-money 6
# Closed-form metrics for an inline position
optionslab metrics --legs '[{"side":"long","option_type":"call","strike":100,"premium":6},
{"side":"short","option_type":"call","strike":110,"premium":2.5}]'
# The classic 2×2 payoff primitives chart
optionslab chart --kind primitives --strike 100 --premium 5 --save-plot primitives.png
# The daily Vol Dashboard
optionslab dashboard --save-plot dashboard.pngSee USAGE.md for the full one-page reference of every verb and chart kind.
Quick start — MCP (Claude Desktop / Claude Code)
optionslab ships an MCP server so any Claude client can call its 40+ tools — pulling chains, valuing positions, drawing charts as inline images.
Add to your Claude config:
{
"mcpServers": {
"optionslab": {
"command": "python",
"args": ["-m", "optionslab.mcp_server"]
}
}
}Or, from a terminal Claude Code session:
claude mcp add optionslab -s user -- python -m optionslab.mcp_serverRestart Claude and ask things like "pull the SPY chain at the nearest monthly and chart the 25Δ skew" or "build a bull call spread on AAPL and show me the P&L grid for ±20% over 30 days."
Screenshots
What's inside
Layer | Lives in | Purpose |
Pricing |
| Vectorized BS + all 8 Greeks + IV solver |
Core types |
|
|
Data |
| Quote, chain (with Greeks), events, vol fetchers |
Analysis |
| Payoff, valuation, metrics, scenario, parity, synthetics, vol/ (VRP, term, skew, strip, event, dashboard) |
Plotting |
| Returns Matplotlib |
Adapters |
| Thin CLI + MCP + interactive shells over the analysis layer |
Storage |
|
|
Strict dependency direction: pricing ← core ← analysis ← plotting ← adapters. No cycles.
Documentation
Full docs are published at https://pradhann.github.io/options-chain-mcp/ (built with MkDocs Material from the docs/ tree).
For a single-page reference of every verb, tool, and chart kind, see USAGE.md.
Contributing
Issues and PRs welcome. To set up a dev environment:
git clone https://github.com/pradhann/options-chain-mcp
cd options-chain-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest # 50 tests, ~1 secondIf you're fixing math, please add a test that pins the expected number. The repo's principle is "breaking the math should fail a test before it ships."
License
MIT © Nripesh Pradhan
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pradhann/options-chain-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server