返回市场
超流体信息-MCP

超流体信息-MCP

作者:kukapay24 星标更新:2025-05-31

项目介绍

Hyperliquid Info MCP Server

一个提供实时数据和洞察力的MCP服务器,这些数据和洞察力来自Hyperliquid永续合约DEX,可用于机器人、仪表板和分析。

GitHub License Python Version Status

特性

  • 用户数据查询

    • get_user_state: 获取用户的永续或现货市场仓位、保证金和可提取余额。
    • get_user_open_orders: 获取用户账户的所有未完成订单。
    • get_user_trade_history: 获取交易成交历史,包括符号、大小和价格等详细信息。
    • get_user_funding_history: 查询资金支付历史,支持自定义时间范围。
    • get_user_fees: 获取用户特定的费用结构(做市商/做市客费率)。
    • get_user_staking_summary & get_user_staking_rewards: 访问质押详情和奖励。
    • get_user_order_by_oid & get_user_order_by_cloid: 根据订单ID或客户端订单ID获取特定订单详情。
    • get_user_sub_accounts: 列出与主账户关联的子账户。
  • 市场数据工具

    • get_all_mids: 获取所有交易对的中间价。
    • get_l2_snapshot: 获取特定币种的二级订单簿快照。
    • get_candles_snapshot: 获取蜡烛图数据,支持自定义间隔和时间范围。
    • get_coin_funding_history: 查询特定币种的资金费率历史。
    • get_perp_dexs: 获取关于永续市场的元数据(使用meta)。
    • get_perp_metadata & get_spot_metadata: 获取永续和现货市场的详细元数据,可选资产上下文。
  • 分析提示

    • analyze_positions: 使用相关工具指导分析用户交易活动的提示。
  • ISO 8601支持:基于时间的查询(如get_candles_snapshotget_coin_funding_historyget_user_funding_history)接受ISO 8601时间字符串进行精确的数据过滤。

安装

先决条件

  • Python 3.10: Hyperliquid Python SDK 所需。
  • 有效的Hyperliquid账户地址,用于用户特定的查询。
  • uvpip 用于包管理。

步骤

  1. 克隆仓库

    git clone https://github.com/kukapay/hyperliquid-info-mcp.git
    cd hyperliquid-info-mcp
    
  2. 安装依赖项: 使用 uv:

    uv sync
    

使用

运行服务器

在开发模式下运行服务器并使用MCP Inspector:

mcp dev main.py

或者安装它以便在Claude Desktop中使用:

mcp install main.py --name "Hyperliquid Info"

示例用法

使用MCP Inspector或Claude Desktop,你可以通过自然语言提示与服务器交互。以下是如何触发analyze_positions提示和个别工具的示例。

  1. 分析交易仓位

    • 提示
      "请分析我的Hyperliquid账户0xYourAddress的交易活动。提供关于我的仓位、未完成订单和最近交易的见解。"
    • 行为
      触发analyze_positions提示,该提示使用get_user_stateget_user_open_ordersget_user_trade_historyget_user_funding_historyget_user_fees来获取数据并生成风险/表现分析。
    • 示例输出
      对于账户0xYourAddress:
      - 当前仓位:以50,000美元买入0.1 BTC,未实现损益+500美元。
      - 未完成订单:1个限价卖出订单,以52,000美元卖出0.05 BTC。
      - 最近交易:2025年5月30日以50,000美元买入0.1 BTC。
      - 资金支付:上周支付了10美元的资金费用。
      - 费用:做市商费率为0.02%,做市客费率为0.05%。
      建议:由于高杠杆,请密切监控BTC价格。
      
  2. 获取用户状态

    • 提示
      "显示我Hyperliquid账户0xYourAddress的当前状态,包括我的仓位和永续保证金详情。"
    • 行为
      调用get_user_state(account_address="0xYourAddress", check_spot=False)
    • 示例输出
      {
        "assetPositions": [
          {
            "position": {
              "coin": "BTC",
              "szi": "0.1",
              "entryPx": "50000.0",
              "markPx": "50500.0",
              "unrealizedPnl": "500.0"
            }
          }
        ],
        "marginSummary": {
          "accountValue": "10000.0",
          "totalMarginUsed": "2000.0"
        },
        "withdrawable": "8000.0"
      }
      
  3. 获取蜡烛图数据

    • 提示
      "你能获取Hyperliquid上ETH从2025年1月1日至2025年1月2日的1分钟蜡烛图数据吗?"
    • 行为
      调用get_candles_snapshot(coin_name="ETH", interval="1m", start_time="2025-01-01T00:00:00Z", end_time=" 2025-01-02T00:00:00Z")
    • 示例输出
      [
        {
          "t": 1672531200000,
          "o": "3000.0",
          "h": "3010.0",
          "l": "2995.0",
          "c": "3005.0",
          "v": "1000.0"
        },
        ...
      ]
      
  4. 检查交易历史

    • 提示
      "我的账户0xYourAddress在Hyperliquid上的最近交易是什么?"
    • 行为
      调用get_user_trade_history(account_address="0xYourAddress")
    • 示例输出
      [
        {
          "coin": "ETH",
          "px": "3000.0",
          "sz": "0.5",
          "time": 1672531200000,
          "tid": "123456"
        },
        ...
      ]
      
  5. 获取市场元数据

    • 提示
      "告诉我关于Hyperliquid上可用的永续市场,包括交易对。"
    • 行为
      调用get_perp_metadata(include_asset_ctxs=False)
    • 示例输出
      {
        "universe": [
          {
            "name": "BTC-PERP",
            "maxLeverage": 50,
            "szDecimals": 4,
            "tickSz": "0.1"
          },
          ...
        ]
      }
      

许可证

本项目根据MIT许可证授权。