Skip to main content
Glama

get_options_chain

Read-onlyIdempotent

Contracts at one expiration, enriched with price + OI + volume.

Each row: ticker (OCC), contract_type, strike, name, price, volume,
open_interest, open_interest_change, change_percent, day_open / high /
low, last_trade_date.

Quotes are typically delayed ~15 minutes.

GREEKS AND IV: the results carry price, open interest and volume;
delta/gamma/theta/vega and implied volatility are not part of this
data. When the user asks for greeks, IV or a '30-delta call' style
query, fetch the chain first (get_options_expirations, then this
tool), present the matching strikes with price, open interest and
volume, and state plainly that greeks and IV are unavailable. Report
only values that appear in the results, and leave delta and IV
unestimated, including rules of thumb.

Args:
    ticker: Underlying (e.g. 'AAPL').
    expiration_date: One of the dates from get_options_expirations
        (YYYY-MM-DD).
    contract_type: '' for both, or 'call' or 'put'.
    strike_gte: Filter strikes >= this value (optional).
    strike_lte: Filter strikes <= this value (optional).
    limit: Max contracts to return (default 50).

Input Schema

NameRequiredDescriptionDefault
limitNo
tickerYes
strike_gteNo
strike_lteNo
contract_typeNo'call' or 'put'; omit to return both sides.
expiration_dateYesExact expiration in YYYY-MM-DD. REQUIRED — call get_options_expirations first to discover valid dates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "get_options_chainOutput",
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive and open-world, so the safety profile is covered; the description adds genuinely new behavior: ~15-minute quote delay, the exact fields returned per row, and the deliberate absence of greeks/IV with an instruction not to estimate them. That is well beyond what the structured fields convey.

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?

The Args block is tight and front-loaded, and the return-field list is useful. The GREEKS AND IV paragraph is somewhat repetitive, restating the unavailability of greeks/IV across several sentences ('state plainly that greeks and IV are unavailable' vs 'leave delta and IV unestimated, including rules of thumb'), which costs a little economy.

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 no output schema, the description carries the return shape and does so explicitly by enumerating row fields; it also covers latency, the missing-greeks caveat, and every argument. Nothing an agent needs to call this correctly is absent.

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

Parameters5/5

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

Schema description coverage is only 33% (just contract_type and expiration_date), so the description must compensate, and it does: it documents ticker as the underlying, the YYYY-MM-DD expiration, ''/'call'/'put' semantics, strike_gte/strike_lte as inclusive strike filters, and limit's default of 50. All six parameters gain meaning beyond the bare schema.

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?

The opening line states the resource and its scope precisely: option contracts at a single expiration, enriched with price, open interest and volume. That cleanly separates it from get_options_expirations (which enumerates dates) and get_options_contract (single contract), 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?

It names the prerequisite tool explicitly ('One of the dates from get_options_expirations') and spells out the full call sequence for a common query pattern (greeks/IV -> get_options_expirations then this tool). It also states what this tool is NOT for, which is exactly the when-not guidance an agent needs.

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.

Resources