order_status
Check an order. Poll every ~3 s until terminal is true: delivered (confirmation + signed receipt), refunded (refund txid + signed receipt) or refund_failed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes |
Check an order. Poll every ~3 s until terminal is true: delivered (confirmation + signed receipt), refunded (refund txid + signed receipt) or refund_failed.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that the tool may not be immediately terminal, requires polling, and details what each terminal state returns (confirmation, signed receipt, refund txid). This is transparent about the expected interaction pattern and response contents.
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?
The description is a single well-organized sentence that front-loads the purpose, then uses a colon and list to convey polling behavior and terminal states. Every word contributes meaning; there is no wasted text or redundancy.
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?
The tool has one parameter, no annotations, and no output schema, so the description must cover the essentials. It covers the terminal outcomes and polling interval, but it omits details about non-terminal response shapes, error handling, or what the 'terminal' flag looks like in the response. Some gaps remain for a fully self-sufficient description.
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?
The schema has 0% description coverage for the single required parameter 'orderId', so the description must compensate. It only says 'Check an order', which implies orderId identifies the order but provides no format, example, or additional context. For a low-coverage schema, this is insufficient.
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 description clearly states the tool's purpose with a specific verb and resource ('Check an order') and enumerates the three possible terminal outcomes (delivered, refunded, refund_failed), which makes the function of the tool unmistakable. It doesn't explicitly differentiate from the sibling 'verify_receipt', though the focus on order-level status is reasonably distinct.
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 gives explicit usage guidance: 'Poll every ~3 s until `terminal` is true', which tells the agent exactly how to interact with the tool over time. It doesn't mention when to prefer this over alternatives or provide exclusion criteria, but the polling protocol is concrete and actionable.
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.
Each tool has a distinct role in the purchase lifecycle: browsing offers, looking up numbers, quoting, buying, checking orders, and verifying receipts. Some overlap exists between list_offers and lookup_phone, and buy and quote require careful reading, but the descriptions resolve the boundaries.
Names mix noun-only tools (ledger, fx), bare verbs (buy, quote), and verb_noun pairs (list_offers, lookup_phone, verify_receipt, order_status). All are lowercase with underscores, so they are readable, but the naming pattern is not consistent.
Eight tools is well-scoped for a top-up and payment service. Each tool maps to a necessary step or informational need, with no obvious bloat or redundancy.
The core lifecycle is covered: discover offers, quote, buy, check order status, and verify receipts. Minor gaps exist such as no explicit quote cancellation or order history listing, but the public ledger and expiry mechanism mitigate these.