Shippit MCP by usefulapi
io.usefulapi/shippitusefulapi.iostreamable-httpv1.0.0Scanned
Get Shippit quotes, track and manage orders; create, label, book and cancel shipments on approval.
12 tools: 3 can delete or cancel things, 3 change things and 6 only read.
- Reads private data · 2
- Reads text others write · 12
- Can send data out · 0
- 1 finding
Anlyon alternative
6 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
12 tools
Deletes or cancels 3Claude Code: deny
shippit_book_ordersWRITE: book labelled orders with their carriers for pickup (the Shippit 'book' step).Reads text others writeNo findings
Why it is in this group
- The description's first verb is "write": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: book labelled orders with their carriers for pickup (the Shippit 'book' step). Shippit returns one manifest per carrier; the carrier then collects and bills the parcels. Orders must have been labelled first (shippit_label_order). The call fails as a whole when a tracking number is unknown; otherwise each manifest reports success or an error per order. Booked orders can no longer be edited. Requires confirm: true. A reply where every manifest failed is an error. POST /book.
Annotations the server declares
- title: Book orders with carriers
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
shippit_cancel_orderWRITE: cancel a Shippit order by tracking number (the order ends in state cancelled and cannot be revived; for some carriers Shippit also sends a cancellation request to the carrie…Reads text others writeNo findings
Why it is in this group
- The name "shippit_cancel_order" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: cancel a Shippit order by tracking number (the order ends in state cancelled and cannot be revived; for some carriers Shippit also sends a cancellation request to the carrier). Shippit refuses with a 422 and the reason when the order can no longer be cancelled, for example once the carrier has it. Requires confirm: true. DELETE /orders/{tracking_number}.
Annotations the server declares
- title: Cancel order
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
shippit_create_orderWRITE: create a domestic shipping order in Shippit.Reads text others writeNo findings
Why it is in this group
- The name "shippit_create_order" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- title: Create order
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
Changes things 3Claude Code: ask
shippit_estimate_delivery_datesEstimated delivery window (earliest, latest, confidence and a ready-to-show text) per service level (standard, express) between two postcodes, optionally limited to some carriers.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Estimated delivery window (earliest, latest, confidence and a ready-to-show text) per service level (standard, express) between two postcodes, optionally limited to some carriers. Returns an empty list if no carrier is enabled. POST /estimated_delivery_dates.
Annotations the server declares
- title: Estimate delivery dates
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
shippit_get_operating_hoursThe store operating hours per weekday (open flag, start and end of the working day) that Shippit uses for pickup and delivery estimates.Reads text others write1 finding
Why it is in this group
- The name "shippit_get_operating_hours" says "get": a word for reading.
- The description's first verb is "store": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "shippit_get_operating_hours" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "shippit_get_operating_hours" says "get": a word for reading.
Description, as the server wrote it The store operating hours per weekday (open flag, start and end of the working day) that Shippit uses for pickup and delivery estimates. GET /merchants/settings/locations/operating_hours.
Annotations the server declares
- title: Get store operating hours
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
shippit_label_orderWRITE: confirm an order for shipping and fetch its label.Reads text others writeNo findings
Why it is in this group
- The name "shippit_label_order" says "label": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: confirm an order for shipping and fetch its label. This is the Shippit 'label' step: it finalises the carrier and price (the order moves to Ready to Ship) and returns the carrier, tracking and consignment details plus pre-signed PDF URLs (valid 7 days) for the shipping label, packing slip and any customs documents. A 422 means the order is still processing or has no valid carrier or quote: retry shortly or read the error. Labelling is the step before shippit_book_orders. GET /orders/{tracking_number}/label.
Annotations the server declares
- title: Label order
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 6Show 6 read-only tools
shippit_get_manifest_documentThe booking manifest document for a manifest id (from shippit_book_orders or shippit_get_order): carrier, order count, tracking numbers and a pre-signed PDF URL valid for 7 days.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "shippit_get_manifest_document" says "get": a word for reading.
What it can reach
- private-dataThe name "shippit_get_manifest_document" says "get" and "document": it reads documents.
- private-dataThe description's first sentence says "document": it reads documents.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "url": it reads web pages, which anyone can write.
Description, as the server wrote it The booking manifest document for a manifest id (from shippit_book_orders or shippit_get_order): carrier, order count, tracking numbers and a pre-signed PDF URL valid for 7 days. A 422 means the manifest is still generating: retry shortly. GET /book/{manifest_id}/document.
Annotations the server declares
- title: Get manifest document
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
shippit_get_merchantThe Shippit merchant account behind this API key: store and company name, contact, preparation time, website and the home (pickup) address with country.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "shippit_get_merchant" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "website": it reads web pages, which anyone can write.
Description, as the server wrote it The Shippit merchant account behind this API key: store and company name, contact, preparation time, website and the home (pickup) address with country. GET /merchant.
Annotations the server declares
- title: Get merchant account
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
shippit_get_orderOne Shippit order by tracking number: state, courier and price allocated, delivery address, receiver, parcels, products, references and (once booked) manifest id and number.Reads text others writeNo findings
Why it is in this group
- The name "shippit_get_order" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it One Shippit order by tracking number: state, courier and price allocated, delivery address, receiver, parcels, products, references and (once booked) manifest id and number. There is no list-orders endpoint in the Shippit API. GET /orders/{tracking_number}.
Annotations the server declares
- title: Get order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
shippit_get_quotesAsk the carriers enabled on the account for a price and delivery estimate to a destination, for given parcels.Reads text others writeNo findings
Why it is in this group
- The name "shippit_get_quotes" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Ask the carriers enabled on the account for a price and delivery estimate to a destination, for given parcels. Nothing is booked and nothing is charged. Set return_all_quotes to see every carrier instead of only the cheapest or fastest. A 200 can hold per-carrier errors (success false) and a quote of 0 means that carrier cannot take the parcel. Dangerous goods cannot be quoted. POST /quotes.
Annotations the server declares
- title: Get shipping quotes
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
shippit_get_trackingThe status history of an order (status, date, time, who changed it) and the public tracking page URL to give the recipient.Reads text others writeNo findings
Why it is in this group
- The name "shippit_get_tracking" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "status" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it The status history of an order (status, date, time, who changed it) and the public tracking page URL to give the recipient. GET /orders/{tracking_number}/tracking.
Annotations the server declares
- title: Get order tracking
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
shippit_list_webhooksThe tracking webhooks configured on the account (at most 6): url, the order states that trigger each, whether address or receiver details are hidden, enabled flag.Reads text others writeNo findings
Why it is in this group
- The name "shippit_list_webhooks" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "url": it reads web pages, which anyone can write.
Description, as the server wrote it The tracking webhooks configured on the account (at most 6): url, the order states that trigger each, whether address or receiver details are hidden, enabled flag. Custom header values are masked by Shippit. GET /merchants/webhooks.
Annotations the server declares
- title: List webhooks
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.
- Reads private data2
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write12
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
The server marks "shippit_get_operating_hours" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "shippit_get_operating_hours" says "get": a word for reading.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http shippit https://shippit.usefulapi.io/mcpclaude mcp add --transport http shippit https://shippit.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__shippit__shippit_get_merchant",
"mcp__shippit__shippit_list_webhooks",
"mcp__shippit__shippit_get_quotes",
"mcp__shippit__shippit_get_order",
"mcp__shippit__shippit_get_tracking",
"mcp__shippit__shippit_get_manifest_document"
],
"ask": [
"mcp__shippit__shippit_get_operating_hours",
"mcp__shippit__shippit_estimate_delivery_dates",
"mcp__shippit__shippit_label_order"
],
"deny": [
"mcp__shippit__shippit_create_order",
"mcp__shippit__shippit_book_orders",
"mcp__shippit__shippit_cancel_order"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as shippit. Review it before you use it.
Capability tags behind 12 rules
- mcp__shippit__shippit_get_merchant private-data, untrusted-input
- mcp__shippit__shippit_get_operating_hours untrusted-input
- mcp__shippit__shippit_list_webhooks untrusted-input
- mcp__shippit__shippit_get_quotes untrusted-input
- mcp__shippit__shippit_estimate_delivery_dates untrusted-input
- mcp__shippit__shippit_get_order untrusted-input
- mcp__shippit__shippit_get_tracking untrusted-input
- mcp__shippit__shippit_get_manifest_document private-data, untrusted-input
- mcp__shippit__shippit_create_order untrusted-input
- mcp__shippit__shippit_label_order untrusted-input
- mcp__shippit__shippit_book_orders untrusted-input
- mcp__shippit__shippit_cancel_order untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/io.usefulapi/shippit/verify?hash=71ff9d1ba22c8a5f03244fc3935e105236d668bf30180767f1f75681fbb004ad" | jq -e '.changed == false'Pinned hash 71ff9d1ba22c, from Oct 24, 2026, 13:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.usefulapi/shippit/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.usefulapi/shippit)Source: MCP Registry · repository. Synced Oct 24, 2026, 13:18 UTC.