Non-custodial Hyperliquid perp trading: live markets, account state, user-armed order execution
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <connector key> — generate yours at https://mcpify.trade/mcp
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user asks to cancel a resting or trigger order by its oid (from get_my_open_orders).
The Hyperliquid order id (oid) to cancel — see get_my_open_orders
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Use this when the user asks to cancel a resting or trigger order by its oid (from get_my_open_orders).
| Argument | Type | Description |
|---|---|---|
| order_id* | integer | The Hyperliquid order id (oid) to cancel — see get_my_open_orders |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"order_id"
],
"properties": {
"order_id": {
"type": "integer",
"description": "The Hyperliquid order id (oid) to cancel — see get_my_open_orders"
}
},
"additionalProperties": false
}Use this when the user asks to close (fully or partially) an open Hyperliquid position. Risk-reducing: works whenever agent trading is armed.
| Argument | Type | Description |
|---|---|---|
| size | number | Partial close size in coins. Omit to close the entire position |
| symbol* | string | Coin symbol of the open position, e.g. BTC |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbol"
],
"properties": {
"size": {
"type": "number",
"description": "Partial close size in coins. Omit to close the entire position",
"exclusiveMinimum": 0
},
"symbol": {
"type": "string",
"description": "Coin symbol of the open position, e.g. BTC"
}
},
"additionalProperties": false
}Use this when the user wants OHLCV candle history for a Hyperliquid perp market (for analysis or charting).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of candles |
| symbol* | string | Coin symbol, e.g. BTC |
| interval | string | Candle interval |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbol"
],
"properties": {
"limit": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1,
"description": "Number of candles"
},
"symbol": {
"type": "string",
"description": "Coin symbol, e.g. BTC"
},
"interval": {
"enum": [
"1m",
"3m",
"5m",
"15m",
"30m",
"1h",
"2h",
"4h",
"8h",
"12h",
"1d",
"3d",
"1w",
"1M"
],
"type": "string",
"default": "1h",
"description": "Candle interval"
}
},
"additionalProperties": false
}Use this when the user asks which perpetual markets are tradable on MCPify (Hyperliquid), or for a market overview with prices, 24h change, volume, funding and max leverage.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort order |
| limit | integer | Max rows |
| search | string | Filter by symbol substring, e.g. BTC |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"volume",
"change",
"symbol"
],
"type": "string",
"default": "volume",
"description": "Sort order"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Max rows"
},
"search": {
"type": "string",
"description": "Filter by symbol substring, e.g. BTC"
}
},
"additionalProperties": false
}Use this when the user asks about THEIR MCPify account: balance, withdrawable, open positions with PnL and liquidation prices, and whether agent trading is armed.
No arguments.
{
"type": "object",
"properties": {}
}Use this when the user asks for their open/resting orders on Hyperliquid (including TP/SL trigger orders). Returns each order's oid for cancellation.
No arguments.
{
"type": "object",
"properties": {}
}Use this when the user asks what orders were placed through MCPify (our audit records, including which source placed them: web, mcp agent, admin) — successes and rejections alike.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of records |
| action | string | Filter by action |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Number of records"
},
"action": {
"enum": [
"open",
"close",
"tpsl",
"cancel"
],
"type": "string",
"description": "Filter by action"
}
},
"additionalProperties": false
}Use this when the user asks about their open positions, or before closing a position or moving its stop-loss / take-profit. Returns each position's side, size, entry, mark and liquidation price, leverage, margin, unrealized PnL, and the take-profit and stop-loss orders protecting it right now (with their order ids). Pass symbol for one coin.
| Argument | Type | Description |
|---|---|---|
| symbol | string | Only the position in this coin, e.g. BTC, SOL, xyz:TSLA. Omit for every open position. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"symbol": {
"type": "string",
"description": "Only the position in this coin, e.g. BTC, SOL, xyz:TSLA. Omit for every open position."
}
},
"additionalProperties": false
}Use this when the user asks for their recent fills/executions on Hyperliquid (live venue truth: price, size, fee, realized PnL).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of fills |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Number of fills"
}
},
"additionalProperties": false
}Use this when the user wants the live order book (bids/asks) for a Hyperliquid perp market.
| Argument | Type | Description |
|---|---|---|
| depth | integer | Levels per side |
| symbol* | string | Coin symbol, e.g. BTC |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbol"
],
"properties": {
"depth": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Levels per side"
},
"symbol": {
"type": "string",
"description": "Coin symbol, e.g. BTC"
}
},
"additionalProperties": false
}Use this when the user asks the current price of a specific coin on Hyperliquid (mark price, 24h change, volume, funding).
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Hyperliquid perp coin symbol, e.g. BTC, ETH, xyz:TSLA (not BTCUSDT) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, xyz:TSLA (not BTCUSDT)"
}
},
"additionalProperties": false
}Use this when the user explicitly asks to open a perp position or place an order on Hyperliquid via MCPify. Real funds — ALWAYS call preview_order with the same arguments first, show the user the proposal, and get their explicit confirmation; place_order is refused unless a matching preview ran within the last 10 minutes. Requires Agent Trading enabled on the MCPify settings page.
| Argument | Type | Description |
|---|---|---|
| side* | string | Position direction |
| symbol* | string | Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT) |
| leverage | integer | Leverage multiplier |
| stop_loss | number | Stop-loss trigger price |
| margin_usd* | number | USDC margin to commit. Position notional = margin × leverage |
| order_type | string | Execution type |
| limit_price | number | Required when order_type is limit |
| margin_mode | string | Margin mode |
Use this BEFORE place_order whenever the user wants to open a position: it validates and sizes the order (fresh est. entry, size after rounding, est. liquidation, TP/SL sanity, MCP caps) WITHOUT placing anything, and shows a proposal card the user can confirm from. Read-only and always safe to call. If the user confirms, call place_order with the same arguments.
| Argument | Type | Description |
|---|---|---|
| side* | string | Position direction |
| symbol* | string | Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT) |
| leverage | integer | Leverage multiplier |
| stop_loss | number | Stop-loss trigger price |
| margin_usd* | number | USDC margin to commit. Position notional = margin × leverage |
| order_type | string | Execution type |
| limit_price | number | Required when order_type is limit |
| margin_mode | string | Margin mode |
Use this when the user asks to set or move the take-profit and/or stop-loss of an open Hyperliquid position. Only the legs you pass change: passing just stop_loss moves the stop and keeps the current take-profit (and vice versa). To remove a leg, cancel its order id from get_my_positions.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Coin symbol of the open position, e.g. BTC |
| stop_loss | number | New stop-loss trigger price. Omit to leave the current stop-loss as it is |
| take_profit | number | New take-profit trigger price. Omit to leave the current take-profit as it is |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Coin symbol of the open position, e.g. BTC"
},
"stop_loss": {
"type": "number",
"description": "New stop-loss trigger price. Omit to leave the current stop-loss as it is",
"exclusiveMinimum": 0
},
"take_profit": {
"type": "number",
"description": "New take-profit trigger price. Omit to leave the current take-profit as it is",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| take_profit | number | Take-profit trigger price |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbol",
"side",
"margin_usd"
],
"properties": {
"side": {
"enum": [
"long",
"short"
],
"type": "string",
"description": "Position direction"
},
"symbol": {
"type": "string",
"description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT)"
},
"leverage": {
"type": "integer",
"default": 5,
"maximum": 100,
"minimum": 1,
"description": "Leverage multiplier"
},
"stop_loss": {
"type": "number",
"description": "Stop-loss trigger price",
"exclusiveMinimum": 0
},
"margin_usd": {
"type": "number",
"minimum": 1,
"description": "USDC margin to commit. Position notional = margin × leverage"
},
"order_type": {
"enum": [
"market",
"limit"
],
"type": "string",
"default": "market",
"description": "Execution type"
},
"limit_price": {
"type": "number",
"description": "Required when order_type is limit",
"exclusiveMinimum": 0
},
"margin_mode": {
"enum": [
"cross",
"isolated"
],
"type": "string",
"default": "cross",
"description": "Margin mode"
},
"take_profit": {
"type": "number",
"description": "Take-profit trigger price",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| take_profit | number | Take-profit trigger price |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbol",
"side",
"margin_usd"
],
"properties": {
"side": {
"enum": [
"long",
"short"
],
"type": "string",
"description": "Position direction"
},
"symbol": {
"type": "string",
"description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT)"
},
"leverage": {
"type": "integer",
"default": 5,
"maximum": 100,
"minimum": 1,
"description": "Leverage multiplier"
},
"stop_loss": {
"type": "number",
"description": "Stop-loss trigger price",
"exclusiveMinimum": 0
},
"margin_usd": {
"type": "number",
"minimum": 1,
"description": "USDC margin to commit. Position notional = margin × leverage"
},
"order_type": {
"enum": [
"market",
"limit"
],
"type": "string",
"default": "market",
"description": "Execution type"
},
"limit_price": {
"type": "number",
"description": "Required when order_type is limit",
"exclusiveMinimum": 0
},
"margin_mode": {
"enum": [
"cross",
"isolated"
],
"type": "string",
"default": "cross",
"description": "Margin mode"
},
"take_profit": {
"type": "number",
"description": "Take-profit trigger price",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}