Skip to main content
Glama

Ship sales order

ship_sales_order
Destructive

Ship quantities on a sales order. Each line is line_id and quantity. Two-step confirm_token: the first call without confirm_token only returns confirmation_required, a summary, and confirm_token. That call does not write, delete, cancel, or send. The second call must repeat the same arguments plus that confirm_token; that is the write. A confirm boolean is ignored. The token expires in 5 minutes and works once.

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>",
      "lines": "<lines>"
    },
    "name": "ship_sales_order"
  }
}

Input Schema

NameRequiredDescriptionDefault
linesYes
order_idYes
confirm_tokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that the first call is a no-op returning confirmation_required/summary/confirm_token, that the second call must repeat identical arguments plus the token, that the token is single-use and expires in 5 minutes, and that a 'confirm' boolean is ignored. This is exactly the state-machine context an agent needs before a destructive write.

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?

Five tight sentences, front-loaded with the action, then the two-step mechanics, then edge cases (expiry, single use, ignored boolean). No filler and no repetition of schema structure.

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?

No output schema exists, and the description usefully names the fields returned by the dry-run call, so the agent knows what to expect. It still leaves out failure modes (insufficient stock, invalid line_id, order state prerequisites) and the meaning of location_id, which matter for a destructive shipping operation.

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

Parameters4/5

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

With 0% schema description coverage the description does the work: it defines lines as line_id+quantity and explains confirm_token's role and the required argument-repetition. It omits the optional nested location_id, the quantity minimum of 0, and the 1-100 line bounds, which remain undocumented anywhere.

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 ('Ship quantities on a sales order') and defines the line granularity. It does not name any sibling (e.g. confirm_sales_order, update_sales_order, cancel_sales_order) to differentiate itself, but the action 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 clear procedural guidance for the two-call pattern and explicitly notes the first call does not write. It does not say when to use this instead of confirm_sales_order or update_sales_order, nor any preconditions (e.g. order must be confirmed first), leaving an inference gap.

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