mcpField
H

Hyperliquid Trader Mcp

远程服务
github.com/patricleehua金融数据251 周前更新
代码仓库

关于 Hyperliquid Trader Mcp

基于 Hyperliquid Python SDK 封装的交易工具链,面向需要通过 MCP 操作 Hyperliquid 的模型和客户端。提供行情、订单、持仓及余额相关工具,现货下单尚未实现。

主要功能

  1. 01查询最新标记价格
  2. 02提交市价和限价单
  3. 03取消订单
  4. 04查询持仓与余额
  5. 05支持 HTTP、SSE 和标准输入输出传输

适用场景

  1. 01查看指定交易品种的标记价格
  2. 02提交或取消合约订单
  3. 03检查账户持仓和余额
  4. 04通过 HTTP 或 SSE 接入 MCP 主机

MCP 相关

该 MCP 服务向客户端暴露 Hyperliquid 行情及交易工具,可通过标准输入输出、Streamable HTTP 或 SSE 连接。现货下单入口尚未实现。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://0.0.0.0:9000/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

中文🇨🇳

Hyperliquid MCP Trader

基于 Model Context Protocol (MCP) 构建的交易工具链。
它封装了常用的 Hyperliquid Python SDK 端点,并将其公开为 MCP 工具:

  • get_mark_price(symbol):获取最新标记价格
  • place_omarket/limit(symbol, side, qty, price, tif):下达市价单或限价单
  • place_spot_market/limit(...):现货交易入口(当前 Hyperliquid SDK 尚未实现;调用时会引发 NotImplementedError)
  • cancel_order(order_id):根据 ID 撤销订单
  • get_positions(dex):返回当前持仓(dex 可以为空、perp 或 spot)
  • get_balances(dex):返回余额和保证金摘要(dex 选项同上)

1. 环境配置

  1. 安装 uv(运行 pip install uv 或参阅上游指南)。
  2. 在项目根目录创建虚拟环境并同步依赖:
    uv venv
    uv sync
    

    更喜欢手动安装?运行 uv pip install -r requirements.txt。

  3. 将 .env.example 复制为 .env(或手动导出变量),并填写真实凭据:
    cp .env.example .env
    # Edit .env:
    # HL_ACCOUNT_ADDRESS=0xYourMainWalletAddress
    # HL_SECRET_KEY=0xYourApiWalletPrivateKey
    # HL_NETWORK=testnet  # or mainnet
    

**安全提示:**使用 Hyperliquid 的 API 钱包(仅限交易权限),切勿提交真实私钥。
可选变量:HL_API_BASE_URL(自定义端点)、HL_SKIP_WS(设为 true 可跳过 WebSocket)、MCP_AUTH_HEADER_VALUE(必须出现在 Authorization 标头中的共享密钥)、MCP_AUTH_HEADER_NAME(覆盖标头名称;默认为 Authorization)。

2. 运行 MCP 服务

uv run --env-file .env python -m app.mcp_server

.env 文件是可选的。如果该文件存在,加载器会自动读取;但你也可以完全省略 --env-file 标志,改用环境变量提供凭据:

HL_ACCOUNT_ADDRESS=0xYourMainWalletAddress \
HL_SECRET_KEY=0xYourApiWalletPrivateKey \
HL_NETWORK=testnet \
uv run python -m app.mcp_server --transport streamable-http --host 0.0.0.0 --port 9000

典型的 MCP 主机配置项(伪 JSON):

Cherry Studio

{
  "mcpServers": {
    "hyperliquid-trading": {
      "isActive": true,
      "name": "hyperliquid-trading",
      "type": "streamableHttp",
      "description": "hyperliquid-trading",
      "baseUrl": " http://0.0.0.0:9000/mcp",
      "headers": {
        "Authorization": "Bearer your-shared-secret"
      }
    }
  }
}

默认情况下,服务通过 stdin/stdout 通信,非常适合本地开发。
若要接入 MCP 主机(例如 Claude Desktop、OpenAI Agents),请在主机配置中注册相同的命令。
或者手动激活 .venv 并运行 python -m app.mcp_server。

若要通过 HTTP 或 SSE 托管,请指定传输方式和网络参数:

# Streamable HTTP (defaults to 127.0.0.1:8000/mcp)
uv run python -m app.mcp_server --transport streamable-http --host 0.0.0.0 --port 9000

# SSE (works with OpenAI Agents, default mount path /sse)
uv run python -m app.mcp_server --transport sse

也支持使用环境变量:MCP_TRANSPORT=streamable-http、FASTMCP_HOST、FASTMCP_PORT 等。

设置 MCP_AUTH_HEADER_VALUE 后,每个 HTTP/SSE 请求都必须包含配置的标头/值对(默认值为 Authorization:Bearer <value>);留空则会停用检查。

请求标头验证
  1. 设置共享密钥:export MCP_AUTH_HEADER_VALUE=super-secret-token。
  2. (可选)覆盖标头名称:export MCP_AUTH_HEADER_NAME=X-Custom-Auth。
  3. 重启服务。任何未提供该标头的 HTTP/SSE 请求都会收到 403 Missing or invalid request header。

Streamable HTTP 调用示例:

curl -H "Authorization: super-secret-token" \
     -H "Content-Type: application/json" \
     -d '{"method":"list_tools","params":{}}' \
     http://127.0.0.1:8000/mcp

若要在本地测试时停用防护,请清空 MCP_AUTH_HEADER_VALUE(或取消设置)。

Docker 部署

选项 A – 本地构建

docker build -t hl-mcp .
docker run --rm \
  -e HL_ACCOUNT_ADDRESS=0xYourMainWalletAddress \
  -e HL_SECRET_KEY=0xYourApiWalletPrivateKey \
  -e HL_NETWORK=testnet \
  -e MCP_AUTH_HEADER_VALUE=super-secret-token \
  -p 9000:9000 \
  hl-mcp

选项 B – 拉取预构建镜像

docker pull patricleee/hyperliquid-trading-mcp:1.0.0
docker run --rm \
  -e HL_ACCOUNT_ADDRESS=0xYourMainWalletAddress \
  -e HL_SECRET_KEY=0xYourApiWalletPrivateKey \
  -e HL_NETWORK=testnet \
  -e MCP_AUTH_HEADER_VALUE=super-secret-token \
  -p 9000:9000 \
  patricleee/hyperliquid-trading-mcp:1.0.0

选项 C – Docker Compose

项目根目录中包含可直接使用的 docker-compose.yml。填写 .env(使用通常的相同键),然后启动:

cp .env.example .env  # edit the values first
docker compose -f docker-compose.yml up -d

3. 故障排除

  • 确保 HL_ACCOUNT_ADDRESS 和 HL_SECRET_KEY 与所选网络(HL_NETWORK)相匹配。
  • 遇到速率限制(429)或超时时,请在 HLClient 中添加重试/限流逻辑。
  • 始终先在测试网上测试;只有在验证工作流后才切换到主网。

本项目结构参考了 Hyperliquid 官方/社区 SDK 示例以及 MCP Python SDK 文档中的模式。

HyperLiquid DEX

什么是 Model Context Protocol (MCP)?

评论

支持 Markdown

第一次接触 MCP?

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

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