Skip to content

Ship24 Tracking

by ship24.com · remote · no sign-in to list tools · v1.0.1 · published by com.ship24

Track parcels across 2,500+ carriers and 3PLs: live delivery status, event history, carrier lookup.

Deletes · 1Changes · 4

12 tools: 1 can delete or cancel things, 4 change things and 7 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http tracking https://api.ship24.com/mcp --header 'Authorization: <your-authorization>'

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Deletes or cancels 1Claude Code: deny
  • resend_webhooksReplays all webhook events for a tracker.No findings

    Why it is in this group

    • The name "resend_webhooks" says "resend": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replays all webhook events for a tracker. Use when your endpoint missed or failed to process previous notifications. Terminates any in-flight webhook delivery for this tracker and invalidates its existing webhook payload records before regenerating and resending them — do not call repeatedly in quick succession. Rate-limited to 1 request/second per tracker.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
Changes things 4Claude Code: ask
  • bulk_create_trackersCreates up to 100 trackers in one request.No findings

    Why it is in this group

    • The name "bulk_create_trackers" says "create": a word for a change.
    Description, as the server wrote it
    Creates up to 100 trackers in one request. Each tracker object accepts the same fields as create_tracker — see that tool for field details. Not fully idempotent: retrying a failed bulk request may partially create trackers. Returns counts of created, ignored (duplicate), and failed trackers plus per-item details.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_trackerCreates a new tracker for a tracking number.No findings

    Why it is in this group

    • The name "create_tracker" says "create": a word for a change.
    Description, as the server wrote it
    Creates a new tracker for a tracking number. Use when the user explicitly wants ongoing monitoring or webhook updates; results arrive asynchronously — for immediate results use track or search_tracking. Idempotent: same parameters reuse the existing tracker; any field change creates a new one. Subscribes to webhook updates if configured. Returns the created tracker including its Ship24 trackerId.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • trackCreates a persistent tracker on the account AND returns full tracking results synchronously in one call (per-shipment plan).No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Creates a persistent tracker on the account AND returns full tracking results synchronously in one call (per-shipment plan). Idempotent: same payload reuses the existing tracker. Prefer search_tracking for one-off lookups when the per-call plan is available. If the returned shipment is still pending with no events, call get_tracking_results once with the returned trackerId before answering. Accepts the same fields as create_tracker — see that tool for field details.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • update_trackerPartially updates a tracker (PATCH).No findings

    Why it is in this group

    • The name "update_tracker" says "update": a word for a change.
    Description, as the server wrote it
    Partially updates a tracker (PATCH). Only provided fields are changed. Common uses: toggling isSubscribed, correcting destination details, or setting a clientTrackerId.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 7Claude Code: allow
  • download_webhook_historyRetrieves the full webhook push history for a tracker.No findings

    Why it is in this group

    • The description's first verb is "retrieve": a word for reading.
    Description, as the server wrote it
    Retrieves the full webhook push history for a tracker. Returns metadata (trackingNumber, trackerId, clientTrackerId, webhookUrl, lastSuccessfulPushAt, lastFailedPushAt) and a list of all sent or failed pushes with status, pushTimestamp, requestBody, responseBody, responseHeaders, and responseStatusCode. Pending (unsent) webhooks are excluded. Results are sorted newest first. Rate-limited to 1 request/second per tracker.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_couriersReturns the list of all couriers supported by Ship24, including their unique courier codes, human-readable names, and any special tracking requirements.No findings

    Why it is in this group

    • The name "get_couriers" says "get": a word for reading.
    Description, as the server wrote it
    Returns the list of all couriers supported by Ship24, including their unique courier codes, human-readable names, and any special tracking requirements. Use this tool to discover valid courierCode values before creating or updating trackers, or to help identify which courier handles a particular tracking number format. Note: this endpoint has a rate limit of 1 request/second; cache results when possible.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_trackerRetrieves a single tracker by trackerId (or clientTrackerId when searchBy is set).No findings

    Why it is in this group

    • The name "get_tracker" says "get": a word for reading.
    Description, as the server wrote it
    Retrieves a single tracker by trackerId (or clientTrackerId when searchBy is set). Returns tracker metadata only — use get_tracking_results for events and status.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_tracking_resultsReturns full tracking results for an existing tracker: metadata, shipment status, all events in order, and delivery statistics.No findings

    Why it is in this group

    • The name "get_tracking_results" says "get": a word for reading.
    Description, as the server wrote it
    Returns full tracking results for an existing tracker: metadata, shipment status, all events in order, and delivery statistics. Primary tool for "where is my package?" when you have a trackerId. statusMilestone values: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • list_trackersReturns a paginated list of all trackers.No findings

    Why it is in this group

    • The name "list_trackers" says "list": a word for reading.
    Description, as the server wrote it
    Returns a paginated list of all trackers. Supports offset (page/limit) or cursor-based pagination. Filter by subscription status with isSubscribed.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • search_trackingDefault tool for one-off tracking lookups ('track X', 'where is my package').No findings

    Why it is in this group

    • The name "search_tracking" says "search": a word for reading.
    Description, as the server wrote it
    Default tool for one-off tracking lookups ('track X', 'where is my package'). Synchronous per-call plan endpoint: returns full results (status, events, statistics) immediately and creates NO tracker on the account. Billed per call. Requires an active per-call plan — if it fails with no_active_subscription, use the track tool instead.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • search_tracking_by_numberReturns existing tracking results for a raw tracking number across trackers already on the account, without needing a trackerId.No findings

    Why it is in this group

    • The name "search_tracking_by_number" says "search": a word for reading.
    Description, as the server wrote it
    Returns existing tracking results for a raw tracking number across trackers already on the account, without needing a trackerId. Free read: never creates a tracker and never triggers a new crawl. Responds 404 tracker_not_found if no tracker exists for that number — in that case use search_tracking (per-call) or track (per-shipment). Use this first when a tracker may already exist.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

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.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http tracking https://api.ship24.com/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__tracking__list_trackers",
      "mcp__tracking__get_tracker",
      "mcp__tracking__get_tracking_results",
      "mcp__tracking__search_tracking_by_number",
      "mcp__tracking__get_couriers",
      "mcp__tracking__search_tracking",
      "mcp__tracking__download_webhook_history"
    ],
    "ask": [
      "mcp__tracking__create_tracker",
      "mcp__tracking__bulk_create_trackers",
      "mcp__tracking__track",
      "mcp__tracking__update_tracker"
    ],
    "deny": [
      "mcp__tracking__resend_webhooks"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tracking. Review it before you use it.