Model Context Protocol server for Hyperliquid trading using the official Python SDK
Server has 16 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (get_, place_, cancel_, etc.). Descriptions are present but brief (avg ~60 chars, below the 194-char baseline). Parameters have types and descriptions. Critical gaps: no output schemas documented, no error handling guidance, no parameter constraints (enums for order_type, interval), no pagination for list-like tools (get_fills, get_candles), and no idempotency/confirmation patterns for destructive WRITE tools. Security concern: private key loaded from environment without explicit secret-injection pattern documentation.
Cancel all open orders on Hyperliquid
Cancel a specific order on Hyperliquid
Get list of all available coins on Hyperliquid
Get account balances and margin information
Get OHLCV candle data for a coin
Get recent fills/trades for the account
Get metadata about available coins and trading pairs
Output schemas not documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
WRITE tools (place_order, modify_order, cancel_order, etc.) lack confirmation/dry-run patterns and error recovery guidance. Agents cannot distinguish timeout (order may have executed) from actual failure.
Parameter constraints missing: order_type should be enum ['Limit', 'Market']; interval should be enum ['1m', '5m', '1h', '1d']; leverage should have min/max bounds. Free-form strings invite hallucinated values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
Get all open orders for the account
Get the current order book for a coin
Get all open positions for the account
Get ticker information for a coin
Get the current user state including positions, balances, and orders
Modify an existing order on Hyperliquid
Place a bracket order (entry with take-profit and stop-loss) on Hyperliquid
Place a new order on Hyperliquid
Update leverage for a coin on Hyperliquid
List-like tools (get_fills, get_candles, get_open_orders) lack pagination support. No limit cap documented; large result sets risk context window exhaustion.
Tool descriptions are brief (avg 50-60 chars vs 194-char baseline). Missing context on WHEN to use each tool, dependencies, and prerequisites. E.g., 'Get the current user state' does not explain what fields are included or when to call it vs get_positions.