Tool Reference
Mailhub MCP exposes eight tools. That is the entire surface: there are no MCP resources and no MCP prompts, and no tool exists beyond this list.
| Tool | Use | Permission | Changes data | Confirmation | Spends funds |
|---|---|---|---|---|---|
mailhub_list_orders | Page through the account's Orders | View access to Orders | No | Not required | No |
mailhub_get_order | Read one Order and its Shipment | View access to Orders | No | Not required | No |
mailhub_create_order | Create an Order from addresses and parcels | Update access to Orders | Yes | confirm: true | No |
mailhub_get_shipment_rates | Get carrier Rates for a Shipment | Update access to Orders | No | Not required | No |
mailhub_buy_label | Buy a Label for a selected Rate | Update access to Orders | Yes | confirm: true | Yes |
mailhub_download_label | Get the Mailhub link for a purchased Label | View access to Orders | No | Not required | No |
mailhub_cancel_label | Cancel a purchased Label | Update access to Orders | Yes | confirm: true | No |
mailhub_update_order_status | Move one Order to another status | Update access to Orders | Yes | confirm: true | No |
mailhub_get_shipment_rates is the exception worth remembering: it reads, but
it needs update access, so a view-only user is refused.
Confirmations & Spend Safety owns the confirmation and spend
rules behind the last three columns.
How the objects fit together
Order → Shipment → Rate → Label. Each step hands the next one an identifier:
| Identifier | Where you get it | What it is for |
|---|---|---|
orderId | mailhub_list_orders, or creating an Order | Reading an Order, changing its status |
shipmentId | On the Order you listed, read, or created | Rating, and buying against a Rate |
rateId | mailhub_get_shipment_rates | Buying a Label |
labelId | On the Order once a Label exists | Cancelling a Label |
The normal path
mailhub_create_order— or start from an Order that already exists, found withmailhub_list_orders.mailhub_get_shipment_rates— get the Rates for the Order's Shipment and choose one.mailhub_buy_label— buy the Label for that Rate.mailhub_download_label— hand the user the Mailhub link to print it.
Rating and buying work from the Order as it stands. You do not need to move the
Order to Packed, or to any other status, before asking for Rates or buying a
Label.
Corrections
mailhub_update_order_status and
mailhub_cancel_label fix a path that has gone
wrong rather than advancing it — see
Working with Labels for cancelling a Label safely.
What each page promises
Every tool page states its exact inputs with types and defaults. What it promises about the result depends on the tool:
| Result | Tools |
|---|---|
| Exact top-level fields you can rely on | mailhub_get_shipment_rates, mailhub_create_order, mailhub_download_label |
| No data payload at all | mailhub_cancel_label |
| Described by behavior, with no stable field set | mailhub_list_orders, mailhub_get_order, mailhub_update_order_status, mailhub_buy_label |
The last group returns Mailhub's own payload, which this documentation does not pin field by field — read those sections as a description of what comes back, not as a schema to code against. Identifiers in examples are placeholders.
Next
Start with the first tool your task needs — usually
mailhub_list_orders to find an Order, or
mailhub_create_order to make one.
- Deciding what a status allows? Order Statuses.
- Reading a refusal? Errors & Troubleshooting.