Check an order
check_orderWhere an order is: not paid yet, being made, waiting, in its final check, done, or failed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| order_key | Yes | The order_key that order_report gave. |
check_orderWhere an order is: not paid yet, being made, waiting, in its final check, done, or failed.
| Name | Required | Description | Default |
|---|---|---|---|
| order_key | Yes | The order_key that order_report gave. |
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 usefully enumerates the possible order states, which helps interpret a result in the absence of an output schema, but it discloses nothing about polling/freshness behavior or whether the call requires prior payment context.
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?
A single compact sentence with no filler, and the state list is front-loaded. It is arguably terse to the point of being a fragment rather than a full statement of purpose, which keeps it below a 5.
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?
With no output schema, the description helps by listing the terminal/transient states an order can be in. Missing is any statement of the return shape (e.g., a single status value), the call's relationship to order_report, and any precondition, leaving it adequate but incomplete.
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 100% and the sole parameter's description ('The order_key that order_report gave') already documents its origin. The tool description adds no additional meaning about the parameter, so the baseline of 3 applies.
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?
The fragment 'Where an order is' implies a status-inquiry tool, and the enumerated states clarify the kind of result returned. However, there is no explicit verb+resource statement (the verb lives only in the name/title) and no differentiation from sibling reporting tools like order_report or get_report, so an agent must infer the purpose.
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?
There is no when-to-use guidance, no exclusion of alternatives, and no mention of the relationship to order_report even though the parameter schema references it. The agent gets no signal about when this tool is preferred over the report-oriented siblings.
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.