Skip to main content
Glama

GammaRips Options Intelligence

Contract Liquidity

get_liquidity
Read-onlyIdempotent
FRESH (entry-day) liquidity — the read the pool's session-frozen
`recommended_oi`/`recommended_volume` cannot give you (the overnight sweep
only becomes OI the next morning). Two modes, chosen by whether you pass a
single `contract`:

  * `contract` given — ONE contract's snapshot: open interest, session
    volume, last trade, day range, underlying price, greeks. Cache-first
    (the engine re-reads the pool every ~10 min in market hours); pass
    live=true to force a fresh upstream fetch or read a contract NOT in
    today's pool.
  * `contract` omitted — the WHOLE current pool (or your `contracts`
    shortlist, max 60) in ONE call — the batch companion for the ~10:00 ET
    decision window. Most-recent read per contract with explicit `as_of`.

Deliberately serves NO bid/ask/mid/spread (not available on the current
data plan — absent, not NULL). Judge fill risk from open_interest (updates
once each morning), day_volume (live session), last_trade recency, and the
day range.

Args:
    contract: OCC ticker for the single-contract mode (verbatim from the
        pool's `recommended_contract`). Omit for the whole-pool batch.
    scan_date: pool date YYYY-MM-DD (batch mode; default: latest pool).
    contracts: optional shortlist filter for the batch mode (max 60).
    live: single-contract mode — force a fresh upstream fetch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
liveNo
contractNo
contractsNo
scan_dateNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses cache-first behavior with a ~10-minute market-hours refresh cycle, freshness semantics for each field (OI updates once each morning, day_volume is live session), and the critical data quirk that bid/ask/mid/spread are absent rather than NULL. The 'absent, not NULL' distinction and the explicit `as_of` mention are exactly the kind of behavioral context an agent cannot infer from annotations alone.

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 description is long but every sentence earns its place — the tool genuinely needs both modes, cache semantics, a data-exclusion caveat, and four parameters explained. Structure is strong: the differentiating lead, bulleted modes, the exclusion paragraph, and an Args block. It loses one point for the grammatically awkward opening ('the read the pool's session-frozen...') and overall density that slightly slows scanning.

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?

The description is complete for a two-mode read tool: it covers what data is served, what is deliberately not served and why, cache/live behavior, the batch shortlist limit, and the temporal decision window. Since an output schema exists, the description need not enumerate return values, and it even hints at the `as_of` field in batch responses. Nothing an agent needs to select and invoke this tool correctly is missing.

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?

With schema description coverage at 0%, the description carries the full parameter-documentation burden and succeeds completely. Each parameter gets meaning: `contract` is an OCC ticker taken verbatim from the pool's `recommended_contract` and selects single-contract mode, `scan_date` is the pool date with a default of latest pool, `contracts` is a batch shortlist capped at 60, and `live` forces a fresh upstream fetch. Format, mode association, and constraints are all given where the schema gives only types and defaults.

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 description names a specific verb and resource — reading FRESH (entry-day) liquidity — and immediately distinguishes it from the session-frozen pool read via `recommended_oi`/`recommended_volume`, which maps to the sibling get_pool. The two modes (single `contract` snapshot vs whole-pool batch) are spelled out with the exact fields returned (open interest, session volume, last trade, day range, underlying price, greeks), leaving no ambiguity about what this tool does.

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?

The description gives explicit when-to-use context: the ~10:00 ET decision window for batch mode, and the overnight-sweep timing explanation for why a fresh read is needed. It also provides mode-selection logic ('chosen by whether you pass a single `contract`'), cache-versus-live guidance (`live=true` to force a fresh fetch or read a contract NOT in today's pool), and a clear when-not ('Deliberately serves NO bid/ask/mid/spread'). Alternatives are implicit via the pool-read contrast rather than named siblings, but the routing guidance is fully actionable.

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.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool owns a clearly distinct surface: reports, liquidity, market calendar, methodology, pool data, regime context, per-ticker signals, outcome research, and raw price replay. Even the closest neighbors (get_pool, get_signal, get_daily_report) are separated by pool-wide versus single-ticker versus report granularity, and the view parameters remove ambiguity.

Naming Consistency4/5

Seven tools follow a consistent get_<noun> pattern, while query_outcomes and replay_contract deviate with a different verb style. All names are snake_case and predictable, so this is a minor inconsistency rather than chaotic naming.

Tool Count5/5

Nine tools is well within the ideal range for an intelligence and research server. Each tool earns its place, covering a distinct part of the workflow without bloat or thinness.

Completeness5/5

The toolset covers the full research workflow: market/reference context, methodology, candidate pool, live liquidity, per-ticker signals, regime context, outcome research, and raw price replay for custom exit rules. There are no obvious dead ends or missing lifecycle steps for the server's stated purpose.