Skip to main content
Glama

Ironflow: Hyperliquid data

Spin up an Ironbox

create_ironbox

Spin up an Ironbox: a secure sandbox next to Hyperliquid where an agent runs and trades, with Ironflow data, analytics, alerts and execution built in. No key needed for mode paper (the default): you get a trial box, the agent's own simulated Hyperliquid account for 24 hours, with base_url and expires_at. It ends sooner after 2 hours with no requests and no strategy running. Point the Hyperliquid SDK's base_url at it, or start a strategy on it with start_box_strategy. A free key keeps a box; mode live needs a paid plan. A live box stays creating until get_ironbox shows it running.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_ironbox"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNopaper (default) trades with simulated funds; live trades real funds
nameNoName for the Ironbox, e.g. btc-funding-bot
noteNoFree text kept with the Ironbox, e.g. what the agent does
sizeNosmall (default), medium or large
marketsNoHyperliquid markets the agent trades: perps, outcomes (HIP-4), spot
runtimeNopython (default) or node

Output Schema

NameRequiredDescriptionDefault
idNoIronbox id (ibx_...)
urlNoThis Ironbox in the API
modeNopaper (simulated funds) or live
nameNoName
sizeNosmall, medium or large
paperNoTrue on a paper box: the agent's own simulated Hyperliquid account
stateNocreating, running, stopped, deleted or error
trialNoTrue on a keyless trial box
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
regionNoWhere it runs, e.g. tokyo
marketsNoMarkets the agent trades: perps, outcomes, spot
messageNoWhat happens next, from the API
runtimeNopython or node
snippetNoA first Python program for this box. Shown only when created or rotated
base_urlNoSet the Hyperliquid SDK's base_url to this. Shown only when a paper box is created or rotated
dashboardNoWhere the user manages it on ironflow.sh
created_atNoCreation time, Unix milliseconds
expires_atNoWhen a trial box ends at the latest, Unix milliseconds
activity_urlNoWhere to watch this box. Shown only with base_url
strategies_urlNoWhere to start strategies on this box. Shown only with base_url
starting_balance_usdNoStarting balance of a new paper box

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / activity_url
      Added value: +{
      +  "description": "Where to watch this box. Shown only with base_url"
      +}
    • changedOutput schema / properties / expires_at / description
      Previous value: -"When a trial box ends and is removed, Unix milliseconds"New value: +"When a trial box ends at the latest, Unix milliseconds"
    • addedOutput schema / properties / strategies_url
      Added value: +{
      +  "description": "Where to start strategies on this box. Shown only with base_url"
      +}
  2. Changed6 schema fields changed
    • addedOutput schema / properties / base_url
      Added value: +{
      +  "description": "Set the Hyperliquid SDK's base_url to this. Shown only when a paper box is created or rotated"
      +}
    • addedOutput schema / properties / expires_at
      Added value: +{
      +  "description": "When a trial box ends and is removed, Unix milliseconds"
      +}
    • addedOutput schema / properties / paper
      Added value: +{
      +  "description": "True on a paper box: the agent's own simulated Hyperliquid account"
      +}
    • addedOutput schema / properties / snippet
      Added value: +{
      +  "description": "A first Python program for this box. Shown only when created or rotated"
      +}
    • addedOutput schema / properties / starting_balance_usd
      Added value: +{
      +  "description": "Starting balance of a new paper box"
      +}
    • addedOutput schema / properties / trial
      Added value: +{
      +  "description": "True on a keyless trial box"
      +}
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare this is a non-idempotent, non-read-only creation with open-world scope, and the description adds substantial context beyond that: the 24-hour trial expiry, the earlier termination after 2 hours with no requests or running strategy, the auth requirements for keeping a box, and the fact that a live box remains in 'creating' until get_ironbox reports running. These are exactly the behavioral traits an agent needs before calling a creation tool.

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?

Front-loads what the tool creates, then layers lifecycle, billing and follow-up details in a logical order. It is on the longer side with some density, but nearly every sentence carries information an agent needs about expiry or live vs paper behavior.

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 zero-required-parameter creation tool with an output schema and non-destructive, open-world annotations, the description covers provisioning, trial limits, key requirements, and the live-mode transition state. Nothing essential to invoking it correctly appears to be missing.

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?

Schema description coverage is 100%, so the schema already defines mode, name, note, size, markets and runtime, including defaults. The description reinforces the paper-mode default and expiry semantics, but adds little per-parameter detail beyond what the schema provides, so the baseline of 3 applies.

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 ('Spin up an Ironbox') and immediately defines what it is: a secure sandbox next to Hyperliquid where an agent runs and trades. It is clearly distinguishable from siblings get_ironbox, list_ironboxes and delete_ironbox, which are named or implied as separate operations.

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?

Gives clear context for when this applies: no key needed for paper mode (default), a free key keeps a box, and live mode needs a paid plan. It names start_box_strategy and get_ironbox as follow-up actions. It stops short of explicit when-not-to-use guidance, which keeps it from a 5.

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.