protogrid

Search / dev.tesseralytics/hyperliquid-data

Hyperliquid Market Data — OHLCV, Funding Rates & Positioning (Tessera)

R1· needs a key

Hyperliquid perp market data for LLMs: OHLCV, funding, open interest, positioning & forecasts.

v0.1.0 · active · descriptor JSON · versions

An agent can connect on its own if it already holds HYPERLIQUID_DATA_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality73needs work
Trust73of 100
Uptime, 30 days100%
Latency p501574 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "hyperliquid-data": {
      "type": "http",
      "url": "https://tesseralytics.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${HYPERLIQUID_DATA_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http hyperliquid-data https://tesseralytics.dev/mcp --header "Authorization: Bearer ${HYPERLIQUID_DATA_TOKEN}"
[mcp_servers.hyperliquid-data]
url = "https://tesseralytics.dev/mcp"
bearer_token_env_var = "HYPERLIQUID_DATA_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hyperliquid-data": {
      "type": "remote",
      "url": "https://tesseralytics.dev/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:HYPERLIQUID_DATA_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "hyperliquid-data": {
      "type": "http",
      "url": "https://tesseralytics.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${HYPERLIQUID_DATA_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=hyperliquid-data&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdGVzc2VyYWx5dGljcy5kZXYvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7SFlQRVJMSVFVSURfREFUQV9UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "hyperliquid-data": {
      "type": "http",
      "url": "https://tesseralytics.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${HYPERLIQUID_DATA_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "hyperliquid-data": {
      "httpUrl": "https://tesseralytics.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${HYPERLIQUID_DATA_TOKEN}"
      }
    }
  }
}
extensions:
  "hyperliquid-data":
    enabled: true
    name: "hyperliquid-data"
    type: streamable_http
    uri: "https://tesseralytics.dev/mcp"
    headers:
      "Authorization": "Bearer ${HYPERLIQUID_DATA_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${HYPERLIQUID_DATA_TOKEN}. The registry never accepts secret values.

Quality 73 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_datasets (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); screen_universe (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); funding_divergence (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,849 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes16 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 3,849 tokens to load them all · tool set 9b480ff2702e · tools last changed 2026-10-15 · checked 2026-10-19 10:20 UTC

Tool changes

  • live_marketchangeddescription, output schema
    before

    What is happening right now: mark price, current hourly funding, open interest, 24-hour traded notional and premium for up to 25 markets, taken straight from the venue's public API and stamped with the moment it was read. Use this for 'now' questions; the bar=1d and bar=1h tools answer completed intervals only.

    after · 69% of words in common

    What is happening right now: mark price, current hourly funding, open interest (one-sided — counted once per contract, half of the both-sides figure Hyperliquid's own UI shows, so it is directly comparable with the oi_usd column the bar tools return), 24-hour traded notional and premium for up to 25 markets, taken straight from the venue's public API and stamped with the moment it was read. Use this for 'now' questions; the bar=1d and bar=1h tools answer completed intervals only.

  • screen_universechangedinput schema
  • funding_divergencechangeddescription, input schema
    before

    Rank markets by how far their funding has diverged from a benchmark (default ETH) over a trailing window. Pick bar (1d, the default, or 1h on a Pro key) to read completed days or completed hours. metric=rate compares mean funding over the window; metric=cum_funding_spread compares how far a market's cumulative funding level travelled inside the window (its high minus its low, so never negative) — that is not the funding the window accumulated, which is funding_rate_7d_avg times the window's completed-interval count (7 at the daily grain, 168 at the hourly one). Returns the most diverged in each direction. Markets with no funding reading are excluded from both lists. Descriptive only.

    after · 90% of words in common

    Rank markets by how far their funding has diverged from a benchmark (default ETH) over a trailing window. Pick bar (1d, the default, or 1h on a Pro key) to read completed days or completed hours. metric=rate compares mean funding over the window; metric=cum_funding_spread compares how far a market's cumulative funding level travelled inside the window (its high minus its low, so never negative) — that is not the funding the window accumulated, which is funding_paid_7d (or funding_rate_7d_avg times the window's completed-interval count). Returns the most diverged in each direction. Markets with no funding reading are excluded from both lists. Descriptive only.

  • funding_divergencechangeddescription, input schema
    before

    Rank markets by how far their funding has diverged from a benchmark (default ETH) over a trailing window. Pick bar (1d, the default, or 1h on a Pro key) to read completed days or completed hours. metric=rate compares mean funding over the window; metric=cum_funding_spread compares funding accumulated over the window. Returns the most diverged in each direction. Markets with no funding reading are excluded from both lists. Descriptive only.

    after · 64% of words in common

    Rank markets by how far their funding has diverged from a benchmark (default ETH) over a trailing window. Pick bar (1d, the default, or 1h on a Pro key) to read completed days or completed hours. metric=rate compares mean funding over the window; metric=cum_funding_spread compares how far a market's cumulative funding level travelled inside the window (its high minus its low, so never negative) — that is not the funding the window accumulated, which is funding_rate_7d_avg times the window's completed-interval count (7 at the daily grain, 168 at the hourly one). Returns the most diverged in each direction. Markets with no funding reading are excluded from both lists. Descriptive only.

  • funding_divergencechangedinput schema
  • get_universechangeddescription, input schema, output schema
    before

    The coverage picture: the last complete interval, how many markets are in the universe for a scope, how much history sits behind them, and how densely it is populated. Pick bar (1d, the default, or 1h on a Pro key) to describe completed days or completed hours. A compact SUMMARY by default — pass top_n (1..50) only if you need the per-market counts.

    after · 87% of words in common

    The coverage picture: the last complete interval, how many markets are in the universe for a scope, how much history sits behind them, and how densely it is populated. Pick bar (1d, the default, or 1h on a Pro key) to describe completed days or completed hours. The range counts cover the last 7 days at bar: 1h (pass days, 1..30, to widen them) and the whole published range at bar: 1d. A compact SUMMARY by default — pass top_n (1..50) only if you need the per-market counts.

  • query_serieschangedinput schema
  • query_cross_sectionchangedinput schema, output schema
  • screen_universechangedinput schema
  • query_cross_sectionchangeddescription, input schema, output schema
    before

    Rank the whole market on ONE completed day: pick columns, an order_by field and top_n. Answers 'top markets by funding / open interest / returns on the latest day' and 'what percentile is BTC on open interest'. day defaults to the last complete day; scope defaults to crypto (HIP-3 markets track an underlying that closes, so their flow is not comparable); stat=percentile|zscore ranks within your visible markets; window_days recomputes the trailing-window fields; min_usd_volume_7d_avg keeps dust out of the ranking. Field names come from list_fields — never guess them, they are snake_case compound names; for a cut ('top decile by X') use screen_universe.

    after · 83% of words in common

    Rank the whole market on ONE completed interval: pick bar (1d, the default, or 1h on a Pro key), columns, an order_by field and top_n. Answers 'top markets by funding / open interest / returns on the latest day or hour' and 'what percentile is BTC on open interest'. day defaults to the last complete interval; scope defaults to crypto (HIP-3 markets track an underlying that closes, so their flow is not comparable); stat=percentile|zscore ranks within your eligible markets; window_days recomputes the trailing-window fields; min_usd_volume_7d_avg keeps dust out of the ranking and the ranking is computed after it. Field names come from list_fields — never guess them, they are snake_case compound names and each one lists the bars it exists on; for a cut ('top decile by X') use screen_universe.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 73 / 100

no-repository
provenance45
liveness100
freshness65
hygiene80

+dns-namespace +reachable +uptime-100% ~updated-105d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://tesseralytics.dev/mcp streamable-httpapi_key ${HYPERLIQUID_DATA_TOKEN}yes100%1574 ms2025-03-262026-10-19

Tools (9)

describe_datasetThe full dictionary for ONE downloadable dataset: description plus every column's type, nullability and plain-English meaning. Pass a name from list_datasets. Open — no key needed. For the fields the query tools accept, use list_fields.
funding_divergenceRank markets by how far their funding has diverged from a benchmark (default ETH) over a trailing window. Pick bar (1d, the default, or 1h on a Pro key) to read completed days or completed hours. metric=rate compares mean funding over the window; metric=cum_funding_spread compares how far a market's cumulative funding level travelled inside the window (its high minus its low, so never negative) — that is not the funding the window accumulated, which is funding_paid_7d (or funding_rate_7d_avg times the window's completed-interval count). Returns the most diverged in each direction. Markets with no funding reading are excluded from both lists. Descriptive only.
get_universeThe coverage picture: the last complete interval, how many markets are in the universe for a scope, how much history sits behind them, and how densely it is populated. Pick bar (1d, the default, or 1h on a Pro key) to describe completed days or completed hours. The range counts cover the last 7 days at bar: 1h (pass days, 1..30, to widen them) and the whole published range at bar: 1d. A compact SUMMARY by default — pass top_n (1..50) only if you need the per-market counts.
list_datasetsList the downloadable datasets: one-line summary, the plan required, and the month range available. Open — no key needed. Then use describe_dataset for one dataset's columns, or list_fields for the fields the query tools accept.
list_fieldsEvery field the query tools accept, each with its meaning, unit, whether it can be missing, and which bars (1d, 1h) it exists on. Open — no key needed. Call this before query_cross_section, screen_universe or query_series. Percentile, z-score and the top_pct/bottom_pct conditions rank within the markets your plan can see, so they need a wide slice.
live_marketWhat is happening right now: mark price, current hourly funding, open interest (one-sided — counted once per contract, half of the both-sides figure Hyperliquid's own UI shows, so it is directly comparable with the oi_usd column the bar tools return), 24-hour traded notional and premium for up to 25 markets, taken straight from the venue's public API and stamped with the moment it was read. Use this for 'now' questions; the bar=1d and bar=1h tools answer completed intervals only.
query_cross_sectionRank the whole market on ONE completed interval: pick bar (1d, the default, or 1h on a Pro key), columns, an order_by field and top_n. Answers 'top markets by funding / open interest / returns on the latest day or hour' and 'what percentile is BTC on open interest'. day defaults to the last complete interval; scope defaults to crypto (HIP-3 markets track an underlying that closes, so their flow is not comparable); stat=percentile|zscore ranks within your eligible markets; window_days recomputes the trailing-window fields; min_usd_volume_7d_avg keeps dust out of the ranking and the ranking is computed after it. Field names come from list_fields — never guess them, they are snake_case compound names and each one lists the bars it exists on; for a cut ('top decile by X') use screen_universe.
query_seriesThe series for one market or a few (max 10): one row per market per interval over a trailing window, oldest first. Pick bar (1d, the default, for one row per day, or 1h on a Pro key for one row per completed hour). Answers 'is this move backed by real flow' and 'how has positioning built up'. ending_day defaults to the last complete interval. The whole answer is capped, so markets times window_days (times 24 at bar 1h) must stay inside the row cap; the response states the window it used.
screen_universeScreen the whole market on ONE completed interval with several conditions ANDed together. Pick bar (1d, the default, or 1h on a Pro key; a free key is screened at 1d). Conditions use op >, <, >=, <=, between, top_pct or bottom_pct; top_pct/bottom_pct are deciles of your eligible markets, and the liquidity floor is applied before the deciles so they are measured over the population you are choosing from. Answers 'top-decile funding with bottom-decile open-interest change' and 'open interest rising faster than volume'. A market that does not report a field never satisfies a condition on it.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "dev.tesseralytics/hyperliquid-data",
  "title": "Hyperliquid Market Data — OHLCV, Funding Rates & Positioning (Tessera)",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://tesseralytics.dev/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Tessera API key as a Bearer token: `Bearer <your-api-key>`. Get a free key at https://tesseralytics.dev."
        }
      ]
    }
  ],
  "version": "0.1.0",
  "description": "Hyperliquid perp market data for LLMs: OHLCV, funding, open interest, positioning & forecasts."
}