Skip to main content
Glama

Starshipit MCP by usefulapi

Create an unshipped order

starshipit_create_order
Destructive

WRITE: create ONE new UNSHIPPED order in Starshipit (order number, destination, optional items, parcels, sender). No label is printed, no shipment is booked and no postage is bought; staff still print the label in Starshipit. Not idempotent: creating the same order_number twice may create a duplicate, so check with starshipit_search_orders first. Starshipit rules configured in the account (carrier selection, validation) may run on the new order. POST /api/orders.

Input Schema

NameRequiredDescriptionDefault
itemsNo
carrierNoStarshipit carrier code, e.g. AusPost (optional; rules may choose one).
currencyNoCurrency code of the item values, e.g. AUD.
packagesNo
referenceNoCustomer reference (max 50 chars).
destinationYes
order_numberYesOrder number from the source system (max 50 chars).
return_orderNotrue = a return order (only the return label will be generated later).
sender_detailsNoSender; omitted = the account's pickup address.
shipping_methodNoDelivery method name, e.g. Express Shipping.
signature_requiredNo
carrier_service_codeNoCarrier service code from a rates quote, e.g. 7B05.
shipping_descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=true), it clarifies the actual blast radius: no label printed, no shipment booked, no postage bought, and that account-level rules (carrier selection, validation) may run. It also explains the duplicate-creation consequence of the non-idempotency hint and names the POST endpoint.

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?

Front-loaded with 'WRITE:', then packed with distinct, non-redundant facts across three tight sentences. Nothing is padding and the most decision-relevant scoping ('UNSHIPPED', non-idempotent) comes first.

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?

For a 13-parameter, nested-object create tool with no output schema, the description covers purpose, side-effect scope, idempotency risk and rules behavior. The remaining gap is that it says nothing about what the call returns (e.g. the created order identifier) and leaves part of the parameter surface to the schema.

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 62% and the description only restates the top-level axes (order number, destination, items, parcels, sender) without adding format or semantics. It neither compensates for the undocumented parameters nor would be needed given what the nested schema already carries.

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

Purpose5/5

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

States a specific verb and resource ('create ONE new UNSHIPPED order in Starshipit') and enumerates the payload axes (order number, destination, items, parcels, sender). The 'UNSHIPPED' scope distinguishes it from list_shipped_orders, get_rates and update_order siblings.

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?

It names an alternative and the condition that selects it: 'check with starshipit_search_orders first' because the call is not idempotent. Clear context for safe invocation, though it does not contrast against siblings like update_order or add_order_tags.

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.