Connect Claude to Ship24 — the universal shipment tracking API covering 2,500+ couriers and eCommerce platforms worldwide.
.mcp.json:json
{
"mcpServers": {
"ship24-api": {
"type": "http",
"url": "https://api.ship24.com/mcp",
"headers": {
"Authorization": "Bearer ${SHIP24_API_KEY}"
}
}
}
}
text
SHIP24_API_KEY=your_api_key_here
ToolDescriptiontrackCreate a persistent tracker and immediately return full tracking results (events, status, milestones). Idempotent — safe to call multiple times for the same tracking number.create_trackerRegister a tracker to receive webhook notifications. Returns tracker metadata only — use get_tracking_results to fetch events and status.bulk_create_trackersRegister up to 100 trackers in one request. Returns counts of created, duplicate, and failed entries. Not fully idempotent — retrying a failed request may partially create trackers.get_trackerGet tracker metadata by trackerId or clientTrackerId. Does not include events or delivery status — use get_tracking_results for that.update_trackerPartially update a tracker (PATCH). Common uses: toggle webhook subscription ( isSubscribed), correct destination, set a clientTrackerId reference.list_trackersList all trackers in your account (paginated).get_tracking_resultsGet full tracking events and delivery status for a tracker. Returns statusMilestone values such as in_transit, delivered, out_for_delivery, exception, and more.search_trackingOne-off per-call tracking lookup — no persistent tracker is created. Billed per query on per-call plans.search_tracking_by_numberSearch tracking results by raw tracking number across all couriers without needing a trackerId.get_couriersGet the full list of 2,500+ supported couriers with their codes and required fields. Rate-limited to 1 request/second.resend_webhooksReplay all webhook events for a tracker (use when your endpoint missed previous notifications). Rate-limited to 1 request/second per tracker.
trackerId vs clientTrackerId: trackerId is Ship24's internal ID. clientTrackerId is your own reference (order ID, internal key) — set it on creation or via update_tracker, then use searchBy: "clientTrackerId" in get_tracker, update_tracker, and resend_webhooks.track vs create_tracker: Use track when you want results immediately. Use create_tracker when you're setting up webhook-driven monitoring.search_tracking vs track: search_tracking is for per-call billing plans and leaves no persistent tracker. track creates a tracker in your account.