hyperevm-mcp 是一个只读 MCP 服务器,面向 Hyperliquid / HyperEVM 生态系统,用于查询收益、协议、费用、市场、资金费率和订单簿深度。它的核心安全模型是:代码中没有可以填写私钥的地方——没有写入路径,也不存在签名或发送交易的代码。服务器不读取任何环境变量,因此没有可泄露的配置;不触碰文件系统、不启动进程、不发送遥测数据。它与且仅与四个硬编码在 src/core/http.ts 中的主机通信:api.hyperliquid.xyz、api.llama.fi、yields.llama.fi、rpc.hyperliquid.xyz。任何工具都不接受 URL、主机或链作为参数。
用途与主要能力
用户可以用自然语言向 AI 助手询问 Hyperliquid 生态的问题。资料中给出的示例问题包括:现在最好的 HYPE 收益是什么、比较 HyperEVM 上的借贷利率、哪些 HYPE 池只是代币排放而哪些真正产生收益、那个 40% APY 是否维持住了还是正在衰减、BTC 资金费率是稳定的还是只持续了一小时、谁在这条链上赚取最多费用、我能否真的从 50 万美元的 HYPE 中退出、哪些协议本周增长了、介绍 HyperLend、这个钱包里有什么(0x…)、应该在哪里质押 HYPE 以及佣金成本是多少。
服务器提供九个工具。五个报告当前状态,三个报告历史演变,一个读取地址。资料说明,工具成对设计是有意为之:hyperevm_yields 和 hl_market 告诉用户一个数字现在是什么;hyperevm_pool_history 和 hl_funding 告诉用户是否应该相信它。一个 47% 的池子如果一个月来 100% 都是排放,和一个 20% 的池子产生真实费用,不是同一种产品,只有第二对工具才能区分它们。
服务器还提供 MCP 提示词,在 Claude Code 中显示为斜杠命令。
关键数据细节
借贷利率不在其表面所在的位置。DefiLlama 的 /pools 对抵押品市场报告 0.00%——这是真实的,因为其供应利率确实为零。利率位于第二个端点 /lendBorrow,通过池 ID 连接。一个简单的集成会在一个 2.39 亿美元的市场之上打印一张零表。本服务器将它们连接起来,并分别显示供应、借贷和利用率。
缺失数据被显示为缺失。stHYPE(1.72 亿美元)和 beHYPE 在 DefiLlama 上没有发布收益池,因此它们的 APY 显示为 n/a,旁边是真实 TVL,上方打印网络质押 APR 作为参考。用一个零来代表“未知”将是这个工具能打印的最昂贵的东西。
排放不是收益。按标题 APY 排名最高的池子往往完全用其自己的代币支付。表格在 APY 旁边带有一个 Base 列,因此 48.86% / base 0.00% 会被读作它本来的样子,并且有一条注释标出该数字大部分为排放的行。7d 列显示相同事物随时间的变化:该池子的 APY 在一周内下降了 30 个百分点。HLP 行显示了同样的规则两次。HLP 在 DefiLlama 上完全没有池子,因此仅从该来源构建的表格会静默地省略链上最大的单一存款场所——它是从 Hyperliquid 读取的。Hyperliquid 自己为其显示的 APR 字段未被展示,因为同一个值作为年利率和作为日利率含义相差 365 倍,而金库的历史记录无法确定是哪一种。展示的是每个窗口的实现盈亏,在这里相除,算术是我们能为之辩护的。
第三方文本与提示注入
该服务器是只读的,无法采取行动。但它会把陌生人写的文本带入代理的上下文,与代理能做的其他事情(钱包、shell)放在一起。Hyperliquid 上的验证者名称是由运行验证者的人自由设置的文本;DefiLlama 协议名称来自拉取请求。因此文本被视为敌对的,分三层处理。
- 不需要的字段永远不会被读取。description——验证者上 445 个字符的自由文本,DefiLlama 协议上 599 个——在代码中任何地方都不被解析。如果这一点改变,审计会使构建失败。
- 允许列表,而非阻止列表。打印的所有内容都通过一个过滤器,该过滤器保留字母、数字、货币符号和一小段标点,丢弃其他所有内容。不是要捕获的不良序列列表——而是可以通过的列表。因此 <|im_start|>、[INST]、###、{{、反引号和表格竖线无法存活,因为构建它们的字符不在列表上。输入先经过 NFKC 规范化,因此全角形似字符在过滤器之前而非之后折叠为 ASCII。
- 类型系统,而非纪律。经过清理的文本有其自己的类型。渲染器不接受其他任何东西,因此打印原始上游字段是编译错误,而不是代码审查的遗漏。只有一个地方可以从纯字符串创建该类型,如果出现第二个,审计会使构建失败。
一个测试将受污染的上游响应——聊天模板标记、javascript: URL、注入指令、slug 中的围栏——送入真实工具,并断言其中没有任何内容以能起作用的任何形式到达输出。
这不能做什么:它无法阻止纯英文。一个名为“ignore previous instructions”的验证者仍然读作那些词。对此的答案是字段白名单、24 字符上限,以及该服务器没有暴露任何动作供这样的句子触发——而不是更聪明的过滤器。任何声称过滤器能解决提示注入的人都是在推销东西。细节在 SECURITY.md 中。
使用方式
在 Cursor、Claude Desktop 或任何 MCP 客户端中,添加到配置文件即可。资料称“这就是全部设置。之后无需填写任何内容——没有需要认证的账户。”
运行要求 Node 20 或更高版本。两个直接依赖:@modelcontextprotocol/sdk 和 zod。(SDK 自带其依赖树,就像每个 MCP 服务器一样;其上没有添加其他内容。)
适用场景
适合希望用自然语言了解 Hyperliquid / HyperEVM 生态收益、协议、费用、市场、资金费率和订单簿深度的用户,以及在安装前希望审阅代码的安全意识强的用户。整个服务器是几千行 TypeScript,旨在被安装前阅读。单元测试覆盖决定读者所见的各个部分:"unknown" 渲染为 n/a 而绝不渲染为 0,百分点和百分比保持不同单位,单元格无法伪造表格列,刷新失败时提供上一个答案并说明。
限制与免责声明
服务器是只读的,无法移动资金——会签名交易的代码不在这个包中。npm run audit 会针对源码检查上述每一行,如果有一条不再成立就以非零退出,并在发布前于 CI 中运行;添加 fs 导入或第二个网络主机会使构建失败,而不是到达用户。
这是非官方和社区构建的。与 Hyperliquid 或所列举的任何协议无关联。数据来自公共 API,可能延迟或错误;DefiLlama 约每 30 分钟刷新一次。当刷新失败时,会提供上一个答案,并带有可见的 "REFRESH FAILED, this is N min old" 标签,而不是错误——旧数据有用,假装新鲜的旧数据则不然。不构成财务建议。