Skip to main content
Glama

get_order

Read-only

Retrieve a confirmed order's status, items, and payment details by order_id. customer_email is required as soft-auth and must exactly match the order record, prevents arbitrary order lookups. Returns payment status (paid | pending | failed), production status, and dispatch date once available.

Input Schema

NameRequiredDescriptionDefault
order_idYes
customer_emailYes

Output Schema

NameRequiredDescriptionDefault
itemsNo
paid_atNo
currencyYes
order_idYes
lead_timeNo
total_zarYes
order_statusNo
payment_statusYes
order_referenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / customer_email / description
      Removed value: -"Email address on the order. Must match the order record (not case-sensitive)."
    • removedInput schema / properties / order_id / description
      Removed value: -"Order reference: the checkout_id returned by create_checkout."
  2. Changed2 schema fields changed
    • addedInput schema / properties / customer_email / description
      Added value: +"Email address on the order. Must match the order record (not case-sensitive)."
    • addedInput schema / properties / order_id / description
      Added value: +"Order reference: the checkout_id returned by create_checkout."
  3. Changed10 schema fields changed
    • removedOutput schema / properties / created_at
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / customer
      Removed value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "address": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "city": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "email": {
      -      "type": "string"
      -    },
      -    "name": {
      -      "type": "string"
      -    },
      -    "phone": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    }
      -  },
      -  "required": [],
      -  "type": "object"
      -}
    • changedOutput schema / properties / items / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "colour": {
      -          "type": "string"
      -        },
      -        "finish": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "height": {
      -          "type": "number"
      -        },
      -        "mountType": {
      -          "type": "string"
      -        },
      -        "price": {
      -          "type": "number"
      -        },
      -        "productId": {
      -          "type": "string"
      -        },
      -        "productName": {
      -          "type": "string"
      -        },
      -        "quantity": {
      -          "type": "number"
      -        },
      -        "total": {
      -          "type": "number"
      -        },
      -        "width": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "colour": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "drop_mm": {
      +          "type": "number"
      +        },
      +        "mount_type": {
      +          "type": "string"
      +        },
      +        "product_name": {
      +          "type": "string"
      +        },
      +        "product_slug": {
      +          "type": "string"
      +        },
      +        "quantity": {
      +          "type": "number"
      +        },
      +        "total_price": {
      +          "type": "number"
      +        },
      +        "unit_price": {
      +          "type": "number"
      +        },
      +        "width_mm": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / lead_time
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / order_reference
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / order_status
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / paid_at
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / payment_method
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "order_id"
      -]New value: +[
      +  "order_id",
      +  "payment_status",
      +  "total_zar",
      +  "currency"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "created_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "currency": {
      +      "const": "ZAR",
      +      "type": "string"
      +    },
      +    "customer": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "address": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "city": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "email": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "phone": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "items": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "additionalProperties": true,
      +            "properties": {
      +              "colour": {
      +                "type": "string"
      +              },
      +              "finish": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "height": {
      +                "type": "number"
      +              },
      +              "mountType": {
      +                "type": "string"
      +              },
      +              "price": {
      +                "type": "number"
      +              },
      +              "productId": {
      +                "type": "string"
      +              },
      +              "productName": {
      +                "type": "string"
      +              },
      +              "quantity": {
      +                "type": "number"
      +              },
      +              "total": {
      +                "type": "number"
      +              },
      +              "width": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "order_id": {
      +      "type": "string"
      +    },
      +    "payment_method": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "payment_status": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "status": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "total_zar": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "order_id"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.8/5.0
Behavior5/5

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

It adds critical behavioral context beyond the annotations and schema, detailing that 'customer_email is required as soft-auth.' Furthermore, it explains the security mechanism that this requirement enforces ('prevents arbitrary order lookups'). It also scopes the return values, mentioning their potential future state, like 'once available.'

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

Conciseness5/5

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

The definition is highly efficient. The core function is front-loaded, and every clause is used to define a constraint (e.g., 'confirmed order's status,' 'soft-auth,' 'prevents arbitrary order lookups').

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?

The description is exhaustive. Given that an output schema exists, the description doesn't need to detail return types, but it does list all primary data points that will be returned (status, items, payment details, production status, and dispatch date), providing full context for the agent.

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?

Since the schema description coverage is 0%, the description must carry the full semantic load. It provides crucial information about 'customer_email' that is not in the schema: it explains that this field serves as a soft-auth mechanism and must match the order record exactly.

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 defines the function using a specific verb ('Retrieve') applied to a specific resource ('confirmed order'). It informs the agent that the scope is limited to retrieving order status, items, and payment details, which is distinct from tools like `get_cart` or `get_price`.

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 implies usage when a confirmed order's data (like status or items) is needed. While it defines its scope ('confirmed order'), it does not explicitly state when NOT to use it, though the scope is sufficiently narrowed by this constraint to be highly effective.

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