
Options probability of profit, P/L graphs, option chains and a trade finder for US stocks.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your API key (opc_live_...). Get a free one at https://www.optionsprofitcalculator.com/api-signup.html
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.
Everything probability_of_profit returns, plus the profit/loss graph data the optionsprofitcalculator.com calculator shows: P/L in dollars across a grid of stock prices and dates up to the earliest expiry. Use it to chart a position or to see how profit changes over time. calculatorUrl opens the same position and graph in the calculator on optionsprofitcalculator.com.
30-day implied volatility, whole percent. Omit to use the latest.
Ticker symbol, e.g. AAPL
Shift all implied volatilities by this percent, e.g. -10
Highest stock price on the graph (default: automatic)
Lowest stock price on the graph (default: automatic)
Current stock price. Omit to use the latest quote.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http options-profit-calculator https://www.optionsprofitcalculator.com/mcp \ --header 'X-API-Key: YOUR_X_API_KEY'
Headers
X-API-Key (required): Your API key (opc_live_...). Get a free one at https://www.optionsprofitcalculator.com/api-signup.htmlEverything probability_of_profit returns, plus the profit/loss graph data the optionsprofitcalculator.com calculator shows: P/L in dollars across a grid of stock prices and dates up to the earliest expiry. Use it to chart a position or to see how profit changes over time. calculatorUrl opens the same position and graph in the calculator on optionsprofitcalculator.com.
| Argument | Type | Description |
|---|---|---|
| iv30 | number | 30-day implied volatility, whole percent. Omit to use the latest. |
| legs* | array | |
| symbol | string | Ticker symbol, e.g. AAPL |
| ivChange | number | Shift all implied volatilities by this percent, e.g. -10 |
| priceMax | number | Highest stock price on the graph (default: automatic) |
| priceMin | number | Lowest stock price on the graph (default: automatic) |
| underlyingPrice | number | Current stock price. Omit to use the latest quote. |
{
"type": "object",
"required": [
"legs"
],
"properties": {
"iv30": {
"type": "number",
"description": "30-day implied volatility, whole percent. Omit to use the latest."
},
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"action"
],
"properties": {
"iv": {
"type": "number",
"description": "Implied volatility, whole percent. Omit to work it out from the price."
},
"type": {
"enum": [
"call",
"put",
"stock"
],
"type": "string"
},
"price": {
"type": "number",
"description": "Price per share paid or received. Omit to use the current mid price."
},
"action": {
"enum": [
"buy",
"sell"
],
"type": "string"
},
"expiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Expiry date, YYYY-MM-DD (not for stock legs)"
},
"strike": {
"type": "number",
"description": "Strike price (not for stock legs)"
},
"quantity": {
"type": "integer",
"minimum": 1,
"description": "Contracts (100 shares each), or shares for a stock leg"
}
}
},
"maxItems": 9,
"minItems": 1
},
"symbol": {
"type": "string",
"description": "Ticker symbol, e.g. AAPL"
},
"ivChange": {
"type": "number",
"description": "Shift all implied volatilities by this percent, e.g. -10"
},
"priceMax": {
"type": "number",
"description": "Highest stock price on the graph (default: automatic)"
},
"priceMin": {
"type": "number",
"description": "Lowest stock price on the graph (default: automatic)"
},
"underlyingPrice": {
"type": "number",
"description": "Current stock price. Omit to use the latest quote."
}
}
}Find the best single options or vertical spreads for a price target by a date, with the optionsprofitcalculator.com option finder, ranked by return on max risk (return on margin for naked short options). Returns up to 5, each with a calculatorUrl.
| Argument | Type | Description |
|---|---|---|
| date* | string | Date the target is expected by, YYYY-MM-DD |
| price* | number | Target stock price |
| budget | number | Most to risk, in dollars. Positions are sized to fit. |
| symbol* | string | Ticker symbol, e.g. AAPL |
| target | string | eq: the stock will be at price; gt: above it; lt: below it |
| strategies | array | |
| exactExpiry | boolean | Only use the expiry on (or next after) the date. Otherwise all expiries from the date on are searched. |
{
"type": "object",
"required": [
"symbol",
"price",
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the target is expected by, YYYY-MM-DD"
},
"price": {
"type": "number",
"description": "Target stock price"
},
"budget": {
"type": "number",
"description": "Most to risk, in dollars. Positions are sized to fit."
},
"symbol": {
"type": "string",
"description": "Ticker symbol, e.g. AAPL"
},
"target": {
"enum": [
"eq",
"gt",
"lt"
],
"type": "string",
"default": "eq",
"description": "eq: the stock will be at price; gt: above it; lt: below it"
},
"strategies": {
"type": "array",
"items": {
"enum": [
"option-purchase",
"short-option",
"credit-spread",
"debit-spread"
],
"type": "string"
},
"default": [
"option-purchase"
]
},
"exactExpiry": {
"type": "boolean",
"default": false,
"description": "Only use the expiry on (or next after) the date. Otherwise all expiries from the date on are searched."
}
}
}Option expiry dates listed for a symbol, with days to expiry and number of strikes, from optionsprofitcalculator.com.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Ticker symbol, e.g. AAPL |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Ticker symbol, e.g. AAPL"
}
}
}Calls and puts for one expiry: bid, ask, last, mid, volume, open interest and implied volatility, from optionsprofitcalculator.com.
| Argument | Type | Description |
|---|---|---|
| expiry* | string | Expiry date, YYYY-MM-DD (see get_expirations) |
| symbol* | string | Ticker symbol, e.g. AAPL |
{
"type": "object",
"required": [
"symbol",
"expiry"
],
"properties": {
"expiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Expiry date, YYYY-MM-DD (see get_expirations)"
},
"symbol": {
"type": "string",
"description": "Ticker symbol, e.g. AAPL"
}
}
}Delayed stock quote with the 30-day implied volatility (IV30), from optionsprofitcalculator.com.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Ticker symbol, e.g. AAPL |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Ticker symbol, e.g. AAPL"
}
}
}Probability of profit, breakevens, max profit and max loss for an options position, calculated by optionsprofitcalculator.com (any mix of up to 8 call/put legs and 1 stock leg). Missing prices and IVs are filled from current market data. Probability is at the earliest expiry, from a lognormal model using 30-day implied volatility. calculatorUrl opens the position in the calculator on optionsprofitcalculator.com.
| Argument | Type | Description |
|---|---|---|
| iv30 | number | 30-day implied volatility, whole percent. Omit to use the latest. |
| legs* | array | |
| symbol | string | Ticker symbol, e.g. AAPL |
| underlyingPrice | number | Current stock price. Omit to use the latest quote. |
{
"type": "object",
"required": [
"legs"
],
"properties": {
"iv30": {
"type": "number",
"description": "30-day implied volatility, whole percent. Omit to use the latest."
},
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"action"
],
"properties": {
"iv": {
"type": "number",
"description": "Implied volatility, whole percent. Omit to work it out from the price."
},
"type": {
"enum": [
"call",
"put",
"stock"
],
"type": "string"
},
"price": {
"type": "number",
"description": "Price per share paid or received. Omit to use the current mid price."
},
"action": {
"enum": [
"buy",
"sell"
],
"type": "string"
},
"expiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Expiry date, YYYY-MM-DD (not for stock legs)"
},
"strike": {
"type": "number",
"description": "Strike price (not for stock legs)"
},
"quantity": {
"type": "integer",
"minimum": 1,
"description": "Contracts (100 shares each), or shares for a stock leg"
}
}
},
"maxItems": 9,
"minItems": 1
},
"symbol": {
"type": "string",
"description": "Ticker symbol, e.g. AAPL"
},
"underlyingPrice": {
"type": "number",
"description": "Current stock price. Omit to use the latest quote."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.