Developers menu

MCP

Point an assistant at one address and it reads dealer positioning for every finished SPX session; with a lab key, or after signing in through OAuth, it also drives LAB.

https://mcp.firmtape.com/mcpstreamable HTTP (POST JSON-RPC: initialize, tools/list, tools/call)
Registry com.firmtape/spx-options-gamma

Auth

  • Free tools: no account, no key.
  • lab_ tools and options_strategy_test: a lab key as Authorization: Bearer <key>, or OAuth 2.1 (clients that speak MCP authorization register themselves; press Connect and sign in). Without either they are not listed.
  • The order ledger and Geo have MCP servers of their own, opened by an orders and a geo key.

Free tools

ToolArgumentsReturns
list_sessions{ limit? }Finished trading days in the archive, newest first, up to 50 a call.
get_session{ day }One session: OHLC, the zero-gamma flip and its crossings, the call and put walls, the net-gamma percentile, ATM IV.
get_levels{ day }The level set of one finished day and where the session closed against it.
get_level_history{ days? } or { from, to }How the levels moved, up to 40 sessions: each day's flip and walls and its change from the day before.
get_gex_profile{ day, minute?, book?, expiry_scope?, strikes_around_spot? }The strike ladder of one minute in the volume, measured or open-interest book. The one tool with a per-address limit.
get_events{ from?, to?, impact? }The market calendar of a window, up to 31 days, with what usually followed each kind of event.
get_market_moving_minutes{ day?, tape_only? }The minutes of a session that moved the market, with what was happening.
screen_sessions{ filters..., limit? }Counts and lists the finished sessions whose closing measurements match the filters, with the matching /screener page.
get_symbol_gamma{ symbol }The latest volume and open-interest books of a ticker, or ES, NQ and RTY, with a trust grade.
get_coverage{ from?, to? }Which trading days the archive holds in a window and which it is missing.
search{ query }Document search over the archive, for clients that only call search and fetch.
fetch{ id }One document: an id from search, a FirmTape address or a trading day.

LAB tools

ToolArgumentsReturns
lab_compile{ message, id? }Turns a plain-words idea into a rule, or amends one. Free, needs a positive balance.
lab_run{ id, kind: "backtest" | "quant" }Runs the idea's current conveyor step: 1 credit, refunded on failure.
options_strategy_test{ legs, entry, ... }Prices an SPX 0DTE structure over the archive on real quotes: 10 credits.
lab_state{}The account's ideas, the conveyor holder and the credit balance.
lab_thread{ id }The chat thread of one idea.
lab_idea{ id, action }Desk actions: desk, drop, delete, set.

Limits

  • get_gex_profile reads at most 50 distinct days an hour and 150 in 24 hours per client address (an IPv6 address counts by its /64). Days already opened keep answering; a new day answers once the window rolls. The refusal is a tool error that says so.
  • The other free tools have no per-address limit.
  • lab_ tools spend the account's credits, as the LAB API does.

Errors

  • A tool's failure is a result with isError: true and a sentence, so the model can read it: an unknown day, a closed window, no credits.
  • An unknown tool or a protocol error is a JSON-RPC error (-32602, -32601).

Connect

Claude Code

claude mcp add --transport http firmtape https://mcp.firmtape.com/mcp

Cursor (.cursor/mcp.json)

{ "mcpServers": { "firmtape": { "url": "https://mcp.firmtape.com/mcp" } } }

claude.ai and Claude Desktop

Settings, Connectors, Add custom connector: https://mcp.firmtape.com/mcp

Any client, or curl

curl -s https://mcp.firmtape.com/mcp -H "content-type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_session","arguments":{"day":"2026-10-09"}}}'

The other MCP servers

ORDERS

The order ledger, on the same key and the same daily budget as the Orders API.

Tool
orders_day
orders_latest
orders_sessions

Endpoint https://firmtape.com/orders/mcp, key scope orders.

GEO

Geo records; tool calls count toward the month's calls, listing tools does not.

Tool
geo_records
geo_sources
geo_coverage
geo_snapshot
geo_activity
geo_series
geo_latency

Endpoint https://geo.firmtape.com/mcp, key scope geo.

Measurements of dealer positioning, never a forecast or a trade call. This page is built from FirmTape's public contract, the same files the OpenAPI document is built from; the tests hold them against the route code. Markdown: /docs/developers/mcp.md.