Skip to main content
Glama
erscoder

Hyperliquid MCP

by erscoder

🟒 Hyperliquid MCP

Control your Hyperliquid perps from Claude (or any MCP client) using natural language.

"What's my BTC PnL?" β†’ Claude fetches your positions and answers in seconds.
"Buy 0.1 ETH at market" β†’ Claude places the order via Hyperliquid API.

Built with the Model Context Protocol β€” the open standard for connecting AI to external tools.


✨ Features

Tool

Description

hl_get_all_mids

Prices for all assets

hl_get_orderbook

L2 bids/asks for any asset

hl_get_meta

Market info (leverage, tick size)

hl_get_candles

OHLCV history (1m β†’ 1d)

hl_get_user_state

Positions, equity, margin, PnL

hl_get_open_orders

Active orders

hl_get_fills

Trade history

hl_get_user_fills_by_coin

Trade history filtered by coin, with win rate & PnL

hl_get_funding_history

Funding rate history

hl_get_predicted_fundings

Predicted next-8h funding across venues

hl_get_asset_contexts

Mark, oracle, funding, OI, 24h change for BTC/ETH/XRP/SOL

hl_get_recent_trades

Live tape with buy/sell imbalance

hl_place_order

Place limit or market orders

hl_cancel_order

Cancel specific order

hl_cancel_all_orders

Cancel all orders (optional: by coin)

hl_close_position

Close entire position

hl_set_leverage

Set leverage (cross or isolated)


Related MCP server: hyperliquid-mcp

πŸš€ Quick Start

1. Install

pip install hyperliquid-mcp

Or run directly without installing:

uvx hyperliquid-mcp

2. Configure Claude Desktop

Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) and add:

Read-only mode (positions, prices, history β€” no private key needed):

{
  "mcpServers": {
    "hyperliquid": {
      "command": "uvx",
      "args": ["hyperliquid-mcp"],
      "env": {
        "HL_WALLET_ADDRESS": "0xYourWalletAddressHere"
      }
    }
  }
}

Trading mode (place orders, cancel, close positions):

{
  "mcpServers": {
    "hyperliquid": {
      "command": "uvx",
      "args": ["hyperliquid-mcp"],
      "env": {
        "HL_PRIVATE_KEY": "0xYourPrivateKeyHere"
      }
    }
  }
}

⚠️ Never share your private key. It stays on your machine β€” this server runs locally via stdio, no data is sent anywhere except Hyperliquid's official API.

3. Restart Claude Desktop and start chatting

What are my open positions?
What's the ETH funding rate this week?
Place a limit order to buy 0.5 SOL at $150

πŸ”§ Manual Setup (from source)

git clone https://github.com/erscoder/hyperliquid-mcp
cd hyperliquid-mcp
pip install -e .
cp .env.example .env
# Edit .env with your wallet address or private key

Then in claude_desktop_config.json:

{
  "mcpServers": {
    "hyperliquid": {
      "command": "python",
      "args": ["-m", "hyperliquid_mcp"],
      "cwd": "/path/to/hyperliquid-mcp",
      "env": {
        "HL_WALLET_ADDRESS": "0xYourWalletAddressHere"
      }
    }
  }
}

πŸ”’ Security

  • Your keys never leave your machine. The server runs locally via stdio transport.

  • Read-only by default. Set only HL_WALLET_ADDRESS if you don't want trading enabled.

  • Trading requires HL_PRIVATE_KEY. Without it, all trading tools return an error.

  • Use a dedicated trading wallet with limited funds for extra safety.


πŸ€– Use in AI Agents

MCP is not just for chat clients. Use hyperliquid-mcp as the trading layer inside any autonomous agent.

LangChain / LangGraph

from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "hyperliquid": {
        "command": "uvx",
        "args": ["hyperliquid-mcp"],
        "transport": "stdio",
        "env": {"HL_WALLET_ADDRESS": "0xYourWallet"}
    }
})

tools = await client.get_tools()
# tools now includes hl_get_user_state, hl_get_orderbook, etc.
# Pass them to any LangChain agent or LangGraph node

CrewAI

from crewai import Agent
from crewai_tools import MCPTool

hl_tools = MCPTool.from_server(
    command="uvx",
    args=["hyperliquid-mcp"],
    env={"HL_WALLET_ADDRESS": "0xYourWallet"}
)

trader = Agent(
    role="Trading Analyst",
    goal="Monitor Hyperliquid positions and funding rates",
    tools=hl_tools
)

Custom agent (MCP Python SDK)

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

server_params = StdioServerParameters(
    command="uvx",
    args=["hyperliquid-mcp"],
    env={"HL_WALLET_ADDRESS": "0xYourWallet"}
)

async with stdio_client(server_params) as (read, write):
    async with ClientSession(read, write) as session:
        await session.initialize()
        result = await session.call_tool("hl_get_user_state", {})
        print(result.content)

Agent ideas:

  • Portfolio monitor that alerts when funding rates spike above threshold

  • Risk manager that auto-closes positions when drawdown exceeds limit

  • Arbitrage scanner comparing funding across assets

  • Morning briefing agent that summarizes overnight PnL and open positions


πŸ’¬ Other MCP Clients

Works with any MCP-compatible client:

  • Claude Desktop β€” see Quick Start above

  • VS Code (Copilot) β€” add to .vscode/mcp.json

  • Cursor β€” add to MCP settings

  • Continue.dev β€” add to config


πŸ“„ License

MIT β€” free to use, fork, and contribute.


🌟 Star History

If this saved you time, a ⭐ goes a long way!

Available Tools

13 tools
hl_cancel_all_ordersA

Cancel all open orders, optionally filtered by coin. Requires HL_PRIVATE_KEY in env.

Args: coin: Optional asset symbol to filter (None cancels all)

ParametersJSON Schema
NameRequiredDescriptionDefault
coinNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so description carries full burden. It states cancellation of open orders and auth requirement, but lacks details on irreversibility, confirmation, or effects on partially filled orders.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded with purpose. The args section adds clarity but could be merged with the first sentence for tighter structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, return values need no explanation. Tool purpose, parameter, and auth are covered. Could mention error conditions or rate limits, but adequate for simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 0%, but description explains coin parameter as optional filter and default behavior (None cancels all), adding clear semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'cancel' with resource 'all open orders' and optional filtering by coin. Distinct from sibling hl_cancel_order which cancels a single order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit prerequisite 'Requires HL_PRIVATE_KEY in env.' Implicitly when to use versus alternatives understood from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_cancel_orderA

Cancel a specific order by order ID. Requires HL_PRIVATE_KEY in env.

Args: coin: Asset symbol e.g. BTC oid: Order ID to cancel

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
oidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations were provided, so the description carries the burden. It adds the environment key requirement, which is valuable, but does not disclose what happens on failure (e.g., order not found, already canceled) or any side effects, leaving some behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very concise with three lines: purpose, requirement, and parameter list. No extraneous text, front-loaded with the main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (reduces need to explain return values) and a sibling tool, the description adequately covers key aspects. However, missing details like error handling and idempotency could leave an agent underinformed for a cancellation operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides clear, meaningful explanations for both parameters: 'Asset symbol e.g. BTC' for coin and 'Order ID to cancel' for oid. This adds value beyond the schema's bare titles and types, though could be more precise about format constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Cancel a specific order by order ID', using a specific verb and resource. It distinguishes from sibling 'hl_cancel_all_orders' by emphasizing 'specific order'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions prerequisite 'Requires HL_PRIVATE_KEY in env', which is useful. Implicitly distinguishes from cancel-all sibling by specifying 'specific order', but does not explicitly state when not to use or provide alternative scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_close_positionA

Close the entire position for a specific asset using a market order. Requires HL_PRIVATE_KEY in env.

Args: coin: Asset symbol e.g. BTC, ETH

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the burden. It discloses the use of a market order and the key requirement, but lacks details on side effects (e.g., irreversibility, slippage risk, or behavior when no position exists).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, containing two sentences and an args line. Every sentence adds value, with the main action front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and an output schema (not shown), the description is largely complete. It defines the action, precondition, and parameter adequately for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description adds meaning by explaining 'coin' as an asset symbol and providing examples (BTC, ETH). This goes beyond the schema's type declaration.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Close the entire position' using a market order for a specific asset, distinguishing it from sibling tools like hl_place_order or hl_cancel_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for closing an entire position but does not explicitly state when to use versus siblings or when not to use. It mentions a prerequisite (HL_PRIVATE_KEY in env).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_all_midsA

Get mid prices for all assets on Hyperliquid.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose behavioral traits such as rate limits, caching, or constancy of data; it is adequate but minimal for a read-only fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words, perfectly conveying the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema provided, the description is sufficient for basic understanding, though it could briefly mention output format or typical use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema description coverage is 100%, so the description need not add parameter semantics; baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'mid prices for all assets on Hyperliquid', making the tool's purpose explicit and distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; it is implied to be for fetching mid prices, but no explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_candlesB

Get OHLCV candles for a specific asset.

Args: coin: Asset symbol e.g. BTC, ETH, SOL interval: 1m, 5m, 15m, 30m, 1h, 4h, 8h, 1d (default 1h) limit: Number of candles to return (default 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
intervalNo1h
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It fails to mention any traits such as authentication requirements, rate limits, data freshness, or side effects. The only behavioral hint is the default parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: one sentence for purpose, then a parameter list. It is front-loaded with the action. However, the parameter list could be integrated into prose to be even leaner, but it is not excessively verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple data retrieval tool with an output schema (context signal), the description is minimally complete. It covers the basics of what the tool returns and required inputs, but lacks optional context like error handling or assurance of uniqueness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides clear examples for coin (e.g., BTC, ETH, SOL), enumerates valid intervals with default, and explains limit as number of candles. This adds meaning beyond raw schema types and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it gets OHLCV candles for a specific asset, using a specific verb ('Get') and resource ('OHLCV candles'). It clearly distinguishes from siblings like order management tools, as candles are a data-retrieval function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., hl_get_all_mids, hl_get_orderbook). The description only specifies what it does, not when it is appropriate or when to avoid it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_fillsA

Get your recent trade history (fills). Requires HL_WALLET_ADDRESS or HL_PRIVATE_KEY in env.

Args: limit: Number of recent trades to return (default 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It indicates a read operation ('get') but does not explicitly state it is non-destructive, nor does it disclose rate limits or whether it returns a list. The presence of an output schema partially compensates, but more detail on behavior would improve clarity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two sentences and an args line, with the purpose front-loaded. Every sentence adds value, with no unnecessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, an output schema (so return structure is documented elsewhere), and sibling context, the description is largely complete. It could mention maximum limit or absence of results, but it adequately supports agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'limit' has 0% schema description coverage, but the description fully explains it: 'Number of recent trades to return (default 50)'. This adds necessary meaning beyond the schema's type and default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get your recent trade history (fills)', which uses a specific verb ('get') and resource ('fills'), distinguishing it from sibling tools like hl_get_open_orders or hl_get_user_state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes the prerequisite of environment variables (HL_WALLET_ADDRESS or HL_PRIVATE_KEY), providing clear context. It does not explicitly state when not to use the tool or list alternatives, but the sibling list implies differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_funding_historyB

Get funding rate history for a specific asset.

Args: coin: Asset symbol e.g. BTC, ETH, SOL days: Number of days of history (default 7)

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does not disclose any behavioral traits such as authentication requirements, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two explanatory sentences for parameters, achieving high information density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with an output schema, the description adequately covers purpose and parameters, though it could mention any limits or pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema coverage, the description adds concrete examples ('BTC, ETH, SOL') for the coin parameter and explains the default for days, compensating well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('funding rate history') for a specific asset, distinguishing it from sibling tools like hl_get_candles or hl_get_orderbook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are there any exclusions or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_metaA

Get metadata for all markets: max leverage, tick size, lot size.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. For a parameterless, read-only metadata retrieval, the behavior is transparentβ€”no side effects, no hidden traits. It adds no unnecessary detail but is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 8 words, front-loading the core purpose. Every word earns its place; no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no input parameters and an output schema exists, the description adequately summarizes what is retrieved. It lists key metadata items, though the output schema provides full details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so baseline is 4 per instructions. The schema coverage is 100% trivially, and the description adds no further parameter information, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves metadata for all markets and lists specific data points (max leverage, tick size, lot size), using a specific verb+resource pattern. It distinguishes itself from sibling tools, which deal with orders, candles, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. The context is implied but not stated, and no alternatives are mentioned. It meets minimum viability for a simple info tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_open_ordersA

Get all your open orders on Hyperliquid. Requires HL_WALLET_ADDRESS or HL_PRIVATE_KEY in env.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It explains the auth requirement (env vars) but lacks details on whether the tool is read-only, if it returns all orders at once, or any other constraints beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, no unnecessary words, and front-loads the purpose immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and an output schema, the description is mostly complete. It covers the basic purpose and auth requirements, though it could briefly mention that it returns all open orders without filtering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4 per guidelines. The description adds no parameter information, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves all open orders on Hyperliquid, using a specific verb and resource. It is distinct from siblings like hl_cancel_order or hl_place_order, which handle different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells users when to use the tool (to get open orders) and specifies required environment variables. However, it does not provide explicit guidance on when not to use it or mention alternatives from sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_orderbookA

Get L2 orderbook (bids/asks) for a specific asset.

Args: coin: Asset symbol e.g. BTC, ETH, SOL depth: Number of price levels to return (default 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
depthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits beyond the basic operation, such as whether it returns a snapshot, is read-only, or any side effects. The read-only nature is implied by the verb 'Get' but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with purpose, and every sentence adds value without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with an output schema, the description covers the key information needed to use it. Could optionally mention that it returns a snapshot, but it is still adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds meaningful examples for 'coin' (e.g., BTC, ETH, SOL) and explains 'depth' as number of price levels with a default of 10, providing context beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it gets L2 orderbook (bids/asks) for a specific asset, with a specific verb and resource. It is distinct from sibling tools that are for placing/canceling orders or getting other data like candles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. Usage is implied by the tool name and sibling context, but there is no guidance on exclusions or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_get_user_stateA

Get your Hyperliquid account: positions, equity, margin, unrealized PnL. Requires HL_WALLET_ADDRESS (read-only) or HL_PRIVATE_KEY (trading) in env.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses authentication requirements via env vars, but lacks details on side effects, rate limits, or whether the tool is read-only. The mention of private key implies potential write capability, but this is ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose and output components, second states prerequisite. No wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and existence of output schema, description covers main purpose, output components, and required environment setup. Minor gap: could mention that call returns full account snapshot.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0 parameters with 100% coverage; baseline of 3 applies. Description adds no param-specific meaning because none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool gets the user's Hyperliquid account state including positions, equity, margin, and unrealized PnL. It differentiates from sibling tools which handle orders, positions, market data, and leverage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description specifies required environment variables (HL_WALLET_ADDRESS or HL_PRIVATE_KEY) for using the tool. It does not explicitly exclude alternatives but context makes it clear this is for reading overall account state.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_place_orderA

Place an order on Hyperliquid. Requires HL_PRIVATE_KEY in env.

Args: coin: Asset symbol e.g. BTC, ETH, SOL is_buy: True for long/buy, False for short/sell size: Position size in coins price: Limit price (None for market order) order_type: limit or market (default limit) reduce_only: Only reduce existing position (default False)

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
is_buyYes
sizeYes
priceNo
order_typeNolimit
reduce_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the need for HL_PRIVATE_KEY and the reduce_only behavior, but does not explain side effects (e.g., fund deduction) or what the tool returns. With no annotations, more behavioral context would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear 'Args:' section. Each sentence serves a purpose, though the overall structure could be more front-loaded with a stronger summary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (6 parameters, trading context) and the presence of an output schema, the description covers the key inputs but lacks details on output, error handling, and trading risks. It is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description provides meaningful explanations for each parameter (e.g., 'True for long/buy, False for short/sell', 'None for market order'), adding significant value beyond the schema types and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Place an order on Hyperliquid' with a specific verb and resource. It lists all parameters and their meanings, and the tool name and sibling names help distinguish it from order cancellation and position management tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide when or when not to use this tool versus alternatives like limit vs market orders, or compared to other order-related siblings. It mentions authentication but lacks explicit guidance on context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hl_set_leverageA

Set leverage for a specific asset. Requires HL_PRIVATE_KEY in env.

Args: coin: Asset symbol e.g. BTC, ETH leverage: Leverage multiplier e.g. 5, 10, 20 is_cross: True for cross margin, False for isolated (default True)

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
leverageYes
is_crossNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It only states that leverage is set and requires authentication, but fails to disclose potential side effects (e.g., affecting open positions), rate limits, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear purpose sentence, an env requirement note, and an Args block. It is front-loaded and efficient, though the Args block could be more tightly integrated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters, no schema descriptions, and no annotations, the description adequately explains parameters but omits return value details (though an output schema exists). Missing information on behavioral context like prerequisites beyond env key (e.g., position existence).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the bare schema: it explains coin as 'Asset symbol e.g. BTC, ETH', leverage as 'Leverage multiplier e.g. 5, 10, 20', and is_cross as 'True for cross margin, False for isolated'. This compensates for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set leverage for a specific asset,' which is a specific verb and resource. The tool name and description distinguish it from siblings like hl_place_order and hl_close_position, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the prerequisite 'Requires HL_PRIVATE_KEY in env,' providing clear usage context. However, it does not explicitly state when to use this tool over alternatives or include any 'when not to use' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv0.1.0
    • First observedhl_cancel_all_orders
    • First observedhl_cancel_order
    • First observedhl_close_position
    • First observedhl_get_all_mids
    • First observedhl_get_candles
    • First observedhl_get_fills
    • First observedhl_get_funding_history
    • First observedhl_get_meta
    • First observedhl_get_open_orders
    • First observedhl_get_orderbook
    • First observedhl_get_user_state
    • First observedhl_place_order
    • First observedhl_set_leverage

TDQS

A4/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose: order management, position control, data queries, leverage setting. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow the 'hl_' prefix with consistent verb_noun snake_case pattern (e.g., cancel_order, place_order, get_all_mids). Predictable and uniform.

Tool Count5/5

13 tools is well-scoped for a trading platform, covering essential operations without being excessive or sparse.

Completeness4/5

Core trading workflow (order placement, cancellation, position closing, market data, account info) is covered. Lacks order modification and detailed trade history, but no critical gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to securely trade on Hyperliquid perpetual exchange, including order placement, position management, market data retrieval, and vault operations via natural language.
    21
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Hyperliquid that provides read-only on-chain wallet analytics. Enables natural-language queries about positions, fills, funding, and realized PnL for any public address.
    8
    18
    MIT

Latest Blog Posts

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/erscoder/hyperliquid-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server