Skip to main content
Glama

TradingCalc MCP: Options, Forex, Risk Stats, Prediction Markets, On-Chain & Crypto Futures

American Option

workflow.run_american_option
Read-only

Price of an AMERICAN put or call (exercisable on any day up to expiry) on a Cox-Ross-Rubinstein binomial tree with early exercise checked at every node, with a continuous dividend yield. Use it for stock and ETF style options; crypto options on Deribit and Binance are European (workflow.run_black_scholes). Output: americanPrice, delta, gamma, thetaPerDay (calendar day, read from the tree, typically 0 when exercising now is optimal), intrinsicValue, earlyExerciseNow (a tree reading: exercising now beats holding), europeanPrice (Black-Scholes, same inputs), earlyExercisePremium, europeanTreePrice and treeError (what the chosen step count costs: the same tree without early exercise minus the exact European price). More steps are closer to the exact value, not smoothly. Rates 0 to 100 percent, dividend yield is a continuous yield, not dated dividends; steps are a whole number from 50 to 2000 (default 500). Prices are USD per unit of underlying. Edge cases: spot, strike, daysToExpiry (at most 3650) and volatilityPct (at most 300) above zero; steps a whole number from 50 to 2000; when the rate and the dividend yield are too far apart for the volatility and expiry the tree is invalid and the call is an error that says so; numbers that overflow are an error. The price is a tree value, close to the exact one but not equal to it (see treeError). Not covered: discrete dividends, a volatility smile, negative rates, taxes, margin, transaction costs, and exercise limited to certain dates (Bermudan).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "optionType": "<optionType>",
      "spot": "<spot>",
      "strike": "<strike>",
      "daysToExpiry": "<daysToExpiry>",
      "volatilityPct": "<volatilityPct>"
    },
    "name": "workflow.run_american_option"
  }
}

Input Schema

NameRequiredDescriptionDefault
spotYesCurrent price of the underlying
stepsNoBinomial tree steps, whole number from 50 to 2000. Default 500.
strikeYesStrike price, same units as spot
optionTypeYesAmerican call or put
daysToExpiryYesCalendar days to expiry (up to 3650)
volatilityPctYesAnnualized volatility in percentage points (e.g. 30 for 30%), at most 300
riskFreeRatePctNoAnnual risk-free rate in percent, 0 to 100. Default 0.
dividendYieldPctNoContinuous dividend yield in percent per year, 0 to 100. Default 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/openWorld=false/non-destructive; the description adds substantial behavior beyond that, including the full output field list and their meaning (thetaPerDay 'typically 0 when exercising now is optimal', earlyExerciseNow as a tree reading, treeError as step-count cost). It also discloses convergence behavior ('more steps are closer... not smoothly'), invalid-tree error conditions, and overflow errors — far more than the safety annotations carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is front-loaded and effective, and the output/edge-case ordering is logical. However, the text is a dense run-on block that restates the steps 50–2000, volatility 300, and daysToExpiry 3650 limits twice (once inline, again in 'Edge cases') when the schema already states them, costing space without new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, and a numerically delicate pricing model, the description supplies exactly what is missing: return-value semantics, error conditions, model approximations, and applicability boundaries. An agent could call this correctly and interpret the result without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: dividendYieldPct is a continuous yield rather than dated dividends, prices are USD per unit of underlying, steps range 50–2000 with default 500, and tree-invalidity depends on the spread between rate and dividend yield relative to volatility and expiry. It slightly repeats bounds already in the schema, keeping it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — pricing an American put/call on a Cox-Ross-Rubinstein binomial tree with early exercise at every node and a continuous dividend yield. It explicitly contrasts itself with the sibling `workflow.run_black_scholes` (European), which covers crypto options on Deribit/Binance, so an agent can disambiguate without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the target asset class (stock and ETF style options), routes crypto/Deribit/Binance cases to the named alternative, and enumerates out-of-scope cases (discrete dividends, volatility smile, negative rates, taxes, margin, transaction costs, Bermudan exercise). When-to-use and when-not-to-use are both explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.