Tessera Analytics

Interrogez les données de marché Hyperliquid perp et HIP-3 — OHLCV, taux de financement, intérêt ouvert et positionnement — ainsi que les prévisions quantitatives de financement/volatilité, directement depuis votre LLM.

Documentation

The Hyperliquid MCP server for cross-sectional market intelligence

Point Claude — or any MCP client — at one endpoint and ask market questions in plain language. Nine tools: discover the catalog and the field vocabulary, then rank the cross-section, screen on several conditions, measure funding divergence, pull per-coin series and read the live market.

POST https://tesseralytics.dev/mcp

No card required — a free key ranks every market over the trailing week.

tessera.mcp · claude 9 tools · 3 open

Every answer names the complete UTC day it covers and the slice it ranked. The ranked rows above are a real capture of the venue’s public API on 2026-09-16 — 234 markets listed, 33 clearing $5M daily notional on 2026-09-15. The other replies state the call’s arguments and the shape of what comes back.

What you can ask, and what comes back

Eight questions the intelligence layer answers today. Each maps to one shipped tool, and each response names the complete day it covers and the slice it ranked.

You ask

Which coins are most crowded on funding?

query_cross_section

The model calls it with order_by on funding, descending, and top_n — no day given, so it resolves to the last complete day and the response says which day that is. Add stat=percentile to rank by the percentile within your visible slice instead of the raw rate.

→ one row per market, ranked · the day it covers · how many markets were ranked

You ask

Which coins are crowded relative to their own liquidity?

query_cross_section

Same call, a second factor: rank on oi_over_volume — open-interest notional per unit of the day’s traded notional — and a quiet market carrying a heavy book moves ahead of a busy one the same size. Ask for stat=zscore as well and each row carries how far that ratio sits from the rest of your visible slice, in standard deviations, which is what makes the number comparable across markets.

→ one row per market, ranked by crowding · the z-score of that ratio · the day it covers

You ask

Show me coins with top-decile funding but bottom-decile changes in open interest.

screen_universe

A multivariate screen: one call with two conditions — funding in the top decile and the change in open interest in the bottom decile. Both deciles are computed inside the coins you can see, and the response reports how many coins matched against the number of markets the day covers.

→ only the matches · matched-vs-covered counts

You ask

Which coins’ funding has diverged most from ETH this month?

funding_divergence

A 30-day window with ETH as the benchmark, ranked by divergence: either the average rate spread or the cumulative spread, your choice. Coins with no funding in the window are excluded from the ranking rather than shown as zero.

→ ranked spreads · coins with no funding in the window dropped, not zeroed

You ask

Find potential short squeezes — open interest climbing while funding goes negative.

screen_universe

Another screen: open interest rising over the trailing week, paired with funding in the bottom decile. A positioning screen like this is exactly what the daily grain is for — the crowded side shows up in the cross-section before it shows up in price.

→ the crowded side of the book, named

You ask

How much of the market do you actually cover?

get_universe

The coverage picture: the last complete day, how many coins are in the market for each scope, row density and completeness flags. The default scope is crypto; pass hip3 for HIP-3 markets, which carry a venue prefix like xyz:NVDA and, because they track an underlying that closes, come with a session caveat — their weekend flow isn’t comparable.

→ last complete day · coin counts by scope · row density · completeness flags

You ask

Is BTC’s move over the past week backed by real flow?

query_series

A 7-day trailing window for BTC, returning return, volume, taker flow and open-interest change per day. The response always notes how many days the trailing-window figures were computed over, and asks for fewer coins or a shorter window rather than silently truncating if the payload would blow the row cap.

→ one row per day · the number of days actually covered

You ask

What’s BTC trading at right now?

live_market

Mark price, current funding, open interest, 24-hour volume and premium, as of the moment you ask. This is the only tool that answers a “right now” question; everything else is a complete day. Pass up to 25 coins and any coin the venue can’t return is dropped with a note explaining why, rather than failing the whole call.

→ as of now · any market the venue can’t return is noted, not fatal

And because MCP composes

Plug in a second server and ask across both

MCP tools compose, so you can add a second MCP server or skill — say one that reads a venue like Boros or Derive — and ask things like “given Tessera Analytics’ cumulative BTC funding for the past month, which Boros funding markets look mispriced?” The model pulls the funding series from Tessera Analytics and cross-references the other tool.

This is a usage example only — the venue connector is yours to bring; Tessera Analytics doesn’t ship or endorse one, and none of this is trading advice.

A raw-row wrapper is not an intelligence layer

Most perp-data MCP servers hand the model rows and leave the thinking to it: a candle, a funding print, an open-interest number. That works for “what’s the funding”, and collapses on “which coins are crowded relative to the rest of the market” — the model can’t rank a universe it can’t hold.

The intelligence layer cannot page raw rows, by design — row access stays on the REST API. Discovery tools need no key; the analytics tools take yours and rank only the slice your plan can see.

Get connected

First create an API key. Then wire it into your client — replace YOUR_TESSERA_API_KEY with your key.

Claude Code

One command — native streamable-HTTP transport with a header.

claude mcp add --transport http tessera https://tesseralytics.dev/mcp \
  --header "Authorization: Bearer $TESSERA_API_KEY"

Clients with native header auth

For MCP clients that accept a remote URL plus custom headers, add this to your MCP config.

{
  "mcpServers": {
    "tessera": {
      "type": "http",
      "url": "https://tesseralytics.dev/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TESSERA_API_KEY"
      }
    }
  }
}

Claude Desktop (via mcp-remote)

Some desktop clients don't yet send custom headers to remote servers. The mcp-remote bridge proxies the connection and injects your key. Add this to claude_desktop_config.json, then restart the app.

{
  "mcpServers": {
    "tessera": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://tesseralytics.dev/mcp",
        "--header", "Authorization: Bearer ${TESSERA_API_KEY}"
      ],
      "env": {
        "TESSERA_API_KEY": "YOUR_TESSERA_API_KEY"
      }
    }
  }
}

The nine tools

Three open discovery tools, six keyed analytics tools. Discovery works without a key; the analytics tools take your API key and see only your plan's slice of the market.

Open — no API key

Discovery. These answer before you sign in, so an assistant can learn the vocabulary first.

Keyed — API key required

Analytics. Your key hands the model your plan’s slice of the market; it can’t widen or remove it.

How an answer behaves

Complete UTC days only

A day is available once it has closed, and the day still in progress is never served: name it and the response says as much and serves the last complete day instead. Leave the day out or pass latest and the tool resolves to the last complete day; either way the response names the day it answered for. Ask for a day before or after the covered range and you get an explicit error naming the range rather than silent zeros.

live_market is the only now tool — price, funding and open interest as of the moment you ask, stamped with the moment it was read. Every daily response names the day it answered for and the market scope it ranked, alongside the count that makes the answer legible: markets in scope for a ranking, matches for a screen, days for a series.

Rankings and screens are computed within the coins you can see, so they need a wide enough slice to be meaningful — a one-coin slice is refused instead of returning a hollow percentile.

Fields come from discovery

Field names, meanings and units are not something you memorise: call list_fields (or ask for the vocabulary in plain language) and the model gets every column the query tools accept, each with a plain-English meaning and its unit. Discovery is free — pass those names straight into columns, a screen condition, or order_by.

Free vs Pro

Free

Any valid API key can use the MCP server. A free key ranks every market over a trailing 7-day history, up to 20 tool calls a day — enough to explore the data end-to-end.

Pro · $29/mo

Full history, every market (incl. HIP-3), and the full funding and positioning record. Discovery tools show the whole catalog regardless of plan; a market the plane does not carry comes back empty with the reason stated — the slice is never widened to fill it.