永续交易协议服务器

Hyperliquid MCP服务器是一个基于Python SDK的永续交易协议服务器,为AI助手提供安全可靠的Hyperliquid交易平台访问。

  • by edkdev
  • Python
  • 本地部署
  • 24 星标
  • 更新于
在 GitHub 查看 edkdev/hyperliquid-mcp

使用说明

超液体MCP服务器

使用官方Python SDK的超液体永久交易模型上下文协议(MCP)服务器。该服务器为AI助手提供了对Hyperliquit交易平台的安全可靠访问。

特性

✅ 官方SDK -基于官方Hyperliquit Python SDK构建,并具有适当的签名
✅ 全覆盖 -所有交易端点:订单、头寸、市场数据、保险库
✅ 安全 -具有代理模式支持的正确EIP-712签名
✅ 支架订单 -原子输入+TP+SL下订单
✅ 市场数据 -实时价格、订单簿、融资率、蜡烛
✅ 账户管理 -头寸、余额、填补、资金历史
✅ 测试网支持 -上线前安全测试策略

先决条件

  • Python 3.10或更高版本
  • 紫外线 或 uvx 用于包管理
  • 一个有存款的超流账户

安装

使用uvx(推荐)

# Install and run directly from PyPI
uvx --from mcp-hyperliquid hyperliquid-mcp

使用pip

# Install with pip
pip install mcp-hyperliquid

# Run
mcp-hyperliquid

地方发展

# Clone and install from source
git clone https://github.com/edkdev/hyperliquid-mcp.git
cd hyperliquid-mcp
uv sync

# Run locally
uv run python -m hyperliquid_mcp.server

本地开发配置

如果您在本地从源代码运行,请使用以下配置:

{
  "mcpServers": {
    "hyperliquid": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/hyperliquid-mcp",
        "run",
        "python",
        "-m",
        "hyperliquid_mcp.server"
      ],
      "env": {
        "HYPERLIQUID_PRIVATE_KEY": "0x1234567890abcdef...",
        "HYPERLIQUID_TESTNET": "false"
      }
    }
  }
}

替换 /path/to/hyperliquid-mcp 使用克隆存储库的实际路径。

配置

1.在Hyperliquit上注册您的钱包

重要: 交易前,您的钱包必须在Hyperliquit上注册。

主网:

  1. 首选https://app.hyperliquid.xyz
  2. 连接您的钱包
  3. 从Arbitrum One存款(任何金额都可以注册您的钱包)

测试网:

  1. 首选https://app.hyperliquid-testnet.xyz
  2. 连接您的钱包
  3. 从水龙头或网桥获取测试网资金

2.配置您的MCP客户端

环境变量现在直接在MCP客户端设置中配置(否 .env 需要文件)。

克劳德桌面/Kiro

添加到您的 mcp.json 配置文件:

{
  "mcpServers": {
    "hyperliquid": {
      "command": "uvx",
      "args": ["--from", "mcp-hyperliquid", "hyperliquid-mcp"],
      "env": {
        "HYPERLIQUID_PRIVATE_KEY": "0x1234567890abcdef...",
        "HYPERLIQUID_TESTNET": "false"
      }
    }
  }
}

所需的环境变量:

  • HYPERLIQUID_PRIVATE_KEY -用于签署交易的钱包私钥

可选环境变量:

  • HYPERLIQUID_ACCOUNT_ADDRESS -用于代理/API钱包模式(高级)
  • HYPERLIQUID_TESTNET -对于测试网络设置为“true”,对于主网设置为“false”或省略
  • HYPERLIQUID_VAULT_ADDRESS -用于保险库交易

完整配置示例

{
  "mcpServers": {
    "hyperliquid": {
      "command": "uvx",
      "args": ["--from", "mcp-hyperliquid", "hyperliquid-mcp"],
      "env": {
        "HYPERLIQUID_PRIVATE_KEY": "0x1234567890abcdef...",
        "HYPERLIQUID_ACCOUNT_ADDRESS": "0xYourTradingAccountAddress...",
        "HYPERLIQUID_TESTNET": "false",
        "HYPERLIQUID_VAULT_ADDRESS": "0xVaultAddress..."
      }
    }
  }
}

其他MCP客户端

根据客户的文档进行配置,使用:

  • 命令: uvx 或 python
  • Args: ["--from", "mcp-hyperliquid", "hyperliquid-mcp"] 或 ["-m", "hyperliquid_mcp.server"]
  • 环境: 在客户端的env配置中添加所需的环境变量

可用工具

账户与职位管理

  • hyperliquid_get_account_info -获取完整的帐户摘要
  • hyperliquid_get_positions -获取所有空缺职位
  • hyperliquid_get_balance -获取账户余额和可提取金额

订单管理

  • hyperliquid_place_order -下单
  • hyperliquid_place_bracket_order -以原子方式放置条目+TP+SL
  • hyperliquid_cancel_order -取消特定订单
  • hyperliquid_cancel_all_orders -取消所有未结订单
  • hyperliquid_modify_order -修改现有订单
  • hyperliquid_place_twap_order -下TWAP订单(即将推出)
  • hyperliquid_cancel_twap_order -取消TWAP订单(即将推出)

订单查询

  • hyperliquid_get_open_orders -获取所有未结订单
  • hyperliquid_get_order_status -获取特定订单的状态
  • hyperliquid_get_user_fills -获取交易填充历史记录
  • hyperliquid_get_user_funding -获取资金支付历史记录

市场数据

  • hyperliquid_get_meta -获取交换元数据(资产、杠杆等)
  • hyperliquid_get_all_mids -获取所有资产的当前中间价格
  • hyperliquid_get_order_book -获取订单簿深度
  • hyperliquid_get_recent_trades -获取最近的交易
  • hyperliquid_get_historical_funding -获取融资率历史记录
  • hyperliquid_get_candles -获取OHLCV蜡烛数据

保险库管理

  • hyperliquid_vault_details -获取保险库详细信息
  • hyperliquid_vault_performance -获取vault性能指标

效用

  • hyperliquid_get_server_time -获取服务器时间戳

使用示例

示例1:检查账户余额

Show me my Hyperliquid account balance

AI将呼叫 hyperliquid_get_balance 并向您展示:

  • 账户价值
  • 已使用保证金
  • 可提取金额
  • 可用余额

示例2:获取市场数据

What's the current price of SOL on Hyperliquid? Show me the order book too.

AI将:

  1. 呼叫 hyperliquid_get_meta 查找SOL指数
  2. 呼叫 hyperliquid_get_all_mids 按当前价格
  3. 呼叫 hyperliquid_get_order_book 深度

示例3:下括号订单

Place a bracket order on Hyperliquid:
- Pair: SOL-USD
- Side: BUY (LONG)
- Size: 4.12 SOL (~$900)
- Entry: $218.00
- Target: $219.50 (+0.7%)
- Stop Loss: $216.80 (-0.8%)

AI将:

  1. 呼叫 hyperliquid_get_meta 获取SOL的资产指数(5)
  2. 呼叫 hyperliquid_place_bracket_order 与:
    • 资产:5
    • isBuy:正确
    • 尺寸:“4.12”
    • 入口价格:“218.00”
    • 获取利润价格:“219.50”
    • 止损价格:“216.80”

这会自动下3个订单:

  • 入场订单价格为218.00美元
  • 获利触发点为219.50美元(仅减少)
  • 止损触发价为216.80美元(仅减少)

示例4:检查位置并关闭

Show me my open positions. If I have a SOL position, close it at market price.

AI将:

  1. 呼叫 hyperliquid_get_positions
  2. 如果SOL职位存在,请致电 hyperliquid_place_order 与:
    • 对方(多头卖出,空头买入)
    • 市价单(价格=“0”)
    • 仅启用Reduce

示例5:查看最近的交易活动

Show me my last 50 trades from the past 24 hours

AI将:

  1. 计算时间戳(现在-24h到现在)
  2. 呼叫 hyperliquid_get_user_fills 随时间范围
  3. 格式化并显示结果

资产指数参考

使用 hyperliquid_get_meta 获取完整列表。共同资产:

|指数|资产|指数|资产| | ----- | ----- | ----- | ----- | ----- | ----- | |0|BTC|1|ETH|5|SOL| |10 | LTC | 11 | ARB | 14 | SUI| |18|链接|25|XRP|27|APT|

订单类型

限价订单(有效期至取消)

order_type = {"limit": {"tif": "Gtc"}}

市价单(立即或取消)

price = "0"  # Setting price to 0 makes it a market order
order_type = {"limit": {"tif": "Ioc"}}

触发订单(止损/止盈)

order_type = {
    "trigger": {
        "triggerPx": "100.5",  # Trigger price
        "isMarket": False,      # False for limit, True for market
        "tpsl": "tp"            # "tp" for take profit, "sl" for stop loss
    }
}

错误处理

“用户或API钱包不存在”

问题: 您的钱包未在Hyperliquit上注册。

解决方案:

  1. 转到app.hyperliquid.xyz(或测试网URL)
  2. 连接您的钱包
  3. 从Arbitrum存入任何金额
  4. 这会注册您的钱包

“订单价值必须至少为$10”

问题: 你的订单太小了。

解决方案: 确保 size * price >= $10

例子:

  • 200美元的SOL:至少需要0.05 SOL
  • 50000美元的BTC:至少需要0.0002 BTC

“签名无效”

问题: 私钥不匹配或签名错误。

解决方案:

  1. 检查您的HYPERLIQUID_PRIVATE_KEY是否正确
  2. 确保它与您注册的钱包地址匹配
  3. 如果使用代理模式,请验证HYPERLIQUID_ACCOUNT_ADDRESS

代理模式(高级)

代理模式允许API钱包为不同的交易账户签署交易。

使用案例: 确保您的主账户安全,同时允许API钱包进行交易。

设置:

HYPERLIQUID_PRIVATE_KEY=0xApiWalletPrivateKey...
HYPERLIQUID_ACCOUNT_ADDRESS=0xMainTradingAccountAddress...

要求:

  1. 两个钱包都必须在Hyperliquit上注册
  2. 主账户必须批准API钱包作为代理
  3. 使用 approve_agent 首先通过Hyperliquit UI执行操作

安全最佳实践

  1. 从不提交私钥 -始终使用环境变量
  2. 先使用测试网 -上线前的测试策略
  3. 设置止损 -使用括号顺序进行风险管理
  4. 监视器位置 -定期检查您的帐户
  5. 使用代理模式 -对于生产,保持主账户密钥离线
  6. 从小事做起 -先用最小订单量进行测试

故障排除

服务器无法启动

# Check Python version
python --version  # Should be 3.10+

# Check dependencies
uv sync

# Check environment variables
cat .env

# Run with debug logging
HYPERLIQUID_LOG_LEVEL=DEBUG uvx --from mcp-hyperliquid hyperliquid-mcp

未下单

  1. 检查钱包是否已注册(请参阅错误处理)
  2. 验证订单大小是否满足最低10美元
  3. 检查您是否有足够的余额
  4. 确保资产指数正确(使用 get_meta)

找不到资产

Use the hyperliquid_get_meta tool to get all asset indices

AI将向您展示可交易资产及其指数的完整列表。

发展

地方发展

# Clone the repository
git clone https://github.com/edkdev/hyperliquid-mcp.git
cd hyperliquid-mcp

# Install dependencies
uv sync

# Run locally
uv run python -m hyperliquid_mcp.server

# Run tests (when available)
uv run pytest

编码结构

hyperliquid-mcp/
├── src/
│   └── hyperliquid_mcp/
│       ├── __init__.py
│       └── server.py          # Main MCP server implementation
├── pyproject.toml             # Project configuration
├── README.md                  # This file
└── .env.example              # Environment template

加入我们的社区

  • 电报集团 -获得帮助,分享策略,并与其他交易者联系

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

资源

支持

  • 问题: 在GitHub上打开一个问题
  • 超液体支持: https://hyperliquid.gitbook.io/hyperliquid-docs/help/support
  • MCP文件: https://modelcontextprotocol.io/

免责声明

本软件按“原样”提供,不提供保修。交易加密货币具有重大风险。只有用你能承受损失的资金进行交易。作者不对任何交易损失负责。


交易愉快! 🚀