Skip to main content
Glama

Open a position (market entry + optional bracket)

open_position

Enter a NEW position with a MARKET order, sized by base size OR quote notionalUsd (exactly one required; notionalUsd converts at the oracle price and is floored to the step size). Optionally attach a reduce-only stopLossPrice and/or takeProfitPrice as conditional orders in the SAME call (the bracket, placed with the opposite/closing side and a 500 bps execution bound past the trigger). slippageBps caps the entry fill vs oracle (default 500). Returns the entry confirmation plus any bracket order ids. Bracket legs are placed only if the entry broadcast succeeds; each is reduce-only so it can only close, never flip.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sideYes
sizeNoPosition size in base units.
marketYesMarket ticker, e.g. BTC-USD
confirmNo
notionalUsdNoPosition size in quote USD (converted at oracle). Use instead of size.
slippageBpsNoMax slippage vs oracle for the entry, in bps (default 500).
stopLossPriceNoAttach a reduce-only stop-loss trigger at this price.
takeProfitPriceNoAttach a reduce-only take-profit trigger at this price.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations indicate it is not read-only, idempotent, or destructive. The description adds rich behavioral context: market order execution, size/notionalUsd mutual exclusivity, bracket legs placed only if entry succeeds, reduce-only nature, execution bound, and slippage cap. No contradiction with annotations.

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 dense but clear, front-loading the main action and detailing constraints progressively. Each sentence adds value, though it could be slightly more concise without losing 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?

With no output schema, the description covers return values (confirmation, bracket IDs) and main behavior (entry with conditional orders). It lacks error conditions or handling of partial failures, but the complexity (8 parameters) is well-addressed.

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 coverage is 75%, but the description adds significant meaning: explains mutual exclusivity of size and notionalUsd, conversion details, default slippage, and bracket parameters' behavior (reduce-only, opposite side, execution bound). This goes well beyond schema descriptions.

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 enters a new position with a market order and optionally attaches bracket orders. It distinguishes itself from siblings like place_market_order (which lacks position context) and close_position by focusing on opening a new position with conditional orders.

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 specifies when to use (entering a new position with a market order) and when to use bracket attachments. However, it lacks explicit exclusion of alternatives like place_market_order for simpler market entries or place_stop_loss/place_take_profit for standalone conditional orders.

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.

TDQS

A3.7/5.0
Disambiguation3/5

Most tools are clearly distinct, but there is overlap among the read-heavy account tools: get_balance/get_funding_status/fund virtually duplicate each other, and get_equity/get_portfolio/get_position_risk/get_open_orders/get_positions all converge on equity and open-position data. The detailed descriptions help an agent choose, but several tools have fuzzy boundaries.

Naming Consistency4/5

The overwhelming majority follow the expected verb_noun convention: get_*, place_*, cancel_*, close_*. Minor deviations such as batch_cancel, get_candles_multi, top_up_gas, and whoami make the pattern not perfectly uniform, but the inconsistency is small.

Tool Count2/5

At 33 tools, the surface is beyond what most agents need and includes several redundant query helpers rather than genuinely distinct operations. A broad exchange can justify a large surface, but get_balance/get_funding_status, get_equity/get_portfolio/get_position_risk, and get_candles/get_candles_multi make the set feel top-heavy.

Completeness4/5

The core lifecycle is well covered: market discovery, market data, order placement/cancellation, position management, risk, funding transfers, PnL, and account status. Obvious gaps are limited to historical order lookup by order ID, a way to cancel across all markets in one call, and a few optional account-history conveniences.