Skip to content

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.

Tools: 3 delete, 0 irreversible, 3 write, 6 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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "shippit_get_operating_hours" says "get": a word for reading.

      What this check looks for
    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.
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.

1 warn
  • The server marks "shippit_get_operating_hours" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "shippit_get_operating_hours" says "get": a word for reading.

    What this check looks for

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/mcp
claude mcp add --transport http shippit https://shippit.usefulapi.io/mcp

Run 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.

.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.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.usefulapi/shippit
[![anlyon.dev](https://anlyon.dev/badge/io.usefulapi/shippit.svg)](https://anlyon.dev/servers/io.usefulapi/shippit)

Source: MCP Registry · repository. Synced Oct 24, 2026, 13:18 UTC.