Alpaca Trading API integration for Model Context Protocol (MCP)
FirmTape - SPX dealer positioning is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Backtest SPX gamma exposure (GEX) rules: dealer flip, call/put walls, 1,000+ session archive
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http firmtape-spx-dealer-positioning-mcp https://mcp.firmtape.com/mcp
# 2 — ask your agent for something these tools do
# get_market_moving_minutes, get_events, list_sessions and 9 more
FirmTape - SPX dealer positioning costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http firmtape-spx-dealer-positioning-mcp https://mcp.firmtape.com/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
12 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
The minutes of one finished SPX session that the tape itself marked as market-moving, with what stood beside each: the scheduled event that owned the minute, the moment two or more public news desks carried an item (timed to the second, labelled by class, never the headline's text), or the honest reading that no headline existed and the dealer book moved on its own. Each minute carries the index m
| Parameter | Type | Required | Notes |
|---|---|---|---|
| day | string | no | The session, YYYY-MM-DD (default: the last finished session) |
| tape_only | boolean | no | Only minutes the tape confirmed (default true; false adds the flashes the tape ignored and the calendar events it did not react to) |
The scheduled US market events for a window of days, from the same calendar the FirmTape terminal draws: FOMC decisions, press conferences and minutes, CPI, payrolls, PCE, PPI, GDP, retail sales, JOLTS, ISM, the Fed Chair's speeches, the Beige Book, 10/20/30-year Treasury auctions, mega-cap earnings, monthly and quarterly expiration and early closes. Each event carries its minute in ET, a link to
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | First day, YYYY-MM-DD (default today, ET) |
| to | string | no | Last day, YYYY-MM-DD (default from + 6 days; at most 31 days) |
| impact | string | no | Lowest impact to include (default med: high and medium) |
List the finished SPX trading sessions in the free FirmTape archive, newest first, with the total count and how far back coverage runs. Every listed day can be fetched with get_session / get_levels and replayed free at FirmTape. Use when: you need to know which days exist, or the size and span of the archive, before asking about one. Not for: any measurement about a day — call get_session with tha
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | How many days to return (default 10, max 50) |
What the free FirmTape SPX archive holds: the first and last finished session, how many sessions, and the NYSE trading days in that span that are MISSING from it (weekdays minus US market holidays; early closes count as trading days), optionally inside a from/to window. Use when: 'is 2024-03-15 in the archive', 'how complete is 2023', 'which days are missing' before a study that needs every sessio
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | no | First day of the window, YYYY-MM-DD (default: the archive's first session) |
| to | string | no | Last day of the window, YYYY-MM-DD (default: the archive's last session) |
Filter the finished SPX sessions in the FirmTape archive by their closing measurements and count them: regime at the close and at the open, zero-gamma flip crossings, direction and size of the move, net-gamma percentile, 0DTE ATM IV at the open, the calendar event, weekday and year. Returns how many sessions match, two shares over them (closed above the flip, mean absolute move) printed next to th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| regime | string | no | Regime at the close: pos = closed above the zero-gamma flip, neg = below |
| open | string | no | Regime at the open: pos = opened above the flip, neg = below |
| cross | string | no | Flip crossings in the session: 0 = none, 1 = exactly one, 2 = two or more |
| dir | string | no | Direction of the open-to-close move |
| move | string | no | Size of the open-to-close move: under 0.5%, 0.5% or more, 1% or more, 2% or more |
| gpct | string | no | Net-gamma percentile at the close: under 20, 20 to 50, 50 to 80, 80 and above |
| iv | string | no | 0DTE ATM implied vol at the open: under 10%, 10-15%, 15-20%, 20% and above |
| event | string | no | Event the day carried: fomc (decision days), cpi, nfp (payrolls), pce, ppi, gdp, retail (retail sales), jolts, ism, claims, auctions (Treasury), fed (speeches, Beige Book), opex (expiration), vix (VIX |
| dow | string | no | Day of the week |
| year | string | no | Calendar year, e.g. 2025; a year outside the archive is dropped |
| sort | string | no | Order of the sessions list: newest (default), oldest, move (largest absolute move first), gpct (highest percentile first) |
| limit | integer | no | How many matched sessions to list (default 20, max 50); the counts always cover every match |
Everything FirmTape measured for ONE finished SPX session: OHLC and VWAP, the zero-gamma flip and how often price crossed it, call/put walls, net-gamma percentile, ATM IV at the open. Use when: you want a whole day in a single call. Not for: the level set alone (get_levels returns the same day, narrower), how the levels moved across days (get_level_history), or gamma by strike (get_gex_profile). E
| Parameter | Type | Required | Notes |
|---|---|---|---|
| day | string | yes | A finished trading day, YYYY-MM-DD. Weekends, holidays and days before coverage return an error — call list_sessions to see which days exist. |
| symbol | string | no | SPX (default), or ES / MES for the E-mini: the SPX book moved by the day's ES basis (future minus index from put-call parity). A day without a measured basis answers with SPX index levels and says so. |
| contract | string | no | 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. |
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 tra
| Parameter | Type | Required | Notes |
|---|---|---|---|
| days | integer | no | How many of the most recent finished sessions to read (default 20, max 40). Ignored when from is given. |
| from | string | no | Start of an explicit window, YYYY-MM-DD (inclusive). Overrides days. |
| to | string | no | End of an explicit window, YYYY-MM-DD (inclusive). Defaults to the newest finished session. |
| symbol | string | no | 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 me |
| contract | string | no | 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. |
The latest dealer gamma picture for a symbol OTHER than the SPX archive: index, ETF and stock option chains (for example QQQ, SPY, IWM, NDX, RUT, NVDA, TSLA, GLD, TLT), and the E-mini futures ES, NQ and RTY (MES, MNQ, M2K): ES/NQ/RTY are the SPX/NDX/RUT books moved by the day's basis (future minus index, from put-call parity on the index options; no CME data). Returns spot, the zero-gamma flip, ca
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | The ticker, or ES / MES / NQ / MNQ / RTY / M2K (a dated code such as ESZ26 or RTYZ26 works too). Carried symbols are listed at https://firmtape.com/gex; an unknown ticker returns an error naming that |
| contract | string | no | 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. |
Only the dealer-positioning level set for one finished SPX session: zero-gamma flip, call wall, put wall, plus where the session closed relative to them. A strict subset of get_session. Use when: the levels are the whole question and the rest of the session would be noise. Not for: OHLC, flip crossings, net-gamma percentile or ATM IV (get_session); more than one day (get_level_history); gamma by s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| day | string | yes | A finished trading day, YYYY-MM-DD. Weekends, holidays and days before coverage return an error — call list_sessions to see which days exist. |
| symbol | string | no | SPX (default), or ES / MES for the E-mini: the SPX book moved by the day's ES basis (future minus index from put-call parity). A day without a measured basis answers with SPX index levels and says so. |
| contract | string | no | 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. |
The SPX dealer gamma LADDER for one minute of a finished session: gamma by strike around spot, the level set, and the heaviest strikes. Read by default as the VOLUME book, the one the terminal's chart draws; also as the MEASURED book (signed off the trade tape, FirmTape's own read) or the OPEN_INTEREST convention every other public GEX chart draws — the same minute through three lenses. The level
| Parameter | Type | Required | Notes |
|---|---|---|---|
| day | string | yes | A finished trading day, YYYY-MM-DD. Call list_sessions if unsure which days exist. |
| minute | string | no | ET minute HH:MM inside 09:30-16:00. Snaps back to the frame at or before it, so quote the minute the answer returns. Default: the last frame of the session. |
| book | string | no | Which book's ladder to read (default volume, the chart's book). open_interest is the convention rival tools print. |
| expiry_scope | string | no | all = every expiry the session's book was pulled with (default); 0dte = the same-day slice alone |
| strikes_around_spot | integer | no | How many strikes to return each side of spot (default 20). Raise it for the whole published window, which is +/-2.5% of spot. |
| symbol | string | no | SPX (default), or ES / MES: every strike, spot and level moved by the ES basis at the frame's minute. A day without a measured basis answers with SPX strikes and says so. |
| contract | string | no | 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. |
Search FirmTape for documents about SPX dealer positioning: the explainer pages, the dated research measurements, and the archive of finished trading sessions. Returns ids to pass to fetch. A date in the query ("2026-08-24", "August 24 2026", "August 2026") finds the session or sessions for it. Clients that can call the specific tools should prefer list_sessions / get_session / get_levels / get_
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | A topic, a question, or a trading date |
Retrieve the full text of one FirmTape document by the id search returned: session:YYYY-MM-DD for a finished trading session, page:/path for an explainer or research page. A FirmTape URL or a bare YYYY-MM-DD trading day is accepted too. Use when: you hold an id from search, or a client that only speaks search/fetch (ChatGPT). Not for: structured numbers — get_session and get_levels answer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | An id from search, a FirmTape URL, or a YYYY-MM-DD trading day |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install FirmTape - SPX dealer positioning or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.2.7.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish FirmTape - SPX dealer positioning can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.