Skip to main content
Glama

My orders and order history

get_my_orders
Read-only

The user's single orders — limit orders, take-profit and stop-loss. By default only LIVE ones (not executed yet): use that before placing a new order (to avoid duplicates) and to find an order_id for cancel_order. For HISTORY — what filled, what was cancelled and why — pass status="terminal" (optionally with since/until). Filled rows carry filled_price, fill_tx_hash and slippage_vs_trigger_pct (signed, vs the trigger that fired); cancelled rows carry cancelled_at and cancel_reason (sibling_filled = Moby closed out this exit after the other one sold the position; position_closed, user, expired, failed, unknown). History is paged: limit (default 50, max 200) newest-first rows per page; step page only if the answer is not on the first one. Pass token_address to see only one token's orders (matches the token being sold or bought); without it every order on the wallet comes back.

Reading a row: input_* is what the user SPENDS (the funding asset on a buy — USDC), token_* is the SUBJECT token the order is about, and every price is quoted against the subject token. Describe an order by token_symbol, never by input_token_symbol. ⚠️ If a row carries data_warning, it contradicts itself — report its state as unclear rather than choosing one of the readings. origin: agent is an order you placed; origin: agent_auto_exit is an older exit Moby attached before automatic exits were retired — it is still that position's exit while it rests. DCAs: dca_schedules lists the DCA schedules in the same call (live ones by default; finished ones too when status asks for history), filtered by token_address like the orders. Each row's schedule_id is what cancel_order takes to stop the whole DCA; report progress from filled_order_count / order_count.

get_my_orders answers 'what do I have running' in ONE call: orders (limit, take-profit, stop-loss) plus dca_schedules (DCA schedules, one row per schedule; a DCA's individual slices never appear in orders). get_my_dca_schedules is the same DCA rows on their own. If dca_schedules is null, the DCA read failed (dca_schedules_error): call get_my_dca_schedules before telling the user they have no DCA running. This returns the CURRENT USER's own data, resolved from their API key. There is no way to ask about someone else's wallet with this tool.

Input Schema

NameRequiredDescriptionDefault
pageNoHistory only: 1-based page number.
limitNoHistory only: rows per page, newest first (max 200).
sinceNoISO 8601 time, e.g. `2026-10-23T00:00:00Z`. Only orders whose last state change (fill, else cancel/update) is at or after this.
untilNoISO 8601 upper bound, same clock as `since`.
statusNoOmit for LIVE orders only. `terminal` = every finished order (filled, cancelled, expired, failed) — the history; `all` = live and finished; or one status / a list of statuses. A resting, unfilled order is `active` — there is no `open` and no `pending`.
networkNosolana
token_addressNoContract address: only orders on this token, whether it is the token being sold (TP/SL) or bought (limit buy). Omit for every token.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/destructive annotations, it discloses critical behavioral facts: this resolves the current user's data from their API key with no way to query another wallet, that a null dca_schedules means the read failed rather than no DCAs, and the data_warning self-contradiction rule. It also explains the origin field lifecycle and what each output field carries.

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?

Well front-loaded, opening with the core scope before expanding into history, row-reading, and DCA details. However, it is dense and somewhat repetitive toward the end (restating the DCA/orders relationship twice), which slightly exceeds what's needed given the schema already covers the params.

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 7-param tool with an output schema and rich annotations, the description covers scope, history mode, fallback behavior, literal field interpretations, and multi-tool interactions. Nothing an agent needs to call it correctly or interpret results is missing.

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 is 86%, so the schema already documents most params. The description adds real meaning: status='terminal' = full history, page stepping only when the answer isn't on page one, and token_address matching either the sold or bought token. It mostly reinforces rather than extending the schema, so a 4 rather than a 5.

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 resource ('The user's single orders — limit orders, take-profit and stop-loss') and immediately qualifies the default scope ('only LIVE ones, not executed yet'). It explicitly differentiates from siblings like get_my_dca_schedules and clarifies the boundary that a DCA's slices never appear here.

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

Usage Guidelines5/5

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

Gives explicit when-to-use conditions: 'use that before placing a new order (to avoid duplicates) and to find an order_id for cancel_order.' It also gives the history trigger ('pass status=terminal') and a fallback instruction to call get_my_dca_schedules when dca_schedules is null. No sibling ambiguity remains.

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.

Resources