Skip to main content
Glama

Tronsave MCP Testnet

List Orders

tronsave_list_orders
Read-onlyIdempotent

Query the order list with paging. Returns { orders: [{ id, requester?.address, receiver.address, resourceType, resourceAmount, remainAmount, durationSec, unitPrice (SUN), isOwner, isMatching, apy, createdAt, typeOrder (NORMAL|FAST|EXTEND) }] }. Filter status maps to GraphQL isFulfilled: ACTIVE → UNFULFILLED, COMPLETED → FULFILLED. Set onlyMyOrder=true (requires signature login + mcp-session-id) to scope to the caller's wallet as requester. Paging uses offset/limit. Use tronsave_get_order with an id for one full snapshot before mutating an order.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum rows to return in one call. Prefer modest limits to avoid huge payloads; page with `offset`.
offsetNoZero-based row offset for page N (skip first `offset` matches). Omit when starting from the first page.
statusNoLifecycle filter mapped to GraphQL `isFulfilled`: `ACTIVE` → `UNFULFILLED` (not yet fulfilled), `COMPLETED` → `FULFILLED`.
resourceTypeNoRestrict to `ENERGY` or `BANDWIDTH` orders; omit for both.
isOnlyMyOrderNoWhen `true`, only orders whose `requester` is the wallet from the signature session; include `mcp-session-id`. Api-key-only sessions have no wallet address and cannot use this filter. When `false` or omitted, return all orders on the market (no requester filter).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
ordersYesMatching orders for this page; may be large—use pagination inputs to chunk.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / isOnlyMyOrder / description
      Previous value: -"When `true`, only orders whose `requester` is the wallet from the signature session; include `mcp-session-id`. Api-key-only sessions have no wallet address and cannot use this filter."New value: +"When `true`, only orders whose `requester` is the wallet from the signature session; include `mcp-session-id`. Api-key-only sessions have no wallet address and cannot use this filter. When `false` or omitted, return all orders on the market (no requester filter)."
  2. Changed14 schema fields changed
    • removedInput schema / properties / fromId
      Removed value: -{
      -  "description": "Optional continuation cursor (order `id` / opaque string from prior browsing). Use with `limit` when the API supports stable cursor paging instead of only offset.",
      -  "type": "string"
      -}
    • removedInput schema / properties / isFulfilled
      Removed value: -{
      -  "description": "Lifecycle filter: `FULFILLED` completed orders vs `UNFULFILLED` still open/active.",
      -  "enum": [
      -    "FULFILLED",
      -    "UNFULFILLED"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / isMatching
      Removed value: -{
      -  "description": "When true with `myAddress` set, narrow to orders where that address participates in matching context (provider/counterparty semantics per TronSave). Omit when not needed.",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / isOnlyMyOrder
      Added value: +{
      +  "description": "When `true`, only orders whose `requester` is the wallet from the signature session; include `mcp-session-id`. Api-key-only sessions have no wallet address and cannot use this filter.",
      +  "type": "boolean"
      +}
    • removedInput schema / properties / isOwner
      Removed value: -{
      -  "description": "When true with `myAddress` set, return only orders where that address is the owner/requester side. Ignored or ineffective if `myAddress` is omitted (backend-dependent).",
      -  "type": "boolean"
      -}
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum rows to return in one call (hard cap 100). Prefer modest limits to avoid huge payloads; page with `offset` and/or `fromId`."New value: +"Maximum rows to return in one call. Prefer modest limits to avoid huge payloads; page with `offset`."
    • removedInput schema / properties / limit / exclusiveMinimum
      Removed value: -0
    • changedInput schema / properties / limit / maximum
      Previous value: -100New value: +10
    • addedInput schema / properties / limit / minimum
      Added value: +1
    • removedInput schema / properties / myAddress
      Removed value: -{
      -  "description": "TRON base58 viewer address for ownership/matching filters. Often required for meaningful results when using `isOwner` or `isMatching`.",
      -  "type": "string"
      -}
    • changedInput schema / properties / offset / maximum
      Previous value: -9007199254740991New value: +200
    • removedInput schema / properties / receivers
      Removed value: -{
      -  "description": "Optional allowlist of receiver TRON addresses; only orders whose receiver is in this list are returned.",
      -  "items": {
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / sortFilterBy
      Removed value: -{
      -  "description": "Ordered list of `{ fieldType, arrangeType }` entries; sorts are applied in sequence (primary, then tie-breakers).",
      -  "items": {
      -    "properties": {
      -      "arrangeType": {
      -        "description": "`ASC` ascending or `DESC` descending for `fieldType`.",
      -        "enum": [
      -          "ASC",
      -          "DESC"
      -        ],
      -        "type": "string"
      -      },
      -      "fieldType": {
      -        "description": "Which order field to sort by (e.g. `CREATE_AT`, `PRICE`, `RESOURCE_AMOUNT`).",
      -        "enum": [
      -          "DURATION_SEC",
      -          "CREATE_AT",
      -          "FULFILLED",
      -          "RESOURCE_AMOUNT",
      -          "PRICE",
      -          "PAYOUT",
      -          "APY",
      -          "UPDATE_AT",
      -          "CANCEL_AT",
      -          "REMAIN_AMOUNT",
      -          "DEPOSIT_AMOUNT"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "fieldType",
      -      "arrangeType"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "Lifecycle filter mapped to GraphQL `isFulfilled`: `ACTIVE` → `UNFULFILLED` (not yet fulfilled), `COMPLETED` → `FULFILLED`.",
      +  "enum": [
      +    "ACTIVE",
      +    "COMPLETED"
      +  ],
      +  "type": "string"
      +}
  3. Changed29 schema fields changed
    • changedInput schema / properties / fromId / description
      Previous value: -"Cursor-like starting id for incremental pagination streams."New value: +"Optional continuation cursor (order `id` / opaque string from prior browsing). Use with `limit` when the API supports stable cursor paging instead of only offset."
    • changedInput schema / properties / isFulfilled / description
      Previous value: -"Filter by order lifecycle state: `FULFILLED` or `UNFULFILLED`."New value: +"Lifecycle filter: `FULFILLED` completed orders vs `UNFULFILLED` still open/active."
    • changedInput schema / properties / isMatching / description
      Previous value: -"Filter by matching capability/status according to backend semantics."New value: +"When true with `myAddress` set, narrow to orders where that address participates in matching context (provider/counterparty semantics per TronSave). Omit when not needed."
    • changedInput schema / properties / isOwner / description
      Previous value: -"If true, keep only orders where `myAddress` is owner/requester."New value: +"When true with `myAddress` set, return only orders where that address is the owner/requester side. Ignored or ineffective if `myAddress` is omitted (backend-dependent)."
    • changedInput schema / properties / limit / description
      Previous value: -"Page size (max 100). Use small values for iterative browsing."New value: +"Maximum rows to return in one call (hard cap 100). Prefer modest limits to avoid huge payloads; page with `offset` and/or `fromId`."
    • changedInput schema / properties / myAddress / description
      Previous value: -"Viewer/anchor wallet address used by backend ownership/matching context."New value: +"TRON base58 viewer address for ownership/matching filters. Often required for meaningful results when using `isOwner` or `isMatching`."
    • changedInput schema / properties / offset / description
      Previous value: -"Zero-based pagination offset (skip N rows)."New value: +"Zero-based row offset for page N (skip first `offset` matches). Omit when starting from the first page."
    • changedInput schema / properties / receivers / description
      Previous value: -"Optional receiver-address allowlist."New value: +"Optional allowlist of receiver TRON addresses; only orders whose receiver is in this list are returned."
    • addedInput schema / properties / receivers / items / minLength
      Added value: +1
    • changedInput schema / properties / resourceType / description
      Previous value: -"Filter by resource type (`ENERGY` or `BANDWIDTH`)."New value: +"Restrict to `ENERGY` or `BANDWIDTH` orders; omit for both."
    • changedInput schema / properties / sortFilterBy / description
      Previous value: -"Optional sort list, applied in order."New value: +"Ordered list of `{ fieldType, arrangeType }` entries; sorts are applied in sequence (primary, then tie-breakers)."
    • addedInput schema / properties / sortFilterBy / items / properties / arrangeType / description
      Added value: +"`ASC` ascending or `DESC` descending for `fieldType`."
    • addedInput schema / properties / sortFilterBy / items / properties / fieldType / description
      Added value: +"Which order field to sort by (e.g. `CREATE_AT`, `PRICE`, `RESOURCE_AMOUNT`)."
    • addedOutput schema / properties / orders / description
      Added value: +"Matching orders for this page; may be large—use pagination inputs to chunk."
    • addedOutput schema / properties / orders / items / properties / apy / description
      Added value: +"Annualized yield hint as returned by the API (see TronSave semantics)."
    • addedOutput schema / properties / orders / items / properties / createdAt / description
      Added value: +"Order creation time (ISO-8601)."
    • addedOutput schema / properties / orders / items / properties / durationSec / description
      Added value: +"Delegation duration in seconds."
    • addedOutput schema / properties / orders / items / properties / id / description
      Added value: +"Order id (`MObjectId`); use with `tronsave_get_order` or mutate tools."
    • addedOutput schema / properties / orders / items / properties / isMatching / description
      Added value: +"Whether this order matches the viewer/matching filter used in the query."
    • addedOutput schema / properties / orders / items / properties / isOwner / description
      Added value: +"Whether the list query’s viewer context treats this row as owned by `myAddress`."
    • addedOutput schema / properties / orders / items / properties / receiver / description
      Added value: +"Receiver wallet and related party info for the delegation leg."
    • addedOutput schema / properties / orders / items / properties / receiver / properties / address / description
      Added value: +"TRON base58 address for this party."
    • addedOutput schema / properties / orders / items / properties / remainAmount / description
      Added value: +"Resource not yet consumed or remaining to fulfill."
    • changedOutput schema / properties / orders / items / properties / requester / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "address": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "address"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "address": {
      +        "description": "TRON base58 address for this party.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "address"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / orders / items / properties / requester / description
      Added value: +"Requester party when present."
    • addedOutput schema / properties / orders / items / properties / resourceAmount / description
      Added value: +"Original resource amount on the order."
    • addedOutput schema / properties / orders / items / properties / resourceType / description
      Added value: +"`ENERGY` or `BANDWIDTH`."
    • addedOutput schema / properties / orders / items / properties / typeOrder / description
      Added value: +"Market order flavor."
    • addedOutput schema / properties / orders / items / properties / unitPrice / description
      Added value: +"Unit price in SUN."
  4. Changed10 schema fields changed
    • addedInput schema / properties / fromId / description
      Added value: +"Cursor-like starting id for incremental pagination streams."
    • addedInput schema / properties / isFulfilled / description
      Added value: +"Filter by order lifecycle state: `FULFILLED` or `UNFULFILLED`."
    • addedInput schema / properties / isMatching / description
      Added value: +"Filter by matching capability/status according to backend semantics."
    • addedInput schema / properties / isOwner / description
      Added value: +"If true, keep only orders where `myAddress` is owner/requester."
    • addedInput schema / properties / limit / description
      Added value: +"Page size (max 100). Use small values for iterative browsing."
    • addedInput schema / properties / myAddress / description
      Added value: +"Viewer/anchor wallet address used by backend ownership/matching context."
    • addedInput schema / properties / offset / description
      Added value: +"Zero-based pagination offset (skip N rows)."
    • addedInput schema / properties / receivers / description
      Added value: +"Optional receiver-address allowlist."
    • addedInput schema / properties / resourceType / description
      Added value: +"Filter by resource type (`ENERGY` or `BANDWIDTH`)."
    • addedInput schema / properties / sortFilterBy / description
      Added value: +"Optional sort list, applied in order."
  5. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds behavioral context such as the requirement of signature login for isOnlyMyOrder and the status mapping, but does not contradict annotations. Slightly more detail could describe pagination behavior, but overall adequate.

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 well-structured, front-loading the primary action and return format. It is slightly verbose but every sentence adds value. Minor redundancy could be trimmed, but it remains efficient.

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?

Given 5 parameters, full schema coverage, and an output schema, the description covers paging, filtering, auth, and status mapping. No gaps remain for the agent to use the tool correctly.

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 100% with descriptions, but the description adds meaningful context: explains the status enum mapping, clarifies that isOnlyMyOrder requires mcp-session-id and a signature session, and provides hints on limit usage. This goes beyond the schema's literal 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 'Query the order list with paging' and lists the return fields. It distinguishes this listing tool from sibling tools like tronsave_get_order (single order) and tronsave_create_order (mutation), making its purpose unambiguous.

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?

Provides explicit guidance: paging with offset/limit, status mapping (ACTIVE/COMPLETED to GraphQL isFulfilled), and when to use isOnlyMyOrder with session requirements. Also recommends using tronsave_get_order before mutating. This helps the agent decide when and how to use the tool.

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