Skip to main content
Glama

fulfillment_order_status

Read-only

Check a 3D print order's status, tracking details, and estimated delivery; if the order is unpaid, return its checkout payment link.

Instructions

Check the status of a fulfillment order.

        Args:
            order_id: Order ID from ``fulfillment_order``.

        Returns current order state, tracking info, and estimated delivery.

        The reply opens with ``tell_the_person``: where the order is and,
        while it is unpaid, the link to pay for it. Pass every line on to
        the person word for word.

        Nothing is made until an order is paid on the print service's
        checkout, and Kiln cannot pay it for them. When the person wants to
        pay, asks how to pay, or asks about an order that is not paid yet,
        call this right away for that order and give them the link to pay
        first, before anything else, without waiting to be asked for it.

        If the person asks whether they can pay with a particular method,
        answer from ``provider_pay_methods`` in the reply: yes for one it
        lists; for any other, say Kiln doesn't know and that the checkout
        page shows every option for their country. Never claim a method
        that isn't listed.
        

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": "fulfillment_order_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
order_idYesOrder ID from ``fulfillment_order``.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.1
    • addedInput schema / properties / order_id / description
      Added value: +"Order ID from ``fulfillment_order``."
  2. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the read-only, non-destructive, closed-world safety profile, yet the description still adds substantial context: what the reply contains (order state, tracking, estimated delivery, a leading tell_the_person block, provider_pay_methods), the relaying expectation, and the business constraint that nothing is produced until payment and Kiln cannot pay. That is meaningful disclosure for a tool with no output schema. Minor gap: no mention of what happens with an invalid or unknown order_id.

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?

Purpose is front-loaded, followed by args, returns, and behavioral guidance, so an agent can stop reading early if it only needs the one-liner. There is some waste: the Args docstring block duplicates the schema verbatim, and the payment-method paragraph is longer than strictly necessary.

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 correctly takes on the job of explaining the return shape and the special tell_the_person / provider_pay_methods fields, plus the payment gating behavior. Combined with annotations, an agent has what it needs to call and relay results; only error-path behavior is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is documented in the schema with the identical phrasing 'Order ID from ``fulfillment_order``.' The description merely repeats it in an Args block, adding no format, provenance, or lookup guidance beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Check the status of a fulfillment order,' which cleanly separates it from fulfillment_order (creation) and fulfillment_cancel in the sibling list. It does not explicitly name those siblings, so an agent must infer the distinction from the verb, but the purpose itself is unambiguous.

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?

Gives concrete triggering conditions: 'When the person wants to pay, asks how to pay, or asks about an order that is not paid yet, call this right away ... without waiting to be asked.' This is strong proactive when-to-use guidance. It stops short of naming an alternative tool to use instead for non-status needs, so it is not a full when/when-not/alternative triad.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools