Skip to main content
Glama

FirmTape - SPX, ES, NQ, RTY gamma levels, 100+ symbols

Level history

get_level_history
Read-onlyIdempotent

How the SPX dealer-positioning levels MOVED across recent finished sessions: the zero-gamma flip, call wall and put wall day by day, each session's change from the one before, and summary statistics for the window (flip range, net drift, mean daily movement, how often price closed above the flip). Use when: the question is about a trend or a window — has the flip been climbing, how far does it travel in a week — instead of calling get_levels once per day. Not for: one day (get_levels / get_session) or anything inside a session (get_gex_profile). ES: pass symbol ES (or MES) for the same series in E-mini prices, each session moved by its own ES basis. Limits: finished sessions only, max 40 per call; days absent from the archive are reported in missing, never interpolated. Measurements only — no buy/sell signals, no forecast.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoEnd of an explicit window, YYYY-MM-DD (inclusive). Defaults to the newest finished session.
daysNoHow many of the most recent finished sessions to read (default 20, max 40). Ignored when `from` is given.
fromNoStart of an explicit window, YYYY-MM-DD (inclusive). Overrides `days`.
symbolNoSPX (default), or ES / MES: each session's levels and close moved by that session's ES basis at its close. Sessions without a measured basis are left out and listed in no_basis; with fewer than two measured, the answer is SPX's and says so.
contractNoOptional dated contract for a future symbol. Default is the front contract; in the two weeks before a roll the next one is measured too.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesTrading day, YYYY-MM-DD
fromYesTrading day, YYYY-MM-DD
noteNoPresent when a future was asked and its basis is not measured for the day
basisNoPresent when an ES/MES (or NQ/MNQ, RTY/M2K) symbol was asked: the futures basis every price here was moved by; null when the day has no measured basis and the answer is the index's
symbolNoWhat the prices are in: SPX, or ES / MES when asked and the day's basis is measured
missingYesDays in the requested window with no payload in the archive; the window is reported over what was actually read
summaryYesOne sentence carrying this answer's numbers, its trading day and its source, written to be quoted verbatim to a reader rather than paraphrased.
movementYesHow the level set travelled across the window. Descriptive statistics, not a forecast.
no_basisNoES only: sessions in the window with no measured basis, left out of the ES series rather than shown at SPX prices
sessionsYesOne entry per finished session, NEWEST FIRST, same order as list_sessions
data_as_ofYesThe time this answer's data is true as of, ISO 8601 with the ET offset: a finished session's close (13:00 on an early close), the minute a ladder was read at, or the source's own build stamp. Null when the source states none.
server_versionYesVersion of the FirmTape MCP server that produced this answer
requested_symbolNoPresent when a future was asked but the day has no measured basis, so the answer is SPX's

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / basis / description
      Previous value: -"Present when an ES/MES (or NQ/MNQ) symbol was asked: the futures basis every price here was moved by; null when the day has no measured basis and the answer is the index's"New value: +"Present when an ES/MES (or NQ/MNQ, RTY/M2K) symbol was asked: the futures basis every price here was moved by; null when the day has no measured basis and the answer is the index's"
    • changedOutput schema / properties / basis / properties / index / description
      Previous value: -"The index whose book was moved: SPX or NDX"New value: +"The index whose book was moved: SPX, NDX or RUT"
  2. Changed5 schema fields changed
    • addedOutput schema / properties / data_as_of
      Added value: +{
      +  "description": "The time this answer's data is true as of, ISO 8601 with the ET offset: a finished session's close (13:00 on an early close), the minute a ladder was read at, or the source's own build stamp. Null when the source states none.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / server_version
      Added value: +{
      +  "description": "Version of the FirmTape MCP server that produced this answer",
      +  "type": "string"
      +}
    • removedOutput schema / properties / sessions / items / properties / levels / properties / hold_band
      Removed value: -{
      -  "description": "[low, high] band where dealer hedging tends to pin price",
      -  "items": {
      -    "type": [
      -      "number",
      -      "null"
      -    ]
      -  },
      -  "maxItems": 2,
      -  "minItems": 2,
      -  "type": "array"
      -}
    • changedOutput schema / properties / sessions / items / properties / levels / required
      Previous value: -[
      -  "zero_gamma_flip",
      -  "call_resistance",
      -  "put_support",
      -  "hold_band"
      -]New value: +[
      +  "zero_gamma_flip",
      +  "call_resistance",
      +  "put_support"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "summary",
      -  "from",
      -  "to",
      -  "sessions",
      -  "movement",
      -  "missing"
      -]New value: +[
      +  "summary",
      +  "from",
      +  "to",
      +  "sessions",
      +  "movement",
      +  "missing",
      +  "data_as_of",
      +  "server_version"
      +]
  3. Changed9 schema fields changed
    • addedInput schema / properties / contract
      Added value: +{
      +  "description": "Optional dated contract for a future symbol. Default is the front contract; in the two weeks before a roll the next one is measured too.",
      +  "examples": [
      +    "ESZ26",
      +    "ESH27"
      +  ],
      +  "pattern": "^M?(ES|NQ)[FGHJKMNQUVXZ]\\d{1,2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / symbol
      Added value: +{
      +  "description": "SPX (default), or ES / MES: each session's levels and close moved by that session's ES basis at its close. Sessions without a measured basis are left out and listed in no_basis; with fewer than two measured, the answer is SPX's and says so.",
      +  "examples": [
      +    "SPX",
      +    "ES",
      +    "MES"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / basis
      Added value: +{
      +  "description": "Present when an ES/MES (or NQ/MNQ) symbol was asked: the futures basis every price here was moved by; null when the day has no measured basis and the answer is the index's",
      +  "properties": {
      +    "at": {
      +      "description": "ET minute the basis belongs to",
      +      "type": "string"
      +    },
      +    "contract": {
      +      "description": "The quarterly contract, e.g. ESZ26",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "contracts": {
      +      "description": "History only: the contracts the window's sessions were priced as",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "expiry": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "future": {
      +      "type": "string"
      +    },
      +    "index": {
      +      "description": "The index whose book was moved: SPX or NDX",
      +      "type": "string"
      +    },
      +    "method": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "passes": {
      +      "description": "Basis passes measured that day",
      +      "type": "integer"
      +    },
      +    "points": {
      +      "description": "Future minus index, index points, added to every level, strike and spot",
      +      "type": "number"
      +    },
      +    "source": {
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / no_basis
      Added value: +{
      +  "description": "ES only: sessions in the window with no measured basis, left out of the ES series rather than shown at SPX prices",
      +  "items": {
      +    "description": "Trading day, YYYY-MM-DD",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "Present when a future was asked and its basis is not measured for the day",
      +  "type": "string"
      +}
    • addedOutput schema / properties / requested_symbol
      Added value: +{
      +  "description": "Present when a future was asked but the day has no measured basis, so the answer is SPX's",
      +  "type": "string"
      +}
    • addedOutput schema / properties / sessions / items / properties / basis
      Added value: +{
      +  "description": "ES only: the session's basis at its close, index points, added to its levels and close",
      +  "type": "number"
      +}
    • changedOutput schema / properties / sessions / items / properties / levels / description
      Previous value: -"Dealer-positioning levels in SPX index points; null when the session did not produce one"New value: +"Dealer-positioning levels in SPX index points (in ES points when `symbol` is ES or MES); null when the session did not produce one"
    • addedOutput schema / properties / symbol
      Added value: +{
      +  "description": "What the prices are in: SPX, or ES / MES when asked and the day's basis is measured",
      +  "type": "string"
      +}
  4. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources