MCPify

Non-custodial Hyperliquid perp trading: live markets, account state, user-armed order execution

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
87%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'get_price' description lacks action verbin get_price
  • LOWTool 'get_orderbook' description lacks action verbin get_orderbook
  • LOWTool 'get_candles' description lacks action verbin get_candles

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,345Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.83% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcpify": {
      "url": "https://mcp.mcpify.trade/mcp"
    }
  }
}

Remote endpoints

https://mcp.mcpify.trade/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_markets(search, sort, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "description": "Filter by symbol substring, e.g. BTC"
    },
    "sort": {
      "type": "string",
      "enum": [
        "volume",
        "change",
        "symbol"
      ],
      "default": "volume",
      "description": "Sort order"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50,
      "description": "Max rows"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_price(symbol)

Use this when the user asks the current price of a specific coin on Hyperliquid (mark price, 24h change, volume, funding).

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, xyz:TSLA (not BTCUSDT)"
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_orderbook(symbol, depth)

Use this when the user wants the live order book (bids/asks) for a Hyperliquid perp market.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Coin symbol, e.g. BTC"
    },
    "depth": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10,
      "description": "Levels per side"
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_candles(symbol, interval, limit)

Use this when the user wants OHLCV candle history for a Hyperliquid perp market (for analysis or charting).

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Coin symbol, e.g. BTC"
    },
    "interval": {
      "type": "string",
      "enum": [
        "1m",
        "3m",
        "5m",
        "15m",
        "30m",
        "1h",
        "2h",
        "4h",
        "8h",
        "12h",
        "1d",
        "3d",
        "1w",
        "1M"
      ],
      "default": "1h",
      "description": "Candle interval"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 100,
      "description": "Number of candles"
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_my_account

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_my_open_orders

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_my_trade_history(limit)

Use this when the user asks for their recent fills/executions on Hyperliquid (live venue truth: price, size, fee, realized PnL).

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25,
      "description": "Number of fills"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_my_order_records(limit, action)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25,
      "description": "Number of records"
    },
    "action": {
      "type": "string",
      "enum": [
        "open",
        "close",
        "tpsl",
        "cancel"
      ],
      "description": "Filter by action"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢preview_order(symbol, side, margin_usd, leverage, order_type, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT)"
    },
    "side": {
      "type": "string",
      "enum": [
        "long",
        "short"
      ],
      "description": "Position direction"
    },
    "margin_usd": {
      "type": "number",
      "minimum": 1,
      "description": "USDC margin to commit. Position notional = margin × leverage"
    },
    "leverage": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 5,
      "description": "Leverage multiplier"
    },
    "order_type": {
      "type": "string",
      "enum": [
        "market",
        "limit"
      ],
      "default": "market",
      "description": "Execution type"
    },
    "limit_price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Required when order_type is limit"
    },
    "take_profit": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Take-profit trigger price"
    },
    "stop_loss": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Stop-loss trigger price"
    },
    "margin_mode": {
      "type": "string",
      "enum": [
        "cross",
        "isolated"
      ],
      "default": "cross",
      "description": "Margin mode"
    }
  },
  "required": [
    "symbol",
    "side",
    "margin_usd"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴place_order(symbol, side, margin_usd, leverage, order_type, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT)"
    },
    "side": {
      "type": "string",
      "enum": [
        "long",
        "short"
      ],
      "description": "Position direction"
    },
    "margin_usd": {
      "type": "number",
      "minimum": 1,
      "description": "USDC margin to commit. Position notional = margin × leverage"
    },
    "leverage": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 5,
      "description": "Leverage multiplier"
    },
    "order_type": {
      "type": "string",
      "enum": [
        "market",
        "limit"
      ],
      "default": "market",
      "description": "Execution type"
    },
    "limit_price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Required when order_type is limit"
    },
    "take_profit": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Take-profit trigger price"
    },
    "stop_loss": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Stop-loss trigger price"
    },
    "margin_mode": {
      "type": "string",
      "enum": [
        "cross",
        "isolated"
      ],
      "default": "cross",
      "description": "Margin mode"
    }
  },
  "required": [
    "symbol",
    "side",
    "margin_usd"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴close_position(symbol, size)

Use this when the user asks to close (fully or partially) an open Hyperliquid position. Risk-reducing: works whenever agent trading is armed.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Coin symbol of the open position, e.g. BTC"
    },
    "size": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Partial close size in coins. Omit to close the entire position"
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴set_position_tp_sl(symbol, take_profit, stop_loss)

Use this when the user asks to set or update take-profit / stop-loss on an open Hyperliquid position. Replaces any existing TP/SL triggers for that coin.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Coin symbol of the open position, e.g. BTC"
    },
    "take_profit": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "New take-profit trigger price"
    },
    "stop_loss": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "New stop-loss trigger price"
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴cancel_order(order_id)

Use this when the user asks to cancel a resting or trigger order by its oid (from get_my_open_orders).

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "description": "The Hyperliquid order id (oid) to cancel — see get_my_open_orders"
    }
  },
  "required": [
    "order_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Recommended Prompts

retrieve_data
Get details about [item] from MCPify
Expected tools: get_markets
fetch_info
Fetch [information type] using MCPify
Expected tools: get_markets

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools
verifiedversion not recorded13 tools