Skip to main content
Glama

Order status and tracking

get_order
Read-onlyIdempotent

Check an order: status (awaiting_payment → confirmed → printing → ready_for_dispatch → pickup_scheduled → shipped → out_for_delivery → delivered; or returning, returned, lost if the parcel did not arrive), tracking number once it is booked with the courier (ready_for_dispatch) with every courier scan in tracking.events, and — while unpaid — the payment_url again (so you can always re-answer "how do I pay"). Requires the order_token from create_order, or the API key that created the order (Authorization: Bearer mp_live_...).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "order_id": "<order_id>"
    },
    "name": "get_order"
  }
}

Input Schema

NameRequiredDescriptionDefault
order_idYesThe order_id returned by create_order, e.g. ord_01HZX8K3M9QWER5T7Y2B4N6C8D. Not the order_token.
order_tokenNoThe token returned once by create_order. Optional if you send the API key that created the order instead.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / order_id / description
      Added value: +"The order_id returned by create_order, e.g. ord_01HZX8K3M9QWER5T7Y2B4N6C8D. Not the order_token."
  2. Changed2 schema fields changed
    • changedInput schema / properties / order_token / description
      Previous value: -"The token returned once by create_order."New value: +"The token returned once by create_order. Optional if you send the API key that created the order instead."
    • changedInput schema / required
      Previous value: -[
      -  "order_id",
      -  "order_token"
      -]New value: +[
      +  "order_id"
      +]
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it publishes the full status state machine including terminal failure states (returning, returned, lost), the exact lifecycle point at which a tracking number appears (ready_for_dispatch), and that payment_url is included only while unpaid. The auth prerequisite (Bearer mp_live_...) is also disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every clause carries information and the retrieval list is front-loaded, but it is delivered as one very long sentence with two nested parentheticals (the status chain and the payment note), which makes it harder to scan than a short bulleted or multi-sentence form.

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?

With no output schema, the description carries the burden of describing return content, and it does: status values, tracking.events, and payment_url. Combined with the dual-auth note and the schema's parameter docs, an agent has everything needed to call this correctly.

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 already 100%, including the crucial 'not the order_token' clarification on order_id. The description adds the conditional logic for order_token — it is required unless the API key that created the order is supplied — which the schema only states more weakly as 'optional'.

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?

Starts with a specific verb and resource ("Check an order") and immediately enumerates the three things returned: status, tracking number with courier scans, and the payment_url. It is trivially distinguishable from create_order and cancel_order, which mutate rather than read.

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?

It makes the retrieval context explicit (re-check status, re-surface payment_url while unpaid, fetch tracking once booked) and states the authentication alternatives: order_token from create_order or the API key that created the order. It stops short of naming when to prefer a sibling such as cancel_order, but the read-only polling intent is clear.

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