Skip to main content
Glama
talkincode

HyperLiquid MCP Server

by talkincode

place_limit_order

Place a limit order on HyperLiquid for a given coin, specifying buy/sell side, token quantity, and limit price to open or close positions.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinYes
sideYes
sizeYes
priceYes
reduce_onlyNo
client_order_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It adds crucial context: 'size' is number of tokens (not dollar value) with a conversion example, explains reduce_only semantics, and specifies the client_order_id hex format. It omits some operational details (e.g., order lifecycle, margin requirements), but covers the most critical behavioral nuances.

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 well-structured and front-loaded: a clear purpose sentence, a concise argument list, a highlighted 'IMPORTANT' pitfall with a concrete example, and a brief pointer to an alternative. Every sentence serves a purpose, keeping it appropriately sized despite its length.

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

Completeness5/5

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

For a 6-parameter trading tool with no schema descriptions and no annotations, the description is remarkably complete. It covers all parameters, provides a real-world conversion example, flags the most common user error (size vs. dollar value), and references the correct alternative for TP/SL. The presence of an output schema further covers return-value expectations, making this contextually sufficient.

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?

Schema description coverage is 0%, so the description must compensate. It explains every parameter: coin as trading pair, side as buy/sell, size as token count (with explicit warning against dollar value), price as per-token limit price, reduce_only as position-reduction-only, and client_order_id as an optional 128-bit hex string. This adds substantial meaning 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?

The description clearly states 'Place a basic limit order (for opening new positions or manual closing)', specifying both the action and the scope. This distinguishes it from market orders, bracket orders, and TP/SL tools, making the purpose explicit and specific.

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 explicitly names one alternative: 'For setting take profit/stop loss on existing positions, use set_take_profit_stop_loss instead.' It also implies usage for opening or manually closing positions, but does not contrast with market open/close or bracket order tools, so guidance is not fully exhaustive.

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

Install Server

Other Tools

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

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