Skip to content

LiqFlow

by liqflow.app · remote · no sign-in to list tools · v1.1.0 · published by app.liqflow

Hyperliquid liquidation levels, whale positions, liquidations, cohorts and funding. Free.

Changes · 13

15 tools: 13 change things and 2 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http liqflow https://liqflow.app/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "open_interest_ranking" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "open_interest_ranking" says "open": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

15 tools

Changes things 13Claude Code: ask
  • cascadesPast sharp moves (at least `min_move_pct` in one 4-hour step) paired with how much liquidation exposure sat in their path just before -- the evidence for whether clusters actually …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Past sharp moves (at least `min_move_pct` in one 4-hour step) paired with how much liquidation exposure sat in their path just before -- the evidence for whether clusters actually get run.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Liquidation cascades
  • cohort_positioningHow different kinds of traders are positioned: wallets grouped by account size (Micro under $250 up to Whale over $1M) and by all-time PnL (Highly Unprofitable to Highly Profitable…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    How different kinds of traders are positioned: wallets grouped by account size (Micro under $250 up to Whale over $1M) and by all-time PnL (Highly Unprofitable to Highly Profitable), with each group's long and short notional and the share that is long. "Are whales and the profitable traders on the other side of retail?" Uses 2 API calls without a coin.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Cohort positioning
  • cohort_top_coinsWhich coins one trader cohort is most long and most short on, ranked across every market: "What are the most profitable traders most bullish and most bearish on?" Each coin has the…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Which coins one trader cohort is most long and most short on, ranked across every market: "What are the most profitable traders most bullish and most bearish on?" Each coin has the cohort's long and short notional, net USD, share long and wallet count, plus the cohort's overall lean across all markets to compare against. Uses 2 API calls without a side.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Cohort top coins
  • coin_historyA metric's history for one market (with the price where the data has it), thinned to at most 60 points.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    A metric's history for one market (with the price where the data has it), thinned to at most 60 points.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Coin history
  • fundingPerp funding rates.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Perp funding rates. With a coin: the rate on each venue (Hyperliquid, Binance, Bybit, OKX, Bitget, Gate) normalised to 8 hours, plus the open-interest weighted aggregate. Without: the markets paying the most positive and most negative funding right now. Positive = longs pay shorts.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Funding rates
  • leaderboardHyperliquid wallets ranked by all-time PnL or by 30-day volume.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Hyperliquid wallets ranked by all-time PnL or by 30-day volume.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Trader leaderboard
  • liquidation_mapWhere the forced orders sit around the current price for one market, from every wallet on the node: liquidation prices (longs below = forced sells, shorts above = forced buys), res…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Where the forced orders sit around the current price for one market, from every wallet on the node: liquidation prices (longs below = forced sells, shorts above = forced buys), resting stop-loss / take-profit trigger orders, and order-book depth, summed into price bands either side of the mark price, plus the biggest liquidation clusters. This is the "liquidation heatmap" question: where would a move run into cascading liquidations, and how much is there. Uses 2 API calls.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Liquidation map
  • liquidation_totalsHow much was liquidated.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    How much was liquidated. Without a coin: every market ranked by liquidated USD over the window, long vs short. With a coin: long and short liquidations per time bucket. Windows that the node missed are listed under `gaps` -- those are missing data, not quiet periods.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Liquidation totals
  • market_overviewThe whole market in one reading: how many perps lean bullish vs bearish on liquidation pressure, and the markets leaning hardest each way.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The whole market in one reading: how many perps lean bullish vs bearish on liquidation pressure, and the markets leaning hardest each way. The score compares short-liquidation exposure ABOVE price (forced buys if price rises) with long-liquidation exposure BELOW it (forced sells if it falls), weighted by distance. Negative = more fuel below, a bearish pull; positive = the reverse. Uses 2 API calls.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Market overview
  • open_interest_rankingHyperliquid markets ranked by open interest (USD), with how many positions are open in each, from every wallet on the node.Reads text others write1 finding

    Why it is in this group

    • The name "open_interest_ranking" says "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "open_interest_ranking" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "open_interest_ranking" says "open": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Hyperliquid markets ranked by open interest (USD), with how many positions are open in each, from every wallet on the node.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Open interest ranking
  • recent_liquidationsIndividual Hyperliquid liquidation fills, newest first, straight off the node: who was liquidated, on which market, how big, at what price.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Individual Hyperliquid liquidation fills, newest first, straight off the node: who was liquidated, on which market, how big, at what price. One liquidation can be several fills sharing an order id.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Recent liquidations
  • top_positionsThe largest open positions on Hyperliquid right now, longs and shorts, read live from the node: wallet, size, notional, entry, leverage, liquidation price and how far price is from…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The largest open positions on Hyperliquid right now, longs and shorts, read live from the node: wallet, size, notional, entry, leverage, liquidation price and how far price is from it, unrealised PnL, and the wallet's size cohort.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Top positions
  • walletOne Hyperliquid wallet right now, read live from the node: account value, PnL, every open position with leverage, liquidation price and how far price is from it, and its open order…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One Hyperliquid wallet right now, read live from the node: account value, PnL, every open position with leverage, liquidation price and how far price is from it, and its open orders (limits, stops and take-profits).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Wallet positions
Only reads 2Claude Code: allow
  • coin_snapshotEverything about one market right now: live price and 24h change, its liquidation-pressure score, liquidation exposure each side and how close it sits, the nearest big cluster, its…Reads text others writeNo findings

    Why it is in this group

    • The name "coin_snapshot" says "snapshot": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Everything about one market right now: live price and 24h change, its liquidation-pressure score, liquidation exposure each side and how close it sits, the nearest big cluster, its rank among all markets, and what changed since the previous snapshot. Start here for any question about one coin. Uses 2 API calls.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Coin snapshot
  • list_marketsMarket symbols LiqFlow covers, to resolve a name ("solana") to its market symbol (SOL).Reads text others writeNo findings

    Why it is in this group

    • The name "list_markets" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Market symbols LiqFlow covers, to resolve a name ("solana") to its market symbol (SOL). `scored` markets also have scores, funding, depth and volume; the rest have node data only (positions, levels, liquidations). Uses 2 API calls.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: List markets

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write15
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Remote posture

What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.

Looked at Oct 22, 2026, 14:22 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.

Reachable
yes
HTTP status of an anonymous initialize
200
tools/list served without credentials
yes
Tools that change things, listed without credentials
13
Protocol version
2025-06-18
WWW-Authenticate on 401
not observed
resource_metadata in WWW-Authenticate
none
RFC 9728 protected resource metadata
none
Authorization servers
none
Legacy HTTP+SSE transport
no
Dynamic client registration
not observed
Client ID metadata documents
not observed
  • WarnThe whole server

    The endpoint served tools/list without credentials, and the list has 13 tools that change things (13 write). Whether a call also works without credentials was not tested: tools are never called.

    Matched text

    https://liqflow.app/mcp: tools/list returned 15 tools to an anonymous client, including market_overview (write), open_interest_ranking (write), liquidation_map (write), funding (write), coin_history (write) and 8 more

    What this check looks for

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http liqflow https://liqflow.app/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__liqflow__list_markets",
      "mcp__liqflow__coin_snapshot"
    ],
    "ask": [
      "mcp__liqflow__market_overview",
      "mcp__liqflow__open_interest_ranking",
      "mcp__liqflow__liquidation_map",
      "mcp__liqflow__funding",
      "mcp__liqflow__coin_history",
      "mcp__liqflow__recent_liquidations",
      "mcp__liqflow__liquidation_totals",
      "mcp__liqflow__cascades",
      "mcp__liqflow__top_positions",
      "mcp__liqflow__wallet",
      "mcp__liqflow__cohort_positioning",
      "mcp__liqflow__cohort_top_coins",
      "mcp__liqflow__leaderboard"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as liqflow. Review it before you use it.

Capability tags behind 15 rules
  • mcp__liqflow__market_overview untrusted-input
  • mcp__liqflow__list_markets untrusted-input
  • mcp__liqflow__open_interest_ranking untrusted-input
  • mcp__liqflow__coin_snapshot untrusted-input
  • mcp__liqflow__liquidation_map untrusted-input
  • mcp__liqflow__funding untrusted-input
  • mcp__liqflow__coin_history untrusted-input
  • mcp__liqflow__recent_liquidations untrusted-input
  • mcp__liqflow__liquidation_totals untrusted-input
  • mcp__liqflow__cascades untrusted-input
  • mcp__liqflow__top_positions untrusted-input
  • mcp__liqflow__wallet untrusted-input
  • mcp__liqflow__cohort_positioning untrusted-input
  • mcp__liqflow__cohort_top_coins untrusted-input
  • mcp__liqflow__leaderboard untrusted-input