Track an order
track_orderGet the status and history of an order. Needs the order id and the phone number it was placed with.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| phone | Yes | ||
| order_id | Yes |
track_orderGet the status and history of an order. Needs the order id and the phone number it was placed with.
| Name | Required | Description | Default |
|---|---|---|---|
| phone | Yes | ||
| order_id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that the phone must be "the phone number it was placed with," hinting at an identity/verification gate, but does not say what happens if the phone does not match the order or what the history contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler: the outcome is front-loaded, and the prerequisite follows. Nothing is repeated from the schema or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with two scalar parameters and no output schema, the description covers the purpose, the return content, and both required inputs. The only gap is the failure mode when the phone does not match, which an agent would likely need to interpret errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the parameter meaning, and it does clarify that phone must be the one the order was placed with rather than any contact number. It adds no format guidance (country code, digits only) for either identifier, leaving real ambiguity for a 0%-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get the status and history of an order") and names the returned content, which distinguishes it from siblings such as get_quote or cancel_order. It does not explicitly contrast itself with any sibling, which keeps it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to call it by naming the two identifiers required, which implies the caller already has an order in hand. It gives no explicit exclusions or alternatives (e.g. cancel_order or get_quote) for an agent that is unsure which order-related tool fits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.