CryptoStruct MCP Server
The CryptoStruct MCP server lets AI agents — Claude, Cursor, or any Model Context Protocol client — search our historical market-data catalog, read live market statistics, and buy tick-data files and prediction-market / option-chain day bundles directly from a conversation. The catalog behind the tools is the complete venue feed — every message, every instrument, every venue, every day, captured co-located at institutional grade — priced at 1 EUR per instrument-day or series-day. No API key needed for the free tier; optionally sign in via OAuth to reach your orders, pay with your credits, and unlock Premium depth. Card payment happens in the browser via Stripe checkout; credits are spent only with your consent — an approval page by default, or autonomously within limits you set.
Endpoint: https://cryptostruct.com/mcp (Streamable HTTP, stateless; keyless free tier — sign-in via OAuth is optional)
Connect · Claude Code
claude mcp add --transport http cryptostruct https://cryptostruct.com/mcpConnect · claude.ai / Claude Desktop
Settings → Connectors → Add custom connector → https://cryptostruct.com/mcpConnect · Cursor (~/.cursor/mcp.json)
{ "mcpServers": { "cryptostruct": { "url": "https://cryptostruct.com/mcp" } } }Connect · Raw JSON-RPC (curl)
curl https://cryptostruct.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Streamable HTTP, stateless — POST JSON-RPC messages; both Accept types are required.
Tools
Catalog & discovery
Find instruments and understand what the archive holds — free, no auth.
search_instruments— Search 800K+ instruments across 35+ venues by ticker, base asset or id, with class/venue filters — venue and class words in the query ("binance btcusdt perp") are understood.list_venues— All covered venues with the archive headline numbers.get_instrument— Master data + coverage summary for one instrument id.get_coverage— Day-level coverage: first/last day, gaps, total size — check before you buy.get_data_dictionary— File format, message types, integrity guarantees, pricing and links.list_sample_files— Free full-day sample files with direct download URLs.get_price_quote— EUR quote for a basket of tick files and/or series-day bundles (per-series prices), with per-item availability.
Day bundles
Prediction-market series (Kalshi, Polymarket) and Deribit option chains are sold as series-day bundles: one item is every contract file of a series on one UTC day, priced per series (mostly 1 EUR). These tools resolve a series to its bundle_id and list its sellable days; buying and delivery use the generic tools with kind series_day — each purchased day arrives as one zip (or tar over 4 GB).
search_bundles— Search ~1,900 bundles by text, class (prediction / option), venue, category or interval — returns bundle_id, series_key, price, covered days and delivery mode.get_bundle_coverage— Sellable days of one bundle (newest first, pageable) with file count, bytes, price, trades/turnover where captured, and partial-day flags.get_bundle_sample— One free contract file of the series — the same format as purchased bundle members — with a direct download URL.
Market statistics
The same 1-minute/daily aggregates the analyze pages chart: OHLC, VWAP, trades, turnover, spreads, top-of-book depth.
get_market_snapshot— Live snapshot: last price, 24h change, 60-min turnover/trades, spread (bps), top-1/top-20 depth.get_daily_stats— Daily OHLC/VWAP/turnover series over 30/90/180 days with a window summary. Premium: 365d and max (full history).get_hourly_stats— Hourly OHLC/VWAP/turnover/spread/depth series over 7/30/90 days. Premium: 180d.get_slippage— Market-impact ladder: reachable notional within X bps of mid, time-averaged over 1h. Premium: 24h and 7d.get_minutes_range— [Premium] Historical per-minute series (1h/3h/6h windows, any UTC hour within ~30-day retention) incl. data-quality fields — event studies.get_top_instruments— Top instruments by live 24h turnover across all venues.get_movers— 24h gainers and losers per class with a minimum-turnover floor.
Your account (sign-in required)
Connect with OAuth sign-in and the agent can work with your CryptoStruct account directly.
list_my_orders— Your order history: status, totals, credits applied, invoice PDFs, tokenized order links.get_my_files— Every file you own as a flat list with delivery state and direct download URLs (owner links never expire).get_my_subscription— Premium status, credit balance, the latest credit-ledger entries and your agent-spending settings (mode, caps, spent today).preview_checkout— Dry run of a purchase: already-owned files, unavailable days, credit cover — and whether create_checkout will complete from credits, ask for your approval, or hand over a Stripe URL.
Buying data
The agent assembles the purchase; you stay in control of the money. Card payments happen in the browser via Stripe. Credits (signed-in) are spent only with your consent: by default every agent order lands on an approval page you confirm; opt into autonomous mode in your account to let fully credit-covered orders complete within your per-order and daily limits. Tick files are 1 EUR per instrument-day — the raw tick file with every order-book update, trade and liquidation; day bundles (kind series_day) are priced per series, mostly 1 EUR for every contract file of that series on one UTC day. (1-minute statistics are an analytics export, not a shop item: rolling 24 h free, rolling 7 days and any recorded day with Premium.)
create_checkout— Start a purchase (max 365 items per checkout; tick files and/or series-day bundles). Card: returns a Stripe checkout URL to open in the browser. Credits: returns approval_required with an approval_url for you to confirm — or, in autonomous mode and within your caps, the order completes immediately. Optional max_credit_cents lets the agent cap its own spend.get_checkout_status— Poll the checkout by session_id (card) or order_id (signed-in; credit/approval orders); once paid it returns the order id and download token.get_order_files— List a paid order's files with delivery state and direct download URLs — day bundles come with a zip (or tar) URL per day plus status/restore URLs.request_file_restore— Wake an archived (cold-storage) tick file — restores take up to ~12 hours (bundle days restore via their restore_url).
Buying data from an agent
- search_instruments — find the instrument and note its instrument_id (day bundles: search_bundles → bundle_id, then get_bundle_coverage instead of get_coverage; items use kind series_day)
- get_coverage — confirm the days you need exist
- get_price_quote — total price in EUR (signed in: preview_checkout also shows owned files, credit cover and what create_checkout will do)
- create_checkout — card: returns a Stripe checkout URL to open in the browser; credits: returns an approval_url to confirm, or completes on its own if you enabled autonomous mode within your limits
- get_checkout_status — poll (session_id or order_id) until "paid"; returns order_id + download_token
- get_order_files — per-file download URLs (ready / restoring / archived); bundle days: one zip_url or tar_url per day
Premium & sign-in
The free tier mirrors what the website shows — same windows, same limits, keyless. Signing in connects the agent to your CryptoStruct account; CryptoStruct Premium (20 EUR/month, the same subscription that powers the deep analyze views) unlocks the deep windows on top. Shop files stay 1 EUR per instrument-day for everyone; day bundles keep their per-series price.
What sign-in adds (free account)
- Account tools: list_my_orders, get_my_files (never-expiring download links), get_my_subscription.
- Checkout knows you: email optional, already-owned files are dropped, and your credits pay (1 credit = 1 EUR = 1 file-day) — with your approval, or autonomously within the limits you set on the Agents tab.
- Your own call budget, keyed to your account instead of your IP.
Free vs Premium at a glance
| Capability | Free | Premium (20 EUR/mo) |
|---|---|---|
| Call budget | 120 units/min | 600/min (5x) |
| get_daily_stats | 30 / 90 / 180d | + 365d, max |
| get_hourly_stats | 7 / 30 / 90d | + 180d |
| get_slippage | 1h | + 24h, 7d |
| get_minutes_range | — (locked) | full ~30-day retention |
| get_market_snapshot | core metrics | + data-quality block |
| search_instruments | ≤ 25 / call | up to 100 / call |
Connect · claude.ai / Claude Desktop (sign-in)
Settings → Connectors → Add custom connector → https://cryptostruct.com/mcp/authThe /mcp/auth endpoint asks for sign-in on connect (OAuth in the browser). Same tools as /mcp.
Connect · Claude Code (sign-in)
claude mcp add --transport http cryptostruct https://cryptostruct.com/mcp
claude mcp login cryptostructConnect · Cursor (~/.cursor/mcp.json, sign-in)
{ "mcpServers": { "cryptostruct": { "url": "https://cryptostruct.com/mcp/auth" } } }Sign-in uses OAuth against our Clerk account system — the agent never sees your password, and you can revoke access anytime from your account. Keyless use keeps working unchanged; tools and parameters beyond your tier answer AUTH_REQUIRED / PREMIUM_REQUIRED with an upgrade link.
Fair use & rate limits
Anonymous access shares a per-IP budget (weighted per tool call); signed-in callers get their own per-account budget, and Premium raises it 5x. On a RATE_LIMITED error, back off for the indicated seconds. For sustained programmatic scale beyond that — batch queries, bulk exports — the pricing page lists the enterprise options.
Units & conventions
Market values (turnover, depth) are USD; sale prices are EUR. All file sizes are compressed (zstd) bytes. Minute-level statistics are retained for roughly 30 days; daily aggregates reach back further. Instrument ids are stable for the lifetime of an instrument and identical across MCP, shop and analyze pages.
Guest vs signed-in orders
Anonymous MCP purchases use the guest flow: the download link and token from get_checkout_status stay valid for 30 days. Signed-in (OAuth) purchases are linked to your account permanently and drop already-owned files automatically.
No MCP client? The same flow over plain HTTP
Every step of the buy flow is also a documented HTTP call — search, coverage, a keyless POST /api/quote, the guest checkout (Stripe URL for the user), status polling and the tokenized download routes — in https://cryptostruct.com/docs/api.md, with an OpenAPI 3.1 description at https://cryptostruct.com/openapi.json. Or hand the user a pre-filled shop link — Buy link (no API call needed): /shop?i=<instrument_id>&d=<from>..<to> opens the shop with those UTC days of the instrument in the cart; d also takes a comma list or a mix (d=2026-09-01..2026-09-07,2026-09-15). Bundles: /shop/bundles?bundle=<series_key>&d=…. Only archived days are added (gaps and days still being merged are skipped), at most 366 days of span and 1000 lines per cart; the user pays on the site. Example: /shop?i=67824&d=2026-09-29..2026-10-05 = seven days of Binance BTCUSDT perpetual ticks.
Credits & agent consent
Your credits are never spent by an agent without your consent. Default — approve each purchase: create_checkout returns approval_required plus an approval page where you pay with credits (or by card) or discard the order; unapproved orders expire after 24 hours with nothing charged. Opt-in — autonomous within limits (https://cryptostruct.com/account/agents): a fully credit-covered order completes immediately as long as it fits your per-order cap and your rolling 24-hour cap; anything larger, or not fully covered, comes back to you for approval instead of failing. The agent can pass its own max_credit_cents on top. Only you can change these settings — from the website, never through an agent's token — and every autonomous purchase is listed on the Agents tab and in your credit ledger.
No MCP client? The same flow runs as plain HTTP calls — see the crypto market data API page (OpenAPI at /openapi.json).
Prefer files over tools? The Agent Skill teaches your assistant to parse the raw tick files locally, and llms.txt maps everything machine-readable. Free sample days live on /download. The platform and market-data documentation — file format, SBE, trading API, Strategy SDK — lives on docs.cryptostruct.com.
Why buy data through an agent here
Four things every page on this site is built on — and the reason the numbers above exist at all.
We record everything
The complete public feed of each venue as it was published: every Level-2 snapshot and update at the venue's full book depth, every trade with its aggressor side, every quote, funding, mark-price and liquidation event — for every instrument the venue lists, every UTC day since we added the venue. Nothing sampled, no top-N cut, no on-demand capture.
Institutional grade
Captured co-located at the venue with the exchange timestamp and our receive timestamp in integer nanoseconds, an event-id chain that makes any gap visible, and one normalized schema across 35+ venues — the same capture our own high-frequency trading engine and enterprise feeds run on.
€1 per instrument-day
Any instrument-day is €1, series-day bundles start at €1 — no subscription, no minimum order, no tiers to unlock. Credit packs lower the effective price and never expire, and every venue has free full-day samples to test against first.
Self-service for everyone
Pick the days in the Data Shop, pay by card as a guest and download immediately — no sales call, no enterprise contract, no KYC. Coding agents buy the same files through the MCP server, and the free Agent Skill teaches them the format.
Agents: /llms.txt · MCP server /mcp · every page as markdown via Accept: text/markdown