mcpField
H
Hyperliquid Agent Gateway

Hyperliquid Agent Gateway

本地服务
github.com/alekskram金融数据15 周前更新

关于 Hyperliquid Agent Gateway

Hyperliquid Agent Gateway 是面向 Agent 的只读 MCP 服务,汇总 Hyperliquid 市场、账户与 HyperEVM 数据。无需密钥或签名,并通过缓存、限流和明确标注估算值处理数据。

主要功能

  1. 01永续与现货市场概览
  2. 02报价、订单簿、K 线与成交数据
  3. 03资金费率历史与套利筛选
  4. 04账户清算风险及交易活动分析
  5. 05HyperEVM 代币转账与余额查询
  6. 06缓存、限流及数据来源标注

适用场景

  1. 01查看市场报价与成交动态
  2. 02筛选资金费率机会并观察历史
  3. 03评估账户仓位的清算距离
  4. 04追踪地址交易活动与链上代币流

MCP 相关

作为只读 MCP 服务,向客户端提供 12 项 Hyperliquid 市场、账户和 HyperEVM 查询工具。支持本地 stdio 与 Streamable HTTP 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"alekskram-hyperliquid-agent-gateway": {
"command": "uvx",
"args": [
"hyperliquid-agent-gateway"
]
}
}
}
启动命令uvx hyperliquid-agent-gateway

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypihyperliquid-agent-gateway0.1.3

工具

12

收录的工具列表 · 更新于 2 周前

参数类型必填说明
sortstring否
limitinteger否

详细介绍

hyperliquid-agent-gateway

CI PyPI PyPI downloads MCP Catalog License: MIT Python 3.11+

Hyperliquid 为你提供约 233 个永续合约、326 个现货交易对,以及一整条 EVM 链,所有数据都可通过公共端点读取。这个 MCP 服务负责为你的 Agent 获取这些数据:市场和资金费率数据、账户风险、交易者活动、HyperEVM(链 999)代币转账。无需密钥、无需签名、不会写入;所有请求都通过 api.hyperliquid.xyz/info 和 rpc.hyperliquid.xyz/evm 发送,并经过缓存和速率限制,避免过于热情的 Agent 向上游发起过多请求。

使用场景

清算工具是大家最常用的功能。输入任意地址,即可获得保证金摘要、各持仓杠杆,以及距离清算的幅度;如果平台公布了 liquidationPx,就会返回真实数值并明确标注;如果没有公布,则会返回估算值并注明是估算结果。我们曾在一个名义价值 2.09 亿美元、杠杆 25 倍的空头仓位上测试,当时该仓位距离清算仅有 17.6%。

资金费率:funding_carry_screener 通过一次调用为全部 233 个永续合约排名,然后只为排名靠前的少数合约获取 168 小时的历史数据,因为 API 的权重额度(每分钟 1200)会惩罚不加节制的请求。你可以据此判断某个费率是短暂飙升还是长期趋势。

HyperEVM 转账可将链上资金流与永续合约市场联系起来;quote 返回基于订单簿计算、始终位于 [bid, ask] 之间的中间价;trader_activity 则会分析任意地址的成交、费用、胜率、资金费率拖累和未平仓头寸。

完整操作指南:examples/use-cases.md。

快速开始

Claude Code:

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

stdio(默认,用于本地 Agent):

uvx hyperliquid-agent-gateway

或者从代码库检出版本运行:

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

Claude Desktop / Cursor 配置:

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

托管模式,使用端口 8903 上的可流式 HTTP:

uvx hyperliquid-agent-gateway --http             # 127.0.0.1:8903
curl http://127.0.0.1:8903/health   # -> {"ok": true, "service": "hyperliquid-agent-gateway", ...}
Codex(~/.codex/config.toml)
[mcp_servers.hyperliquid]
command = "uvx"
args = ["hyperliquid-agent-gateway"]
ZCode:注册服务(复制粘贴)
# 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
## 工具

所有 12 个工具均为只读(标注为 readOnlyHint: true, destructiveHint: false, openWorldHint: true)。

#工具签名功能
1market_overviewmarket_overview(limit=20, sort="open_interest")通过一次 metaAndAssetCtxs 调用获取永续市场快照:每种币的标记价格、未平仓合约量、日交易量、溢价、最大杠杆及汇总数据。sort 可选值为 {open_interest, volume, premium}。
2spot_overviewspot_overview(limit=20)通过 spotMeta + ctxs 获取现货交易对,并提供 HIP-1 到 ERC-20 的链接;将 @{index} 名称解析为易读的代币名称。
3quotequote(coin)从 l2Book 获取买价/卖价/中间价/价差 + 最优档位数量。如果买卖双方报价都存在,mid 为盘口中间价 (bid+ask)/2(mid_source: "book");只有当盘口缺少一侧时,allMids 才作为带标签的回退值(mid_source: "allMids");两者都无法识别该币时,mid_source: null。买卖双方报价都存在时,mid 始终处于 [bid, ask] 范围内。coin 是唯一参数(没有 size/limit)。未知币种会报错并提供 5 个示例。
4order_bookorder_book(coin, depth=10)按方向提供盘口档位,使用 nSigFigs 聚合,并提供每侧的总流动性。
5candlescandles(coin, interval="1h", limit=100)按时间从新到旧排列的 OHLCV 行;间隔为 1m/15m/1h/4h/1d/1w/1M;根据 limit 计算 startTime。
6tradestrades(coin, limit=20)最近的公开成交记录,包含双方地址(users: [maker, taker])。
7funding_historyfunding_history(coin, limit=100)每小时资金费率记录 + 来自实时资产 ctx 的 premium_now。
8liquidation_riskliquidation_risk(address)账户级风险:保证金摘要、全仓维持保证金、每个仓位的杠杆 + 已发布时的 liquidationPx;若为 null,则根据维持保证金比率明确标记估算距离。由于实时仓位不含 markPx,因此通过 metaAndAssetCtxs 按币种解析标记价格(回退至 allMids)——请参阅每行的 mark_px_source。包含资金费率拖累。
9trader_activitytrader_activity(address, limit=50)成交盈亏/费用/交易量/胜率、资金费净额、未平仓仓位及按币种细分数据。
10funding_carry_screenerfunding_carry_screener(topN=10, metric="premium")通过一次调用对所有永续合约进行排名;仅为前 topN 个获取 fundingHistory(节省权重)。
11token_transferstoken_transfers(contract, limit=100, from_block=None)通过自适应窗口 eth_getLogs 获取 HyperEVM ERC-20 Transfer 日志;各行包含 from/to/value/txHash/blockNumber/ts,以及每个代币的 decimals + decimals_source(静态映射或 assumed_18)。
12wallet_balancewallet_balance(address)原生余额(eth_getBalance)+ 最多 20 种 ERC-20 余额(eth_call balanceOf,从 spotMeta 解析)+ Hyperliquid 现货余额;每行均包含 decimals/decimals_source。

为什么使用网关,而不是原始 API?

api.hyperliquid.xyz/info 是开放的,只需一次 POST 即可访问。真正的陷阱在后面:

原始 API 提供你需要自行构建
两个相互矛盾的中间价来源(allMids 与 l2Book)采用盘口推导的中间价,确保其始终处于 [bid, ask] 范围内,并为回退值添加标签
candleSnapshot 的缓存键忽略嵌套请求参数按币种隔离缓存(简单地使用首个币种作为键会污染 TTL 内后续所有币种的缓存)
以基础单位表示的 OI、以每小时利率表示的资金费率单位标准化(×价格)、年化持有收益计算,以及仅为排名前 N 名获取历史记录的一次调用筛选器
不含 markPx 的实时仓位按币种解析标记价格,为每行添加 mark_px_source 标签,并标记清算距离是估算值还是已发布值
原始 HyperEVM RPC自适应窗口 eth_getLogs,以及带有 decimals_source 来源信息的精度解析

速率限制

两个相互独立、在本地执行的预算用于保护上游:

/info - 每滚动 60s 1200 权重(Hyperliquid 记录的权重定价),按请求类型跟踪:

类型权重
allMids2
l2Book2
meta、metaAndAssetCtxs、spotMeta、spotMetaAndAssetCtxs20
recentTrades、clearinghouseState、userFills、userFunding、spotClearinghouseState20
fundingHistory基础权重 20 + 每超过前 20 项的额外权重
candleSnapshot60

当下一个请求将超出预算时,客户端会等待一次(<=5s),让时间窗口滚动,然后抛出明确指出限制的错误——绝不会无限期阻塞休眠。

HyperEVM RPC - 每滚动 60s 100 个请求(每个请求固定计为 1),独立于 /info 执行限制。超出预算的调用会立即报错(rpc-limit)——工具会返回如实的错误字典,而 wallet_balance 会在达到上限时停止扫描 ERC-20。

TTL 缓存还会按数据类型去重重复调用:allMids 15s、recentTrades 15s、l2Book 5s、metaAndAssetCtxs 60s、spotMeta 3600s、spotMetaAndAssetCtxs 60s、candleSnapshot 300s、fundingHistory 300s、按地址区分的账户类型 60s。

数据说明

  • API 返回的所有数值在上游均为字符串;网关使用不会抛出异常的辅助函数解析——null 始终表示“不可用”,绝不表示零。
  • 所有上游故障都会返回错误字典 {"error": ..., "source": ..., "reason": ...},绝不返回回溯信息;部分数据会按字段降级,并附带 warnings[]。
  • liquidation_risk 绝不会凭空编造清算价格:当平台未提供清算价格时,liq_px 会保持为 null,距离则是明确标记的估算值(公式见工具说明)。同样不会凭空编造标记价格:实时持仓不包含 markPx,因此会从 metaAndAssetCtxs(回退至 allMids)解析,且行中的 mark_px_source 会注明来源;没有来源时为 null。
  • funding_drag / funding_net:平台的 userFunding 仅返回非零资金费事件,因此对于新地址或近期无活动的地址,实时返回 null / 空值属于预期行为,并非错误。
  • ERC-20 数量使用适用于标准 HyperEVM 代币的静态小数位映射(USDC/USDT 类为 6,PURR/HYPE 为 18);未知代币默认按 18 位处理,且每行都会注明 decimals_source: "assumed_18"——对于未映射的代币,不要相信 6 位小数精度。
  • 缓存的响应会携带 age_seconds / fetched_at 新鲜度字段。

套件中的其他项目

四个同系列的只读 MCP 网关:无需密钥、带缓存、如实降级。

网关重点
dydx-agent-gatewaydYdX v4:经验证的交易者 PnL、资金费 / OI 异常检测器、排行榜
arcus-agent-gatewayRobinhood Chain 上的 194 种代币化美国股票:报价、持有者、大额转账
hyperliquid-agent-gateway(你正在查看)Hyperliquid:233 种永续合约 + 现货、资金费套利、账户风险、HyperEVM
aster-agent-gatewayAster DEX:约 580 种期货合约,包括 24/7 TradFi 永续合约、资金费率上限 / 下限

这四个项目都已上架 glama.ai 和 PyPI;任何一个都可通过 uvx <name> 安装。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。