Skip to main content
Glama

Ironflow: Hyperliquid data

Wallet positions

get_user_state
Read-only

Open positions and unrealized PnL for a Hyperliquid wallet right now, across native and HIP-3 perps. Use it for questions like 'is this wallet long or short?'

Input Schema

NameRequiredDescriptionDefault
addressYes0x-prefixed 20-byte hex address

Output Schema

NameRequiredDescriptionDefault
noticeNoPresent when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
addressNoWallet address (0x…)
as_of_tsNoSnapshot time, Unix milliseconds
margin_summaryNoAccount totals
asset_positionsNoOpen positions

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the description only needs to add scope, which it does: a point-in-time snapshot covering both native and HIP-3 perps. It doesn't mention edge cases such as a wallet with no positions or an unsupported address, but the behavioral picture is largely complete.

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, with the scope declared before the usage example. Every clause earns its place and there is no filler.

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?

With an output schema present, return-shape explanation is unnecessary; the description supplies the temporal and market-coverage context an agent needs. Only the absence of edge-case or empty-result notes keeps it below 5.

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?

There is a single required parameter and the schema already documents it fully ('0x-prefixed 20-byte hex address'), so the description adds nothing on this axis. Baseline 3 per the high-coverage rule.

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?

States a specific verb and resource (open positions plus unrealized PnL), the scope (native and HIP-3 perps), and the temporal mode ('right now'), which cleanly separates it from siblings like get_user_summary or get_user_pnl_series. An agent can pick it without opening the schema.

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 example question ('is this wallet long or short?') gives a concrete trigger for invoking this tool. It stops short of naming alternatives — nothing says to use get_user_summary for balances or get_fills for historical trades — so routing between the many user_* siblings still relies on inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.