Multitap

Multitap MCP

Last updated 19 September 2026 · Markdown source

A hosted Model Context Protocol server exposing validated historical options, implied-volatility and earnings analytics, plus a thinkorswim-class P&L calculator. Your agent calls it alongside whatever else you run, including your broker's own tools. It serves statistics. It never executes orders and never gives advice.

Quick start

1. Get a key

Free tier. No account, no email, no waiting.

curl -X POST https://multitap.trade/signup

The response carries your key, the exact limits that apply to it, and a ready-to-paste connect line. The key is shown once and cannot be recovered, so save it.

2. Connect your agent

claude mcp add multitap --transport http \
  https://multitap.trade/mcp \
  --header "Authorization: Bearer YOUR_KEY"

Any MCP client works — the transport is streamable HTTP and the key is a standard Authorization: Bearer header. Verify with /mcp in Claude Code; you should see 21 tools.

3. Ask a question

There is no query language. Ask in plain language and your agent picks the tool:

Authentication

API key, sent as Authorization: Bearer <key> on every request. Free keys are prefixed mtf_. A missing or unrecognised key returns 403. There is no OAuth flow; the endpoint is a single URL and the key is the whole credential.

Limits

Limit Free tier
Tool calls 10 per minute
Heavier tools 3 per minute, within the 10
Keys per person Uncapped
Cost Free
Region No restriction

Exceeding a limit returns 429 with a Retry-After header in seconds. The MCP handshake — initialize and tools/list — is not metered, so connecting never costs a query.

The heavier group is run_sql, compute_indicator, earnings_receipt, scenario_card, scenario_curve, exit_ladder, simulate_position, live_chain, compare_legs, barrier_prob and xs_stat.

land_series and drop_series write to and delete from the server, and are not available on free keys. They return 403, not 429 — retrying will not help.

Need higher limits or the full surface? Email [email protected].

P&L simulation

simulate_position is a thinkorswim-Analyze-class calculator. Give it a structure and it returns the whole picture:

Output Detail
Max profit and max loss Exact, from the expiry payoff kinks. Unbounded tails are labelled as unbounded, never silently clipped to a number.
Breakevens Interpolated, not rounded to the nearest strike.
P&L curves At your evaluation date and at expiration, with per-point intrinsic/extrinsic decomposition.
What-if Optional P&L at a target price and date.
Chart payload A trailing JSON block your agent can plot directly.

Every result is gross and net of execution costs, side by side — curves, breakevens and what-ifs alike. The cost model is a calibrated fill point, each leg's spread (observed when you state bid/ask, otherwise a measured default) and regulatory fees. Expiration rows settle with entry-side costs only. This is the difference between a payoff diagram and a number you can act on.

Structures: a single long option, a net-debit vertical, or via legs any 1–4 leg same-expiration structure — straddles, strangles, iron condors, credit verticals, naked shorts, and ratios by repeating a leg.

Volatility handling is explicit and labelled in the output, because it dominates the answer on short-dated options:

Mode Exit IV
frozen Equals entry IV. The Robinhood-simulator simplification.
crush Entry IV × the symbol's own measured post-earnings crush ratio. For windows that cross an earnings print.
custom Whatever you state.
sticky_moneyness Re-struck per point.

It is a calculator over inputs you supply and fetches nothing: spot, premiums and IVs come from you, typically from your broker's chain. There is deliberately no default IV — a missing one is an instructive error rather than a silent guess.

compare_legs runs the same machinery across a grid: price up to 12 candidate structures under multiple what-if scenarios in one table — cost, breakevens, max win/loss, entry delta and theta, and per scenario the modelled mark, P/L in dollars and return percentage. It replaces writing a pricing loop by hand.

barrier_prob answers the "can it touch 110 by October" question two ways, both labelled: closed-form risk-neutral odds, and — for covered symbols — how often that name's own daily bars actually made a move that size in that window. Thin histories come back suppressed rather than guessed.

Tools

Discovery

Tool What it does
get_schema Database schema, universe and data coverage. Start here.
answer_catalog Which cross-domain questions have precomputed, instant answers.
get_answer Serve one precomputed answer from that catalog.

Query

Tool What it does
run_sql Read-only DuckDB query. Single SELECT/WITH; writes and DDL rejected; results clipped to 200 rows.
compute_indicator RSI, MACD, Bollinger Bands, moving averages.
xs_stat Cross-symbol daily-return statistics vs a benchmark: OLS beta, correlation.

Earnings and implied volatility

Tool What it does
earnings_events_table Per-event IV ramp (t−15→t−1) and crush (t−1→t+1).
crush_conditional_summary The headline cross-sectional result: median IV crush and how often it holds.
iv_context Current IV situation for one symbol against its own history.
implied_move_history Implied vs realised moves, using the event-week weekly tenor rather than the inflated monthly figure.
earnings_receipt Itemised dollar receipt for a historical earnings event.
scenario_card Per-symbol scenario card for a weekly ATM call entered near the close on T−1.
scenario_curve Return-vs-open-gap curve. A historically calibrated model, not a quote.
exit_ladder What exit timing cost, for events where the direction was right.

Pricing and P&L

Tool What it does
simulate_position Max gain/loss, breakevens and P&L curves, gross and net of costs. See above.
compare_legs Up to 12 structures × multiple scenarios in one table.
barrier_prob Probability of touching a level, risk-neutral and measured.
live_chain Live option-chain snapshot for any US underlying: spot, expiries, strikes.

Your own series

Tool What it does
land_series Store a time series of your own for 30 days and join it to ours. Not on free keys.
list_series What you have landed.
drop_series Delete one, permanently. Not on free keys.

Coverage

33 US names across 13 sectors — big tech, semiconductors, pharma, crypto/fintech, retail favourites and SPY — from August 2024 onward. Call get_schema for the live list and each symbol's own coverage window.

The deep-validated receipts layer (dollar receipts, scenario cards, exit ladders) covers the original semiconductor cohort's 71 earnings events: real 15:50–16:00 entry prints, IVs inverted from real prices, and decompositions that reconcile to realised P&L. Validated three ways — against SEC 8-K timestamps, against independent price sources, and against closing NBBO for implied-move levels.

The P&L tools are not bounded by that universe: they are calculators over inputs you supply, so they work on any underlying. Only the crush volatility mode needs a covered symbol, and it falls back to a pooled ratio when the name is not covered.

What this is not

Telemetry

Tool calls are logged per key — tool name, arguments, timing, errors — so we can see what is useful and what breaks. Keys themselves are never written to the log. We do not see your conversations, only what your agent sends to our tools.

Status

Beta. The tool surface can change; breaking changes will be announced before they ship. Problems, or questions the tools answered badly, go to [email protected].