Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/中文
Sign inSign up
Home/Servers/Hyperliquid Agent Gateway

Hyperliquid Agent Gateway

I
by io.github.alekskram

Read-only MCP gateway to Hyperliquid: liquidation distance, funding carry, HyperEVM flows. No keys.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
uvx hyperliquid-agent-gateway==0.1.3
Provider
Claude Code
claude mcp add io.github.alekskram-hyperliquid-agent-gateway -- uvx hyperliquid-agent-gateway==0.1.3

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.alekskram-hyperliquid-agent-gateway": {
      "command": "uvx",
      "args": [
        "hyperliquid-agent-gateway==0.1.3"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install Hyperliquid Agent Gateway?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Hyperliquid Agent Gateway need an API key?
No required environment variable is listed on this record.
What transport does Hyperliquid Agent Gateway use?
Hyperliquid Agent Gateway runs locally over stdio.
When was Hyperliquid Agent Gateway last checked?
Last checked 2026-10-16. Read-only MCP gateway to Hyperliquid: liquidation distance, funding carry, HyperEVM flows. No keys.

Read-only MCP gateway to Hyperliquid: liquidation distance, funding carry, HyperEVM flows. No keys.

hyperliquid-agent-gateway

Hyperliquid puts about 233 perps, 326 spot pairs and a whole EVM chain in front of you, all readable through public endpoints. This MCP server does the reading for your agent: market and funding data, per-account risk, trader activity, HyperEVM (chain 999) token transfers. No keys, no signing, no writes; everything goes through api.hyperliquid.xyz/info and rpc.hyperliquid.xyz/evm, cached and rate-limited so an enthusiastic agent cannot hammer the upstream.

Use cases

The liquidation tool is the one people come for. Feed it any address and you get the margin summary, per-position leverage, and the distance to liquidation; when the venue publishes liquidationPx you get the real number, flagged as such, and when it doesn't you get an estimate that says it is one. We tested it on a $209M-notional 25x short book the day it was 17.6% from the cliff.

Funding: funding_carry_screener ranks all 233 perps from a single call and then fetches 168h of history only for the top few, because the API's weight budget (1200/min) punishes naivety. You see whether a rate is a spike or a regime.

HyperEVM transfers tie on-chain flow back to the perp markets; quote returns a book-derived mid that never leaves [bid, ask]; trader_activity dissects any address into fills, fees, win-rate, funding drag and open positions.

Full walkthroughs: examples/use-cases.md.

Quickstart

Claude Code:

claude mcp add hyperliquid -- uvx hyperliquid-agent-gateway

stdio (default, for local agents):

uvx hyperliquid-agent-gateway

or from a checkout:

git clone https://github.com/alekskram/hyperliquid-agent-gateway
cd hyperliquid-agent-gateway
uv sync
uv run hyperliquid-agent-gateway

Claude Desktop / Cursor config:

{
  "mcpServers": {
    "hyperliquid": {
      "command": "uvx",
      "args": ["hyperliquid-agent-gateway"]
    }
  }
}

Hosted form, streamable HTTP on port 8903:

uvx hyperliquid-agent-gateway --http             # 127.0.0.1:8903
curl http://127.0.0.1:8903/health   # -> {"ok": true, "service": "hyperliquid-agent-gateway", ...}
[mcp_servers.hyperliquid]
command = "uvx"
args = ["hyperliquid-agent-gateway"]
# 1) start the gateway (keep it running)
uvx hyperliquid-agent-gateway --http --port 8903 &

# 2) register it (merges into ~/.zcode/cli/config.json)
python3 - <<'PY'
import json, os
p = os.path.expanduser("~/.zcode/cli/config.json")
os.makedirs(os.path.dirname(p), exist_ok=True)
cfg = json.load(open(p)) if os.path.exists(p) else {}
cfg.setdefault("mcp", {}).setdefault("servers", {})["hyperliquid"] = {
    "type": "http", "url": "http://127.0.0.1:8903/mcp"}
json.dump(cfg, open(p, "w"), indent=2)
print("hyperliquid-agent-gateway registered:", p)
PY

Tools

All 12 tools are read-only (annotated readOnlyHint: true, destructiveHint: false, openWorldHint: true).

#ToolSignatureWhat it does
1market_overviewmarket_overview(limit=20, sort="open_interest")Perp market snapshot from ONE metaAndAssetCtxs call: per-coin mark, open interest, day volume, premium, max leverage + totals. sort in {open_interest, volume, premium}.
2spot_overviewspot_overview(limit=20)Spot pairs from spotMeta + ctxs with HIP-1 to ERC-20 links; @{index} names resolved to readable token names.
3quotequote(coin)Bid/ask/mid/spread + top-of-book sizes from l2Book. mid is the book midpoint (bid+ask)/2 when both sides exist (mid_source: "book"); allMids is only a labeled fallback when the book lacks a side (mid_source: "allMids"); mid_source: null when neither knows the coin. With both sides present mid never leaves [bid, ask]. coin is the ONLY parameter (no size/limit). Unknown coin raises with 5 examples.
4order_bookorder_book(coin, depth=10)Book levels per side with nSigFigs aggregation and per-side total liquidity.
5candlescandles(coin, interval="1h", limit=100)OHLCV rows newest-first; intervals 1m/15m/1h/4h/1d/1w/1M; startTime computed from limit.
6tradestrades(coin, limit=20)Recent public fills WITH both sides' addresses (users: [maker, taker]).
7funding_historyfunding_history(coin, limit=100)Hourly funding rows + premium_now from the live asset ctx.
8liquidation_riskliquidation_risk(address)Per-account risk: margin summary, cross maintenance margin, per-position leverage + liquidationPx when published; when null, an explicitly flagged ESTIMATED distance from the maintenance-margin ratio. Mark px is resolved per coin from metaAndAssetCtxs (fallback allMids) because live positions carry no markPx - see mark_px_source on each row. Includes funding drag.
9trader_activitytrader_activity(address, limit=50)Fills PnL/fees/volume/win-rate, funding net, open positions, per-coin breakdown.
10funding_carry_screenerfunding_carry_screener(topN=10, metric="premium")Ranks ALL perps from ONE call; fundingHistory fetched only for the topN (weight economy).
11token_transferstoken_transfers(contract, limit=100, from_block=None)HyperEVM ERC-20 Transfer logs via adaptive-window eth_getLogs; rows carry from/to/value/txHash/blockNumber/ts with per-token decimals + decimals_source (static map or assumed_18).
12wallet_balancewallet_balance(address)Native (eth_getBalance) + up to 20 ERC-20s (eth_call balanceOf, resolved from spotMeta) + Hyperliquid spot balances; every row carries decimals/decimals_source.

Why a gateway and not the raw API?

api.hyperliquid.xyz/info is open and one POST away. The traps start after that:

Raw API gives youYou would have to build
two mid-price sources that disagree (allMids vs l2Book)the discipline of book-derived mids that never leave [bid, ask], with labeled fallbacks
candleSnapshot whose cache key ignores nested request paramsper-coin cache isolation (a naive first-coin key poisons every subsequent coin for the TTL)
OI in base units, funding as an hourly rateunit normalization (×price), annualized carry math, a one-call screener that fetches history only for the top-N
live positions that carry no markPxper-coin mark resolution with a mark_px_source tag on every row, plus estimated-vs-published liquidation distance flags
raw HyperEVM RPCsadaptive-window eth_getLogs, decimals resolution with decimals_source provenance

Rate limits

Two independent, locally enforced budgets protect the upstream:

/info - 1200 weight per rolling 60s (Hyperliquid's documented weight pricing), tracked per request type:

typeweight
allMids2
l2Book2
meta, metaAndAssetCtxs, spotMeta, spotMetaAndAssetCtxs20
recentTrades, clearinghouseState, userFills, userFunding, spotClearinghouseState20
fundingHistory20 base + extra per 20 items beyond the first
candleSnapshot60

When the next request would exceed the budget the client waits once (<=5s) for the window to roll, then raises a clear error naming the limit - it never sleep-blocks forever.

HyperEVM RPC - 100 requests per rolling 60s (flat 1 per request), enforced separately from /info. Over-budget calls raise immediately (rpc-limit) - tools surface an honest error dict, and wallet_balance stops its ERC-20 scan at the cap.

TTL caches also dedupe repeated calls per data type: allMids 15s, recentTrades 15s, l2Book 5s, metaAndAssetCtxs 60s, spotMeta 3600s, spotMetaAndAssetCtxs 60s, candleSnapshot 300s, fundingHistory 300s, per-address account types 60s.

Data notes

  • Every numeric from the API is a STRING upstream; the gateway parses them with a never-raising helper - null always means "not available", never zero.
  • Every upstream failure returns an error dict {"error": ..., "source": ..., "reason": ...}, never a traceback; partial data degrades field-by-field with warnings[].
  • liquidation_risk never invents a liquidation price: when the venue publishes none, liq_px stays null and the distance is an explicitly flagged estimate (formula in the tool's note). Mark px is likewise never invented: live positions carry no markPx, so it is resolved from metaAndAssetCtxs (fallback allMids) and the row's mark_px_source says which; no source -> null.
  • funding_drag / funding_net: the venue's userFunding returns only NON-ZERO funding events, so a live null/empty for a fresh or quiet address is expected behaviour, not a bug.
  • ERC-20 amounts use a static decimals map for canonical HyperEVM tokens (6 for USDC/USDT-style, 18 for PURR/HYPE); unknown tokens assume 18 and every row says decimals_source: "assumed_18" - do not trust 6dp precision for unmapped tokens.
  • Cached responses carry age_seconds / fetched_at freshness fields.

Part of the suite

Four sibling read-only MCP gateways, one style: keyless, cached, honest degradation.

GatewayFocus
dydx-agent-gatewaydYdX v4: verified trader PnL, funding/OI anomaly detectors, leaderboard
arcus-agent-gateway194 tokenized US equities on Robinhood Chain: quotes, holders, whale transfers
hyperliquid-agent-gateway (you are here)Hyperliquid: 233 perps + spot, funding carry, account risk, HyperEVM
aster-agent-gatewayAster DEX: ~580 futures incl. 24/7 TradFi perps, funding caps/floors

All four are on glama.ai and PyPI; any of them installs with uvx <name>.

License

MIT.

How do I install Hyperliquid Agent Gateway?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Hyperliquid Agent Gateway need an API key?
No required environment variable is listed on this record.
What transport does Hyperliquid Agent Gateway use?
Hyperliquid Agent Gateway runs locally over stdio.
When was Hyperliquid Agent Gateway last checked?
Last checked 2026-10-16. Read-only MCP gateway to Hyperliquid: liquidation distance, funding carry, HyperEVM flows. No keys.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA