Skip to main content
Glama

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

Options Position

workflow.run_options_position
Read-only

Profit and loss at expiry for a US-style equity, ETF or index option position built from 1 to 4 option legs, in US dollars with the standard contract multiplier of 100 shares (NOT Deribit and not coin-settled: for BTC/ETH options on Deribit use workflow.run_spread_payoff or workflow.run_options_payoff). Each leg: call or put, long or short, strike, premium per share as quoted, contracts. Optional stock adds long shares held with the options (covered call, protective put, collar). Prices are the ones you pass in; nothing is fetched. All legs share one expiry (a calendar spread is not computed). Returns: the strategy name derived from the legs (bull/bear call or put spread, iron condor, iron butterfly, straddle, strangle, covered call, protective put, collar, single leg, or a custom position), net debit or credit in dollars, maxProfitUsd and maxLossUsd (null = unlimited), every breakeven price per share, the P&L at each price in scenarioPrices and a short exact payoff curve. maxLossUsd is the worst P&L as a loss amount (negative if no price loses); maxProfitUsd is the best P&L (negative if every price loses). Edge cases: 1 to 4 legs; strike and premium up to 10,000,000, premium may be 0; contracts a whole number from 1 to 100,000; stock quantity a whole number up to 100,000,000; up to 50 scenarioPrices, each 0 to 1e9. Not covered: calendar or diagonal spreads (one expiry only), early assignment, commissions, taxes, dividends, margin, Greeks and the value before expiry.

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": {
      "legs": "<legs>"
    },
    "name": "workflow.run_options_position"
  }
}

Input Schema

NameRequiredDescriptionDefault
legsYesOne to four option legs. Each leg: { optionType: call|put, position: long|short, strike: number, premium: number (USD per share), contracts: integer >= 1 (default 1) }.
stockNoOptional long shares held together with the options: { quantity: whole shares, costPerShare: USD }. 100 shares cover one short call.
scenarioPricesNoExpiry prices (USD per share, 0 or more) to report the position P&L at. Optional.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=false, and the description is consistent with that (pure local computation, nothing fetched). It goes well beyond the annotations by spelling out the full return payload, the sign convention for maxProfitUsd/maxLossUsd (null = unlimited), and the 1-4 leg / single-expiry constraint. The only small gap is that it does not discuss numeric precision or rounding of the dollar outputs.

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

Conciseness4/5

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

Front-loaded with the core computation and the sibling routing, and nearly every clause carries information. It loses a point because the "Edge cases" run repeats limits already encoded in the schema (minItems/maxItems 4, scenarioPrices maxItems 50, contracts bounds) inside one dense unbroken paragraph that would scan better as short structured lines.

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?

No output schema exists, so the description carries the return contract itself, and it does so thoroughly: strategy name, net debit/credit, max profit/loss with null semantics, breakevens, per-price P&L and payoff curve. Combined with the explicit out-of-scope list, there is nothing material an agent needs in order to call this correctly that is missing.

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: the optional `stock` object is characterized by the strategies it enables (covered call, protective put, collar) and by the 100-shares-covers-one-short-call relationship. It also states that all legs share one expiry, which is a semantic constraint the schema's shape does not convey.

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 computation (profit and loss at expiry) on a specific resource (US-style equity/ETF/index option positions of 1-4 legs) and names the units and contract multiplier. It also explicitly distinguishes itself from the crypto-options siblings workflow.run_spread_payoff and workflow.run_options_payoff, so an agent can route without opening the 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?

Gives explicit when-not-to-use guidance (NOT Deribit, not coin-settled, use the two named alternatives for BTC/ETH) and names the exclusion set (calendar/diagonal spreads, early assignment, Greeks, pre-expiry value). It also clarifies the pricing model: "Prices are the ones you pass in; nothing is fetched," which tells the agent it need not supply market data.

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.