Free options calculators and the Optionscanner Learn library for any AI assistant. No account.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Bull put or bear call credit spread figures: width, maximum profit and loss, breakeven, return on risk, credit-to-width, and the model's chance of profit when implied volatility and days are given.
put for a bull put spread, call for a bear call spread.
Stock price in dollars.
Net credit received per share, in dollars.
The strike bought, in dollars.
The strike sold, in dollars.
Days to expiration, for the chance of profit. Optional.
Implied volatility, percent per year, for the chance of profit. Optional.
Number of contracts. Default 1.
Bull put or bear call credit spread figures: width, maximum profit and loss, breakeven, return on risk, credit-to-width, and the model's chance of profit when implied volatility and days are given.
| Argument | Type | Description |
|---|---|---|
| days | any | Days to expiration, for the chance of profit. Optional. |
| kind* | string | put for a bull put spread, call for a bear call spread. |
| price* | number | Stock price in dollars. |
| credit* | number | Net credit received per share, in dollars. |
| iv_pct | any | Implied volatility, percent per year, for the chance of profit. Optional. |
| contracts | integer | Number of contracts. Default 1. |
| long_strike* | number | The strike bought, in dollars. |
| short_strike* | number | The strike sold, in dollars. |
{
"type": "object",
"title": "credit_spreadArguments",
"required": [
"kind",
"price",
"short_strike",
"long_strike",
"credit"
],
"properties": {
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Days",
"default": null,
"description": "Days to expiration, for the chance of profit. Optional."
},
"kind": {
"enum": [
"put",
"call"
],
"type": "string",
"title": "Kind",
"description": "put for a bull put spread, call for a bear call spread."
},
"price": {
"type": "number",
"title": "Price",
"description": "Stock price in dollars."
},
"credit": {
"type": "number",
"title": "Credit",
"description": "Net credit received per share, in dollars."
},
"iv_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Iv Pct",
"default": null,
"description": "Implied volatility, percent per year, for the chance of profit. Optional."
},
"contracts": {
"type": "integer",
"title": "Contracts",
"default": 1,
"minimum": 1,
"description": "Number of contracts. Default 1."
},
"long_strike": {
"type": "number",
"title": "Long Strike",
"description": "The strike bought, in dollars."
},
"short_strike": {
"type": "number",
"title": "Short Strike",
"description": "The strike sold, in dollars."
}
}
}Call or put debit spread figures: width, maximum profit and loss, breakeven, reward to risk, debit-to-width, and the model's chance of profit when implied volatility and days are given.
| Argument | Type | Description |
|---|---|---|
| days | any | Days to expiration, for the chance of profit. Optional. |
| kind* | string | call for a call debit spread (bullish), put for a put debit spread (bearish). |
| debit* | number | Net debit paid per share, in dollars. |
| price* | number | Stock price in dollars. |
| iv_pct | any | Implied volatility, percent per year, for the chance of profit. Optional. |
| contracts | integer | Number of contracts. Default 1. |
| long_strike* | number | The strike bought, in dollars. |
| short_strike* | number | The strike sold, in dollars. |
The one and two standard deviation price ranges the options market is pricing for a stock over a horizon, from the stock price, implied volatility and days ahead.
| Argument | Type | Description |
|---|---|---|
| days* | number | Calendar days ahead. |
| price* | number | Stock price in dollars. |
| iv_pct* | number | Implied volatility, percent per year (30 means 30 percent). |
{
"type": "object",
"title": "expected_moveArguments",
"required": [
"price",
"iv_pct",
"days"
],
"properties": {
"days": {
"type": "number",
"title": "Days",
"description": "Calendar days ahead."
},
"price": {
"type": "number",
"title": "Price",
"description": "Stock price in dollars."
},
"iv_pct": {
"type": "number",
"title": "Iv Pct",
"description": "Implied volatility, percent per year (30 means 30 percent)."
}
}
}The full text of one Learn article, glossary term, calculator page or research page by slug, as Markdown with its link. Use learn_search first when the slug is unknown.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The page slug or path, for example iron-condor-entry-screening or /learn/glossary/delta. |
{
"type": "object",
"title": "learn_readArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"description": "The page slug or path, for example iron-condor-entry-screening or /learn/glossary/delta."
}
}
}Find the Learn article, glossary term, calculator or research page that answers an options question: strategies, the greeks, implied volatility, IV rank, probability of profit, rolling, assignment, the wheel, screening rules and more. Returns titles, summaries and links.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many results, 1 to 20. Default 5. |
| query* | string | What to look for, in plain words. |
{
"type": "object",
"title": "learn_searchArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "How many results, 1 to 20. Default 5."
},
"query": {
"type": "string",
"title": "Query",
"description": "What to look for, in plain words."
}
}
}The eleven standard structures the calculator knows (long call and put, covered call, cash-secured put, the four vertical spreads, iron condor, straddle, strangle), each built on an example stock price with its legs, maximum profit and loss, breakevens and chance of profit, with a link to open each one.
| Argument | Type | Description |
|---|---|---|
| days | number | Days to expiration. |
| spot | number | Stock price in dollars. |
| iv_pct | number | Implied volatility, percent per year (30 means 30 percent). |
{
"type": "object",
"title": "list_strategiesArguments",
"properties": {
"days": {
"type": "number",
"title": "Days",
"default": 30,
"description": "Days to expiration."
},
"spot": {
"type": "number",
"title": "Spot",
"default": 100,
"description": "Stock price in dollars."
},
"iv_pct": {
"type": "number",
"title": "Iv Pct",
"default": 30,
"description": "Implied volatility, percent per year (30 means 30 percent)."
}
}
}How many contracts fit a risk budget: account equity, the percent of it risked per trade, and the worst case per contract give the dollar budget, the contract count and the share of equity at risk.
| Argument | Type | Description |
|---|---|---|
| equity* | number | Account equity in dollars. |
| risk_pct* | number | Risk budget per trade as a percent of equity. |
| max_loss_per_contract* | number | Maximum loss per contract in dollars. |
{
"type": "object",
"title": "position_sizeArguments",
"required": [
"equity",
"risk_pct",
"max_loss_per_contract"
],
"properties": {
"equity": {
"type": "number",
"title": "Equity",
"description": "Account equity in dollars."
},
"risk_pct": {
"type": "number",
"title": "Risk Pct",
"description": "Risk budget per trade as a percent of equity."
},
"max_loss_per_contract": {
"type": "number",
"title": "Max Loss Per Contract",
"description": "Maximum loss per contract in dollars."
}
}
}The model probability that a stock finishes above or below a price level (a breakeven or a short strike) by a date, from implied volatility, under the lognormal the options market implies.
| Argument | Type | Description |
|---|---|---|
| days* | number | Days to expiration. |
| level* | number | The price level to test, in dollars: a breakeven or a short strike. |
| price* | number | Stock price in dollars. |
| iv_pct* | number | Implied volatility, percent per year (30 means 30 percent). |
{
"type": "object",
"title": "probability_of_profitArguments",
"required": [
"price",
"level",
"iv_pct",
"days"
],
"properties": {
"days": {
"type": "number",
"title": "Days",
"description": "Days to expiration."
},
"level": {
"type": "number",
"title": "Level",
"description": "The price level to test, in dollars: a breakeven or a short strike."
},
"price": {
"type": "number",
"title": "Price",
"description": "Stock price in dollars."
},
"iv_pct": {
"type": "number",
"title": "Iv Pct",
"description": "Implied volatility, percent per year (30 means 30 percent)."
}
}
}Price any options trade with up to eight legs: maximum profit and loss, breakevens, net credit or debit, the model's chance of profit at expiration and the expected move. Pass a strategy name (for example iron_condor or bull_put_spread) to build standard legs from the stock price, or pass the legs yourself with strikes and prices. Ask it for the max loss on a spread, the breakeven on a straddle, or the chance a condor finishes profitable. Returns a link that opens the same trade in the Optionscanner calculator.
| Argument | Type | Description |
|---|---|---|
| days* | number | Days to expiration. |
| legs | any | The legs of the trade, up to eight. Each has a side (buy or sell), a type (call, put or stock), a strike for options, a quantity, and optionally the price per share paid or received; a missing price is estimated from the implied volatility. |
| spot* | number | Stock price in dollars. |
| iv_pct* | number | Implied volatility, percent per year (30 means 30 percent). |
| rate_pct | number | Interest rate the model uses, percent per year. Default 4. |
| strategy | any | A standard structure built from the stock price: long_call, long_put, covered_call, cash_secured_put, bull_call_spread, bear_put_spread, bull_put_spread, bear_call_spread, iron_condor, long_straddle, long_strangle. Omit when passing legs. |
What a trade is worth if the stock moves, time passes or implied volatility changes: profit or loss on a chosen date at a chosen stock price, the same at expiration, and the change for one more day, one more volatility point and a one dollar move. Use it for questions like what happens to my condor if the stock drops ten percent next week.
| Argument | Type | Description |
|---|---|---|
| days* | number | Days to expiration. |
| legs | any | The legs of the trade, up to eight. Each has a side (buy or sell), a type (call, put or stock), a strike for options, a quantity, and optionally the price per share paid or received; a missing price is estimated from the implied volatility. |
| spot* | number | Stock price in dollars. |
| iv_pct* | number | Implied volatility, percent per year (30 means 30 percent). |
| rate_pct | number | Interest rate the model uses, percent per year. Default 4. |
| strategy | any | A standard structure built from the stock price: long_call, long_put, covered_call, cash_secured_put, bull_call_spread, bear_put_spread, bull_put_spread, bear_call_spread, iron_condor, long_straddle, long_strangle. Omit when passing legs. |
{
"type": "object",
"title": "debit_spreadArguments",
"required": [
"kind",
"price",
"long_strike",
"short_strike",
"debit"
],
"properties": {
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Days",
"default": null,
"description": "Days to expiration, for the chance of profit. Optional."
},
"kind": {
"enum": [
"call",
"put"
],
"type": "string",
"title": "Kind",
"description": "call for a call debit spread (bullish), put for a put debit spread (bearish)."
},
"debit": {
"type": "number",
"title": "Debit",
"description": "Net debit paid per share, in dollars."
},
"price": {
"type": "number",
"title": "Price",
"description": "Stock price in dollars."
},
"iv_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Iv Pct",
"default": null,
"description": "Implied volatility, percent per year, for the chance of profit. Optional."
},
"contracts": {
"type": "integer",
"title": "Contracts",
"default": 1,
"minimum": 1,
"description": "Number of contracts. Default 1."
},
"long_strike": {
"type": "number",
"title": "Long Strike",
"description": "The strike bought, in dollars."
},
"short_strike": {
"type": "number",
"title": "Short Strike",
"description": "The strike sold, in dollars."
}
}
}{
"type": "object",
"$defs": {
"LegIn": {
"type": "object",
"title": "LegIn",
"required": [
"side",
"type"
],
"properties": {
"qty": {
"type": "number",
"title": "Qty",
"default": 1,
"description": "Contracts for an option leg, shares for a stock leg.",
"exclusiveMinimum": 0
},
"days": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"title": "Days",
"default": null,
"description": "This leg's own days to expiration, when it differs from the trade's."
},
"side": {
"enum": [
"buy",
"sell"
],
"type": "string",
"title": "Side"
},
"type": {
"enum": [
"call",
"put",
"stock"
],
"type": "string",
"title": "Type"
},
"iv_pct": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"title": "Iv Pct",
"default": null,
"description": "This leg's own implied volatility in percent, when it differs from the trade's."
},
"strike": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Strike",
"default": null,
"description": "Strike price in dollars. Required for a call or put."
},
"premium": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Premium",
"default": null,
"description": "Price per share at entry. Estimated from volatility when omitted."
}
}
}
},
"title": "profit_calculatorArguments",
"required": [
"spot",
"iv_pct",
"days"
],
"properties": {
"days": {
"type": "number",
"title": "Days",
"description": "Days to expiration."
},
"legs": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/LegIn"
}
},
{
"type": "null"
}
],
"title": "Legs",
"default": null,
"description": "The legs of the trade, up to eight. Each has a side (buy or sell), a type (call, put or stock), a strike for options, a quantity, and optionally the price per share paid or received; a missing price is estimated from the implied volatility."
},
"spot": {
"type": "number",
"title": "Spot",
"description": "Stock price in dollars."
},
"iv_pct": {
"type": "number",
"title": "Iv Pct",
"description": "Implied volatility, percent per year (30 means 30 percent)."
},
"rate_pct": {
"type": "number",
"title": "Rate Pct",
"default": 4,
"description": "Interest rate the model uses, percent per year. Default 4."
},
"strategy": {
"anyOf": [
{
"enum": [
"long_call",
"long_put",
"covered_call",
"cash_secured_put",
"bull_call_spread",
"bear_put_spread",
"bull_put_spread",
"bear_call_spread",
"iron_condor",
"long_straddle",
"long_strangle"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Strategy",
"default": null,
"description": "A standard structure built from the stock price: long_call, long_put, covered_call, cash_secured_put, bull_call_spread, bear_put_spread, bull_put_spread, bear_call_spread, iron_condor, long_straddle, long_strangle. Omit when passing legs."
}
}
}| stock_price* |
| number |
| The stock price in the scenario. |
| days_from_now | number | Days into the future for the scenario. 0 means today. |
| iv_change_points | number | Change in implied volatility in points, applied to every leg. Negative for a drop. |
{
"type": "object",
"$defs": {
"LegIn": {
"type": "object",
"title": "LegIn",
"required": [
"side",
"type"
],
"properties": {
"qty": {
"type": "number",
"title": "Qty",
"default": 1,
"description": "Contracts for an option leg, shares for a stock leg.",
"exclusiveMinimum": 0
},
"days": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"title": "Days",
"default": null,
"description": "This leg's own days to expiration, when it differs from the trade's."
},
"side": {
"enum": [
"buy",
"sell"
],
"type": "string",
"title": "Side"
},
"type": {
"enum": [
"call",
"put",
"stock"
],
"type": "string",
"title": "Type"
},
"iv_pct": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"title": "Iv Pct",
"default": null,
"description": "This leg's own implied volatility in percent, when it differs from the trade's."
},
"strike": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Strike",
"default": null,
"description": "Strike price in dollars. Required for a call or put."
},
"premium": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Premium",
"default": null,
"description": "Price per share at entry. Estimated from volatility when omitted."
}
}
}
},
"title": "what_ifArguments",
"required": [
"spot",
"iv_pct",
"days",
"stock_price"
],
"properties": {
"days": {
"type": "number",
"title": "Days",
"description": "Days to expiration."
},
"legs": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/LegIn"
}
},
{
"type": "null"
}
],
"title": "Legs",
"default": null,
"description": "The legs of the trade, up to eight. Each has a side (buy or sell), a type (call, put or stock), a strike for options, a quantity, and optionally the price per share paid or received; a missing price is estimated from the implied volatility."
},
"spot": {
"type": "number",
"title": "Spot",
"description": "Stock price in dollars."
},
"iv_pct": {
"type": "number",
"title": "Iv Pct",
"description": "Implied volatility, percent per year (30 means 30 percent)."
},
"rate_pct": {
"type": "number",
"title": "Rate Pct",
"default": 4,
"description": "Interest rate the model uses, percent per year. Default 4."
},
"strategy": {
"anyOf": [
{
"enum": [
"long_call",
"long_put",
"covered_call",
"cash_secured_put",
"bull_call_spread",
"bear_put_spread",
"bull_put_spread",
"bear_call_spread",
"iron_condor",
"long_straddle",
"long_strangle"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Strategy",
"default": null,
"description": "A standard structure built from the stock price: long_call, long_put, covered_call, cash_secured_put, bull_call_spread, bear_put_spread, bull_put_spread, bear_call_spread, iron_condor, long_straddle, long_strangle. Omit when passing legs."
},
"stock_price": {
"type": "number",
"title": "Stock Price",
"description": "The stock price in the scenario."
},
"days_from_now": {
"type": "number",
"title": "Days From Now",
"default": 0,
"minimum": 0,
"description": "Days into the future for the scenario. 0 means today."
},
"iv_change_points": {
"type": "number",
"title": "Iv Change Points",
"default": 0,
"description": "Change in implied volatility in points, applied to every leg. Negative for a drop."
}
}
}