Skip to main content
Glama

Shippit MCP by usefulapi

Create order

shippit_create_order
Destructive

WRITE: create a domestic shipping order in Shippit. Shippit then allocates a carrier (your account rules, or the carrier named in courier_allocation) and, unless suppress_communications is true, emails the recipient tracking notifications. Requires confirm: true. Standard, express and click-and-collect orders are only booked with the carrier later, by shippit_label_order and shippit_book_orders (priority and on-demand orders, which book inside the create request, are not supported here). validate defaults to true: the order is not saved when the suburb and postcode do not match (a suggested address is returned instead). Creating twice creates two orders. International orders (customs data) are not supported here. POST /orders.

Input Schema

NameRequiredDescriptionDefault
tagsNoYour own labels for filtering.
confirmYesMust be true. The order is real: it can email the customer and, for a named on-demand carrier, book it at once. Ask the user to confirm first.
parcelsYesThe parcels (qty and weight are the minimum; leave qty out when you also send products).
featuresNoCarrier add-on services; some need prior approval from Shippit.
productsNoOptional line items for the packing slip.
validateNoReject the order if suburb and postcode do not match (default true).
courier_typeNoService level (default standard). Give this or courier_allocation.
receiver_nameNoName of the person receiving it, if different from the customer.
customer_emailYesThe customer's email (Shippit sends tracking notifications here unless suppressed).
delivery_stateYesState. Australian orders use NSW, VIC, QLD, WA, SA, TAS, ACT or NT.
customer_mobileNo
delivery_suburbYes
delivery_addressYes
delivery_companyNo
retailer_invoiceNoYour order number, printed on the label and packing slip.
delivery_postcodeYes
authority_to_leaveNoWhether the parcel may be left unattended.
courier_allocationNoA specific carrier keyword, e.g. CouriersPlease (see the Shippit carriers list). Instead of courier_type.
customer_last_nameNo
retailer_referenceNo
customer_first_nameYes
delivery_country_codeNoTwo-letter country code (default: the merchant's home country, usually AU).
delivery_instructionsNoInstructions for the driver, at most 55 characters.
receiver_contact_numberNo
suppress_communicationsNotrue = Shippit sends no tracking notifications to the customer for this order (default false: it does).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantial context beyond the destructive/non-idempotent annotations: Shippit allocates a carrier, emails the recipient tracking notifications unless suppressed, and "creating twice creates two orders" — a critical duplicate-creation warning aligned with idempotentHint=false. It also discloses that validate returns a suggested address on rejection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the WRITE tag and the core action, then the booking-flow caveat, then validation and idempotency. Dense but every sentence carries operative information; only the repeated booking note feels slightly heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 25-param mutation with no output schema, the description covers the safety profile (confirm, duplicate risk), side effects (emails, carrier allocation), validation behavior, and scope exclusions (international). An agent has enough to call it safely without guessing about return values.

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?

At 64% schema coverage, the description earns credit by clarifying the courier_type vs courier_allocation mutual choice, confirm semantics, and that validate defaults to true. These are the highest-risk fields and the description explains them well beyond the schema's per-field text.

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?

Opens with a specific verb+resource and scope: "WRITE: create a domestic shipping order in Shippit." It explicitly delineates against siblings by naming shippit_label_order and shippit_book_orders as the tools that later book standard/express/click-and-collect orders, and rules out priority/on-demand orders.

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 concrete preconditions and exclusions: requires confirm:true, international/customs orders are unsupported, and validation defaults reject mismatched suburb/postcode. It clearly routes post-create booking to shippit_label_order and shippit_book_orders. It stops short of describing when to prefer shippit_get_quotes or an upfront quoting flow before creating.

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.