Skip to main content
Glama

Tessera Analytics - Hyperliquid Market Intelligence

Query market series

query_series
Read-only

The series for one market or a few (max 10): one row per market per interval over a trailing window, ordered by interval then market. Pick bar (1d, the default, for one row per day, or 1h 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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "coins": "<coins>"
    },
    "name": "query_series"
  }
}

Input Schema

NameRequiredDescriptionDefault
barNo`1d` (the default) for completed UTC days, `1h` for completed UTC hours. An interval, at either grain, is stamped by the instant it **closes** — an hourly `…T09:00:00Z` is the hour that ended at 09:00.
coinsYesThe markets to return, 1..10.
scopeNo`crypto` (the default), `hip3`, or `all`.
columnsNoFields to return per row, from `list_fields`. The interval column (`day` at 1d, `hour` at 1h) and `coin` are always included.
ending_dayNoThe last interval to include: `YYYY-MM-DD` or `latest` at `bar: 1d`, a completed `YYYY-MM-DDTHH:00:00Z` (the hour that *ended* there) or `latest` at `bar: 1h`.
window_daysNoLength of the trailing window in days, 1..365. Defaults to 7. At `bar: 1h` one window day is 24 hourly rows.

Output Schema

NameRequiredDescriptionDefault
barYesThe grain this answer was computed at: `1d` or `1h`.
rowsYesOrdered by interval, then market.
as_ofYesThe last interval in the series.
notesYes
scopeYes
sourceYes
row_countYes
truncatedYes
window_daysYesThe window the trailing fields were computed over, in days.
published_atNo
bar_age_hoursYes
matched_countYesHow many of the requested markets the series actually has rows for — less than `eligible_count` when one of them has no data in the window.
visible_countYesMarkets in your plan's slice with a row on the last interval.
eligible_countYesThe markets you asked for, after the plan's slice and your filter were intersected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / bar_age_hours
      Added value: +{
      +  "format": "double",
      +  "type": "number"
      +}
    • addedOutput schema / properties / published_at
      Added value: +{
      +  "nullable": true,
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "bar",
      -  "source",
      -  "as_of",
      -  "scope",
      -  "window_days",
      -  "visible_count",
      -  "eligible_count",
      -  "matched_count",
      -  "row_count",
      -  "truncated",
      -  "rows",
      -  "notes"
      -]New value: +[
      +  "bar",
      +  "source",
      +  "as_of",
      +  "bar_age_hours",
      +  "scope",
      +  "window_days",
      +  "visible_count",
      +  "eligible_count",
      +  "matched_count",
      +  "row_count",
      +  "truncated",
      +  "rows",
      +  "notes"
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties / rows / description
      Added value: +"Ordered by interval, then market."
  3. Changed2 schema fields changed
    • changedInput schema / properties / bar / description
      Previous value: -"`1d` (the default) for completed UTC days, `1h` for completed UTC hours."New value: +"`1d` (the default) for completed UTC days, `1h` for completed UTC hours.\nAn interval, at either grain, is stamped by the instant it **closes** —\nan hourly `…T09:00:00Z` is the hour that ended at 09:00."
    • changedInput schema / properties / ending_day / description
      Previous value: -"The last interval to include: `YYYY-MM-DD` or `latest` at `bar: 1d`, a\ncompleted `YYYY-MM-DDTHH:00:00Z` or `latest` at `bar: 1h`."New value: +"The last interval to include: `YYYY-MM-DD` or `latest` at `bar: 1d`, a\ncompleted `YYYY-MM-DDTHH:00:00Z` (the hour that *ended* there) or\n`latest` at `bar: 1h`."
  4. Changed12 schema fields changed
    • addedInput schema / properties / bar
      Added value: +{
      +  "default": null,
      +  "description": "`1d` (the default) for completed UTC days, `1h` for completed UTC hours.",
      +  "nullable": true,
      +  "type": "string"
      +}
    • changedInput schema / properties / columns / description
      Previous value: -"Fields to return per row, from `list_fields`. `day` and `coin` are\nalways included."New value: +"Fields to return per row, from `list_fields`. The interval column\n(`day` at 1d, `hour` at 1h) and `coin` are always included."
    • changedInput schema / properties / ending_day / description
      Previous value: -"The last day to include, `YYYY-MM-DD` or `latest`."New value: +"The last interval to include: `YYYY-MM-DD` or `latest` at `bar: 1d`, a\ncompleted `YYYY-MM-DDTHH:00:00Z` or `latest` at `bar: 1h`."
    • changedInput schema / properties / window_days / description
      Previous value: -"Length of the trailing window in days, 1..365. Defaults to 7."New value: +"Length of the trailing window in days, 1..365. Defaults to 7. At\n`bar: 1h` one window day is 24 hourly rows."
    • changedOutput schema / properties / as_of / description
      Previous value: -"The last day in the series."New value: +"The last interval in the series."
    • addedOutput schema / properties / bar
      Added value: +{
      +  "description": "The grain this answer was computed at: `1d` or `1h`.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / coin_count
      Removed value: -{
      -  "description": "The markets the series covers.",
      -  "format": "int64",
      -  "type": "integer"
      -}
    • addedOutput schema / properties / eligible_count
      Added value: +{
      +  "description": "The markets you asked for, after the plan's slice and your filter were\nintersected.",
      +  "format": "int64",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / matched_count
      Added value: +{
      +  "description": "How many of the requested markets the series actually has rows for — less\nthan `eligible_count` when one of them has no data in the window.",
      +  "format": "int64",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / visible_count
      Added value: +{
      +  "description": "Markets in your plan's slice with a row on the last interval.",
      +  "format": "int64",
      +  "type": "integer"
      +}
    • changedOutput schema / properties / window_days / description
      Previous value: -"The window the trailing fields were computed over."New value: +"The window the trailing fields were computed over, in days."
    • changedOutput schema / required
      Previous value: -[
      -  "source",
      -  "as_of",
      -  "scope",
      -  "window_days",
      -  "coin_count",
      -  "row_count",
      -  "truncated",
      -  "rows",
      -  "notes"
      -]New value: +[
      +  "bar",
      +  "source",
      +  "as_of",
      +  "scope",
      +  "window_days",
      +  "visible_count",
      +  "eligible_count",
      +  "matched_count",
      +  "row_count",
      +  "truncated",
      +  "rows",
      +  "notes"
      +]
  5. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources