HyperLiquid MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HYPERLIQUID_TESTNET | No | Set to 'true' to use testnet (optional, default false) | false |
| HYPERLIQUID_PRIVATE_KEY | Yes | Your HyperLiquid private key (required) | |
| HYPERLIQUID_ACCOUNT_ADDRESS | No | Optional account address, derived from private key if not provided |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_account_balanceB | Get account balance and margin information |
| get_open_positionsA | Get all open positions with PnL information |
| get_open_ordersC | Get all open orders |
| get_trade_historyB | Get trade history for the account Args: days: Number of days to look back (default: 7) |
| place_limit_orderA | Place a basic limit order (for opening new positions or manual closing) Args: coin: Trading pair (e.g., "BTC", "ETH") side: Order side ("buy" or "sell") size: Number of tokens/coins to trade (NOT dollar value - e.g., 0.1 for 0.1 SOL, not $20) price: Limit price per token (e.g., 150.0 for $150 per SOL) reduce_only: Whether order should only reduce existing position client_order_id: Optional client order ID (128-bit hex string, e.g. 0x1234567890abcdef1234567890abcdef) IMPORTANT: The 'size' parameter is the NUMBER OF TOKENS, not dollar value. If user wants "$20 worth of SOL" at $150/SOL, calculate: $20 ÷ $150 = 0.133 SOL Note: For setting take profit/stop loss on existing positions, use set_take_profit_stop_loss instead. |
| market_open_positionA | Open a new position at market price using HyperLiquid's market_open for optimal execution Args: coin: Trading pair (e.g., "BTC", "ETH") side: Position side ("buy" for long, "sell" for short) size: Number of tokens/coins to trade (NOT dollar value - e.g., 0.1 for 0.1 SOL, not $20) client_order_id: Optional client order ID for tracking IMPORTANT: The 'size' parameter is the NUMBER OF TOKENS, not dollar value. If user wants "$20 worth of SOL" at current price ~$150, calculate: $20 ÷ $150 = 0.133 SOL Note: This uses HyperLiquid's native market_open method for the best execution. |
| market_close_positionA | Close all positions for a coin at market price using HyperLiquid's market_close Args: coin: Trading pair (e.g., "BTC", "ETH") client_order_id: Optional client order ID for tracking Note: This closes ALL positions for the specified coin. HyperLiquid's market_close method automatically determines the correct side and size to close all positions. |
| place_bracket_orderA | Place a bracket order for a NEW position (entry + take profit + stop loss in one order) Args: coin: Trading pair (e.g., "BTC", "ETH") side: Order side ("buy" or "sell") size: Number of tokens/coins to trade (NOT dollar value - e.g., 0.1 for 0.1 SOL, not $20) entry_price: Entry limit price per token take_profit_price: Take profit price per token stop_loss_price: Stop loss price per token client_order_id: Optional client order ID (128-bit hex string, e.g. 0x1234567890abcdef1234567890abcdef) IMPORTANT: The 'size' parameter is the NUMBER OF TOKENS, not dollar value. If user wants "$20 worth of SOL" at $150/SOL, calculate: $20 ÷ $150 = 0.133 SOL Note: This creates a NEW position with TP/SL. For existing positions, use set_take_profit_stop_loss. Uses HyperLiquid's normalTpSl grouping for proper OCO behavior where TP and SL orders cancel each other. |
| cancel_orderC | Cancel a specific order by order ID Args: coin: Trading pair order_id: Order ID to cancel |
| cancel_order_by_client_idA | Cancel a specific order by client order ID Args: coin: Trading pair client_order_id: Client order ID to cancel (128-bit hex string, e.g. 0x1234567890abcdef1234567890abcdef) |
| cancel_all_ordersA | Cancel all orders, optionally for a specific coin Args: coin: Optional trading pair to cancel orders for (if None, cancels all orders) |
| modify_orderC | Modify an existing order Args: coin: Trading pair order_id: Order ID to modify new_size: New order size new_price: New order price |
| get_market_dataB | Get market data for a specific coin Args: coin: Trading pair (e.g., "BTC", "ETH") |
| get_orderbookB | Get orderbook data for a specific coin Args: coin: Trading pair (e.g., "BTC", "ETH") depth: Order book depth (default: 20) |
| get_candles_snapshotA | Fetch candlestick (OHLCV) data for multiple coins in one request Args: coins: List of trading pairs (e.g., ["BTC", "ETH"]) interval: Candlestick interval supported by HyperLiquid (e.g., "1m", "1h") start_time: Start timestamp in milliseconds (required when days not provided) end_time: End timestamp in milliseconds (defaults to now when omitted) days: Number of recent days to fetch (mutually exclusive with start/end) limit: Optional max number of candles per coin (latest N samples) |
| get_funding_historyA | Get funding history for a coin Args: coin: Trading pair (e.g., "BTC", "ETH") days: Number of days to look back (default: 7) |
| update_leverageA | Update leverage for a coin Args: coin: Trading pair (e.g., "BTC", "ETH") leverage: Leverage amount (e.g., 10 for 10x) cross_margin: Use cross margin (True) or isolated margin (False) |
| transfer_between_spot_and_perpA | Transfer funds between spot and perpetual accounts Args: amount: Amount to transfer to_perp: Transfer to perpetual account (True) or to spot account (False) |
| set_take_profit_stop_lossA | Set take profit and/or stop loss orders for an EXISTING position (OCO orders) Args: coin: Trading pair (e.g., "BTC", "ETH") - must have an existing position take_profit_price: Take profit price (optional, can set just TP) stop_loss_price: Stop loss price (optional, can set just SL) position_size: Position size (will auto-detect from existing position if not provided) Note: This is for EXISTING positions only. Use place_bracket_order for new positions with TP/SL. The orders will use OCO (One-Cancels-Other) behavior where executing one cancels the other. |
| set_take_profitA | Set ONLY a take profit order for an EXISTING position Args: coin: Trading pair (e.g., "BTC", "ETH") - must have an existing position take_profit_price: Take profit price position_size: Position size (will auto-detect from existing position if not provided) Note: This is specifically for setting ONLY take profit on EXISTING positions. Use set_take_profit_stop_loss if you want both TP and SL, or place_bracket_order for new positions. |
| set_stop_lossA | Set ONLY a stop loss order for an EXISTING position Args: coin: Trading pair (e.g., "BTC", "ETH") - must have an existing position stop_loss_price: Stop loss price position_size: Position size (will auto-detect from existing position if not provided) Note: This is specifically for setting ONLY stop loss on EXISTING positions. Use set_take_profit_stop_loss if you want both TP and SL, or place_bracket_order for new positions. |
| get_account_summaryA | Get a comprehensive account summary including balance, positions, and orders |
| close_positionA | Close a position (full or partial) Args: coin: Trading pair (e.g., "BTC", "ETH") percentage: Percentage of position to close (default: 100.0 for full close) Note: For 100% closure, uses market_close_position for optimal execution. For partial closure, you'll need to use limit orders as HyperLiquid's market_close closes all positions. |
| calculate_token_amount_from_dollarsA | Calculate how many tokens can be bought with a given dollar amount Args: coin: Trading pair (e.g., "BTC", "ETH", "SOL") dollar_amount: Dollar amount to spend (e.g., 20.0 for $20) Returns: Dictionary with token amount and current price Example: calculate_token_amount_from_dollars("SOL", 20.0) → {"token_amount": 0.133, "current_price": 150.0, "dollar_amount": 20.0} |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/talkincode/hyperliquid-mcp-python'
If you have feedback or need assistance with the MCP directory API, please join our Discord server