protogrid

Search / io.github.ironflowsh/hyperliquid

Ironflow: Hyperliquid data

R0· no sign-in

Hyperliquid data and liquidation alerts for AI agents: fills, candles, funding, wallet analytics.

v0.16.1 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality77new
Trust93of 100
Uptime, 30 days94%
Latency p50709 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "hyperliquid": {
      "type": "http",
      "url": "https://mcp.ironflow.sh/mcp"
    }
  }
}
claude mcp add --transport http hyperliquid https://mcp.ironflow.sh/mcp
[mcp_servers.hyperliquid]
url = "https://mcp.ironflow.sh/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hyperliquid": {
      "type": "remote",
      "url": "https://mcp.ironflow.sh/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "hyperliquid": {
      "type": "http",
      "url": "https://mcp.ironflow.sh/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=hyperliquid&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmlyb25mbG93LnNoL21jcCJ9"
}
{
  "servers": {
    "hyperliquid": {
      "type": "http",
      "url": "https://mcp.ironflow.sh/mcp"
    }
  }
}
{
  "mcpServers": {
    "hyperliquid": {
      "httpUrl": "https://mcp.ironflow.sh/mcp"
    }
  }
}
extensions:
  "hyperliquid":
    enabled: true
    name: "hyperliquid"
    type: streamable_http
    uri: "https://mcp.ironflow.sh/mcp"
    timeout: 300

Quality 77 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 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 hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations46 of 46 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints3 of 46 tools declare all four hints; missing: describe_data (destructiveHint, idempotentHint); get_open_interest_changes (destructiveHint, idempotentHint); get_mark_prices (destructiveHint, idempotentHint); …
  • warn
    tools.token_costabout 8,984 tokens to load every tool
  • warn
    tools.api_dump46 tools, 93% named like REST operations: looks like an API mapped one endpoint per tool
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 4 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledependencies not resolved yet

46 tools, about 8,984 tokens to load them all · tool set f23def23d021 · tools last changed 2026-11-07 · checked 2026-11-07 17:28 UTC

Tool changes

  • get_user_ledgerchangeddescription
    before

    Vault deposits, withdrawals and transfers for a Hyperliquid wallet. Positive amounts go into the account. Account deposits and withdrawals are recorded only up to 2026-06-06.

    after · 63% of words in common

    Vault deposits, withdrawals and transfers for a Hyperliquid wallet, including account deposits and withdrawals and transfers the wallet received. Positive amounts go into the account.

  • get_liquidation_mapadded

    Where open positions on a Hyperliquid perp would be liquidated if the price moved: notional (size x liquidation price) by price range, longs below the current price and shorts above, with running totals from the price outward. Built from every open position in our node's latest state snapshot, about every 12 minutes (snapshot.age_s says how old). Cross-margin prices assume the account's other positions stay at mark, so a real move that drags correlated markets liquidates earlier; portfolio-margin accounts use Hyperliquid's own liquidation price. For liquidations that already happened use get_liquidation_levels. Without a key you get the 10 largest ranges within 10% of the price; any key, including a free one (https://ironflow.sh/key), returns every range.

  • get_liquidation_levelschangeddescription
    before

    Liquidations that happened on a Hyperliquid perp, bucketed by price and side: where longs and shorts were wiped out (side sell = a liquidated long). These are past liquidations, not projected liquidation prices. Without a key you get the 10 busiest levels of the last 24 hours; any key, including a free one (https://ironflow.sh/key), returns every level.

    after · 81% of words in common

    Liquidations that happened on a Hyperliquid perp, bucketed by price and side: where longs and shorts were wiped out (side sell = a liquidated long). These are past liquidations; for where open positions would be liquidated next, use get_liquidation_map. Without a key you get the 10 busiest levels of the last 24 hours; any key, including a free one (https://ironflow.sh/key), returns every level.

  • get_liquidation_summarychangeddescription
    before

    Liquidations on Hyperliquid over a trailing window, totalled across every market or the ones named: count, wallets, notional, longs vs shorts liquidated, the top markets and the largest single liquidation with its price. Use it for 'who got liquidated in the last hour?' or 'how much was liquidated today?'. For the individual liquidations use get_liquidations; for liquidations grouped by price use get_liquidation_levels. Windows from 15m to 24h without a key, 7d with one. Totals are computed by the API over every liquidation, not sampled.

    after · 90% of words in common

    Liquidations on Hyperliquid over a trailing window, totalled across every market or the ones named: count, wallets, notional, longs vs shorts liquidated, the top markets and the largest single liquidation with its price. Use it for 'who got liquidated in the last hour?' or 'how much was liquidated today?'. For the individual liquidations use get_liquidations; for liquidations grouped by price use get_liquidation_levels; for where open positions would be liquidated next use get_liquidation_map. Windows from 15m to 24h without a key, 7d with one. Totals are computed by the API over every liquidation, not sampled.

  • get_liquidation_levelschangeddescription, input schema, output schemameaning changed
    before

    Liquidated notional on a Hyperliquid perp bucketed by price: where longs and shorts were wiped out. Needs an API key (a free key works, https://ironflow.sh/key); keyless calls return 403.

    after · 34% of words in common

    Liquidations that happened on a Hyperliquid perp, bucketed by price and side: where longs and shorts were wiped out (side sell = a liquidated long). These are past liquidations, not projected liquidation prices. Without a key you get the 10 busiest levels of the last 24 hours; any key, including a free one (https://ironflow.sh/key), returns every level.

  • get_liquidation_summarychangeddescription
    before

    Liquidations on Hyperliquid over a trailing window, totalled across every market or the ones named: count, wallets, notional, longs vs shorts liquidated, the top markets and the largest single liquidation with its price. Use it for 'who got liquidated in the last hour?' or 'how much was liquidated today?'. For the individual liquidations use get_liquidations; for liquidation prices still ahead use get_liquidation_levels. Windows from 15m to 24h without a key, 7d with one. Totals are computed by the API over every liquidation, not sampled.

    after · 94% of words in common

    Liquidations on Hyperliquid over a trailing window, totalled across every market or the ones named: count, wallets, notional, longs vs shorts liquidated, the top markets and the largest single liquidation with its price. Use it for 'who got liquidated in the last hour?' or 'how much was liquidated today?'. For the individual liquidations use get_liquidations; for liquidations grouped by price use get_liquidation_levels. Windows from 15m to 24h without a key, 7d with one. Totals are computed by the API over every liquidation, not sampled.

  • get_user_pnl_serieschangedinput schema
  • get_user_summarychangedinput schema
  • get_market_top_walletschangedinput schema
  • get_pnl_leaderboardchangedinput schema

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 93 / 100

provenance80
liveness98
freshness100
hygiene100

+repository +namespace-matches-repo +reachable +uptime-94% +updated-0d-ago

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

Dependencies

@ironflowsh/[email protected] npmnot resolved yet; dependencies are read once a day

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.ironflow.sh/mcp streamable-httpnoneyes94%709 ms2025-11-252026-11-07
packageregistryversionruntimesecrets
@ironflowsh/mcpnpm0.16.1–IRONFLOW_API_KEY

Tools (46)

create_liquidation_alertHave Ironflow post Hyperliquid liquidations to the user's Discord channel, Slack channel, Telegram chat or HTTPS webhook as they happen (within seconds), filtered by market, side, size and wallet. It keeps running after the conversation: use it when the user wants to be told about liquidations, not just to see them now. Needs an API key (free key: 1 alert; Explorer 5; Builder 20). Give url (a Discord channel webhook from channel settings, Integrations, Webhooks, Copy Webhook URL; a Slack incoming webhook; or any public https URL) or telegram_chat (then tell the user to add the bot named in the result's setup to that chat). A plain webhook gets signed JSON, and its signing_secret appears only in this result, so pass it on. Then call test_liquidation_alert to check that it arrives.
delete_liquidation_alertdestructiveStop and remove one Hyperliquid liquidation alert from this API key's account; nothing more is sent to its destination.
describe_dataread-onlyReturns the SQL tables of Ironflow's Hyperliquid data (every fill and trade, per-market hourly volume and liquidation totals, per-wallet daily totals, wallet behaviour labels, funding rates and per-wallet funding payments, mark and oracle prices, open interest, liquidations, builder-code fills, transfers, vault flows), their columns, how far back each goes, query tips, worked examples and your own limits.
get_auto_deleveragingread-onlyHyperliquid auto-deleveraging (ADL) fills, newest first, across all markets or one: profitable positions Hyperliquid closed to cover a liquidation its backstop could not absorb. Per fill: wallet, market, side, price, size, notional, realized PnL, trade id (shared with the liquidated side) and transaction hash. Recorded from 2026-08-01; the default window is the last 7 days. For the liquidated side use get_liquidations.
get_candlesread-onlyOHLCV candles for one Hyperliquid market, built from every trade: open, high, low, close, volume and trade count per candle, oldest first. Returns the latest 24 candles by default (up to 500), at 1m to 1d intervals. Use it for price history, ranges and charts. For only the current price use get_price; for individual trades use get_recent_trades.
get_cohort_addressesread-onlyWallet addresses in one named cohort: up to 100, each with the value the cohort ranks by (realized PnL in USD for top_pnl_30d, volume in USD for high_volume_30d), and fetched_at, when the cohort was last computed. Call list_cohorts first for the names and what each one selects. Feed the addresses to get_user_summary, get_trader_profile or get_wallet_behavior to look at each wallet.
get_early_moversread-onlyWallets whose large orders (at least $10k) on one Hyperliquid market tended to come before price moved their way within 30 minutes, over the last 7 or 30 days. Per wallet: the number of scored orders, their total notional, a lead score (notional-weighted average 30-minute move in the order's direction, in basis points), a hit rate (share of orders followed by a move their way), the last order time and the share of its large orders cancelled without a fill. Needs at least 5 scored orders per wallet; the response states the formulas. Use it to find wallets worth watching on one market, then check them with get_trader_profile or get_user_state. Past activity does not predict future results.
get_fillsread-onlyEvery fill for one Hyperliquid wallet, optionally for one market, from indexed history: price, size, side, fee and realized PnL. Hyperliquid's own userFills endpoints stop at the 10,000 most recent fills.
get_funding_ratesread-onlyHourly funding rate history for a Hyperliquid perp, including HIP-3 builder perps. A positive rate means longs pay shorts.
get_funding_statsread-onlyFunding statistics per time bucket for a Hyperliquid perp: average, minimum, maximum and annualized rate.
get_liquidation_levelsread-onlyLiquidations that happened on a Hyperliquid perp, bucketed by price and side: where longs and shorts were wiped out (side sell = a liquidated long). These are past liquidations; for where open positions would be liquidated next, use get_liquidation_map. Without a key you get the 10 busiest levels of the last 24 hours; any key, including a free one (https://ironflow.sh/key), returns every level.
get_liquidation_mapread-onlyWhere open positions on a Hyperliquid perp would be liquidated if the price moved: notional (size x liquidation price) by price range, longs below the current price and shorts above, with running totals from the price outward. Built from every open position in our node's latest state snapshot, about every 12 minutes (snapshot.age_s says how old). Cross-margin prices assume the account's other positions stay at mark, so a real move that drags correlated markets liquidates earlier; portfolio-margin accounts use Hyperliquid's own liquidation price. For liquidations that already happened use get_liquidation_levels. Without a key you get the 10 largest ranges within 10% of the price; any key, including a free one (https://ironflow.sh/key), returns every range.
get_liquidationsread-onlyLiquidations on a Hyperliquid perp, read from our own nodes: price, size, side and the liquidated wallet. Hyperliquid's public API has no liquidation feed.
get_liquidation_summaryread-onlyLiquidations on Hyperliquid over a trailing window, totalled across every market or the ones named: count, wallets, notional, longs vs shorts liquidated, the top markets and the largest single liquidation with its price. Use it for 'who got liquidated in the last hour?' or 'how much was liquidated today?'. For the individual liquidations use get_liquidations; for liquidations grouped by price use get_liquidation_levels; for where open positions would be liquidated next use get_liquidation_map. Windows from 15m to 24h without a key, 7d with one. Totals are computed by the API over every liquidation, not sampled.
get_market_leadersread-onlyThe best traders on one Hyperliquid market, ranked by profit factor then win rate, among wallets with at least 5 closed trades there.
get_markets_snapshotread-onlyActive Hyperliquid markets ranked in one call: mark price, 24h change, 24h volume, open interest and current hourly funding. Sort by abs_funding for the most extreme funding, abs_change_24h for the biggest movers, or volume (default). Use min_volume_usd to skip illiquid markets. Returns the top 25 unless limit is set.
get_market_top_walletsread-onlyTop wallets on one Hyperliquid market by volume or realized PnL, up to 200 rows.
get_mark_pricesread-onlyLatest mark price, oracle price and current hourly funding rate of one Hyperliquid perp, with the time of the reading. The funding rate is a fraction per hour (0.0000125 = 0.00125%); positive means longs pay shorts. Use it when you need the oracle price or funding next to the mark, for example for basis or premium. For only the price use get_price, for funding history get_funding_rates, and for many markets at once get_markets_snapshot.
get_open_interestread-onlyLatest open interest of one Hyperliquid perp in units of the base asset (BTC for BTC-PERP), with its 24-hour traded volume in USD and the time of the reading. Multiply by get_price for open interest in USD. To compare open interest across markets use get_markets_snapshot; for its history use run_query (see describe_data).
get_open_interest_changesread-onlyHyperliquid perps ranked by how their open interest moved over the last 1h, 4h, 24h or 7d: open interest at the start and now (in coins), the change in USD at the latest mark and in percent. Sorted by the size of the USD change by default, or by percent. Filter to one HIP-3 dex (xyz) or to native perps only. Markets with less than $100k of open interest at both ends are left out unless you lower min_oi_usd. Use it for 'where is money flowing in or out'. For one market's latest open interest use get_open_interest.
get_outcome_marketsread-onlyHyperliquid HIP-4 outcome markets (prediction markets on sports, central bank decisions, IPOs and daily BTC price contracts) over the last 4 hours, 1 day or 1 week: total volume, fills, wallets and active markets, plus the most traded outcomes with their last price (the implied probability, 0 to 1) and last-24-hour volume. Each outcome has a Yes and a No side whose prices sum to 1. For one outcome's trades or candles pass its symbol to get_recent_trades or get_candles; settled outcomes stay queryable. For per-wallet outcome activity use run_query on hl.wallet_daily with market_class = 'prediction'.
get_pnl_leaderboardread-onlyEvery Hyperliquid wallet ranked by realized PnL, biggest losses or volume over a window. Wallets with fewer than 5 fills in the window are left out.
get_positions_atread-onlyExact perp positions one Hyperliquid wallet held at a past moment, up to 90 days back: market, side, signed size, mark price and notional at that moment, plus today's size and how many fills it made since. Built from Hyperliquid's live positions minus the wallet's fills after that moment, so sizes are exact across native and HIP-3 perps. Needs a free API key; how far back you can go follows the key's history window. Use it for questions like 'what was this wallet holding before the crash'. For positions right now use get_user_state; for trades in between use get_fills.
get_premiumread-onlyA Hyperliquid perp's mark price against its oracle price over time, with the premium in basis points ((mark / oracle - 1) x 10,000) per bucket and a summary (latest, mean, min, max). On HIP-3 stock, index and commodity perps such as xyz:NVDA-PERP, xyz:GOLD-PERP or xyz:SP500-PERP the oracle follows the underlying, so this shows how far the perp trades from what it tracks, weekends included. Default 1h buckets over the last 7 days. For funding payments use get_funding_rates.
get_priceread-onlyLatest mark price of one Hyperliquid market as a single number: native perps, HIP-3 builder perps (e.g. xyz:NVDA-PERP) and spot. The quickest answer to 'what is X trading at'. For the oracle price and funding use get_mark_prices; for price history use get_candles; to compare many markets at once use get_markets_snapshot.
get_recent_tradesread-onlyLatest tick-level trades on a Hyperliquid market from our own nodes: price, size, side and block time. Covers native perps, HIP-3 builder markets, HIP-4 outcomes and spot.
get_statusread-onlyIronflow service status right now: overall state, data freshness per venue and component health.
get_status_historyread-onlyIronflow's own uptime over the last 24 hours (default) or 7 days: points over the period, each with the service status and how fresh the data was in seconds, plus the overall uptime percent. Use it to check whether a gap or odd value in other results came from an Ironflow outage. For the status right now use get_status; for API latency and error rates use get_status_metrics.
get_status_metricsread-onlyIronflow performance over rolling windows: API latency and error rate, ingestion lag and synthetic probe timings.
get_top_tradersread-onlyHyperliquid traders ranked across all markets by results over 7, 30 or 90 days: win rate, profit factor, realized PnL, max drawdown and best markets. sort=top ranks by realized PnL, lowrisk by smallest max drawdown, new by most recently first seen.
get_trader_profileread-onlyHow good and how risky one Hyperliquid trader is over 7, 30 or 90 days, rebuilt from its fills: overall win rate, profit factor, trade count, realized PnL and max drawdown; the same numbers per market; its liquidations; and its trades from open to close with direction, timing and peak size. Use it to vet a wallet before following it. For plain totals over any time range use get_user_summary; for positions open right now use get_user_state; for style labels such as market_maker use get_wallet_behavior. A 90d window on a very active wallet can take several seconds.
get_user_fundingread-onlyFunding a Hyperliquid wallet paid or received, per market per bucket: Hyperliquid's own ledger, every hourly payment back to September 2025 (Hyperliquid's API returns only daily totals that far back). Positive means received, negative means paid. bucket=1d gives daily totals, 1h the hourly payments.
get_user_ledgerread-onlyVault deposits, withdrawals and transfers for a Hyperliquid wallet, including account deposits and withdrawals and transfers the wallet received. Positive amounts go into the account.
get_user_maker_takerread-onlyMaker vs taker breakdown of a Hyperliquid wallet's fills per market: volume, fees and rebates. A high maker share with negative maker fees marks a market maker.
get_user_pnl_seriesread-onlyRealized PnL of one Hyperliquid wallet over time: buckets with realized PnL and fees paid in each, by default daily over the last 30 days. Add the buckets up for a running PnL curve. Realized only: unrealized PnL on open positions is in get_user_state. For totals over a range use get_user_summary.
get_user_stateread-onlyOpen positions and unrealized PnL for a Hyperliquid wallet right now, across native and HIP-3 perps. Use it for questions like 'is this wallet long or short?'
get_user_summaryread-onlyTotals for one Hyperliquid wallet over a time range (default the last 24 hours): fill count, volume in USD, realized PnL, fees, wins, losses, win rate and maker versus taker share, plus its current account state (open positions and margin). Use it for questions like 'how much did this wallet trade or make this week'. For a scored record with profit factor, drawdown and a per-market breakdown use get_trader_profile; for PnL over time use get_user_pnl_series.
get_vault_leaderboardread-onlyHyperliquid vaults ranked by net deposits (deposits minus withdrawals) over the last 7 days, with depositor counts. Keyless calls see the last 24 hours; a free key from https://ironflow.sh/key gives the full 7 days.
get_vault_operationsread-onlyDeposits into and withdrawals from one Hyperliquid vault or one depositor. Pass vault, address, or both; at least one is required (HLP is 0xdfc24b077bc1425ad1dea75bcb6f8158e10df303).
get_wallet_behaviorread-onlyHow Hyperliquid wallets trade, from their last 30 days: labels (market_maker, high_frequency, whale, directional, consistent_winner, big_loser, revenge_sizing, often_liquidated, hip3_trader, spot_trader, prediction_trader) and the numbers behind them (maker share, buy/sell imbalance, fills per day, green-day share, profit factor, liquidations). Look up specific addresses, or list wallets with one label.
get_wallet_labelsread-onlyLabels for notable Hyperliquid wallets: top whales by 24h volume, top traders by 30-day realized PnL, vaults and vault leaders. Pass addresses to check specific wallets; without them it lists the whales and smart money.
list_cohortsread-onlyList available address cohorts: six predefined groups (top_pnl_30d, high_volume_30d, whale_fills, net_withdrawers_7d, liquidation_prone, vault_whales) plus any custom cohorts the caller has created
list_liquidation_alertsread-onlyThe Hyperliquid liquidation alerts on this API key's account: where each posts (host only), its filter, whether it is active, failed deliveries in a row with the last error, liquidations sent so far, and how many alerts the tier allows. An alert is disabled after 20 failed deliveries in a row; test_liquidation_alert re-enables it once the destination works again.
list_marketsread-onlyFind how a Hyperliquid market is named: perps (native and HIP-3), spot and live HIP-4 outcomes, with symbol, class, issuer, base asset and Hyperliquid coin. Search with q (q=nvda finds xyz:NVDA-PERP and the other NVDA perps). Pages of up to 100 rows; pass pagination.next_cursor as cursor for the next page.
run_queryread-onlyRun one read-only ClickHouse SELECT over Ironflow's Hyperliquid tables (hl.fills, hl.trades, hl.wallet_fills, hl.wallet_daily, hl.wallet_behavior, hl.market_hourly, hl.funding, hl.funding_payments, hl.mark_prices, hl.oracle_prices, hl.open_interest, hl.liquidations, hl.builder_fills, hl.transfers, hl.vault_operations). For volume, taker flow or liquidation totals per market over hours to months read hl.market_hourly, not hl.fills; call describe_data for columns. Aggregate in SQL: results are capped (1,000 rows keyless). Keyless: last 24 hours, 5 s per query, 60 query seconds per hour per IP; a free key from https://ironflow.sh/key gives 30 days of history.
test_liquidation_alertSend a sample Hyperliquid liquidation, marked as a test, to an alert's destination now and report whether it arrived (delivered true or false, with the destination's answer). A delivered test switches a disabled alert back on. One test per alert every 10 seconds.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.ironflowsh/hyperliquid",
  "title": "Ironflow: Hyperliquid data",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.ironflow.sh/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.16.1",
  "packages": [
    {
      "version": "0.16.1",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@ironflowsh/mcp",
      "registryType": "npm",
      "environmentVariables": [
        {
          "name": "IRONFLOW_API_KEY",
          "format": "string",
          "isSecret": true,
          "description": "Optional Ironflow API key. Keyless calls get 30 requests per minute and 2,000 per day; a free key from https://ironflow.sh/key gives 60."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/ironflowsh/mcp",
    "source": "github"
  },
  "description": "Hyperliquid data and liquidation alerts for AI agents: fills, candles, funding, wallet analytics."
}