TrackingMore MCP by usefulapi
Track parcels with TrackingMore: detect couriers, create and read trackings, delivery status.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"trackingmore": {
"url": "https://trackingmore.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://trackingmore.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(7)
🟢trackingmore_list_couriers(search, country, limit, offset)
List the carriers TrackingMore supports with their courier_code, name, country, website, phone and the extra fields some of them need. The full list is long (1,000+), so filter with `search` (matches name or code) and/or `country`; replies hold at most `limit` couriers. GET /couriers/all.
入力スキーマ
{
"type": "object",
"properties": {
"search": {
"description": "Case-insensitive text in the courier name or code, e.g. 'dhl'.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"country": {
"description": "Courier country, ISO 3166 alpha-2, e.g. US.",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"limit": {
"description": "Most couriers returned, 1-200 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"description": "Skip this many matches (paging; default 0).",
"type": "integer",
"minimum": 0,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trackingmore_detect_courier(tracking_number)
Find which couriers a tracking number most likely belongs to (returns matching courier codes and names). Use the code with trackingmore_create_tracking. Does not create anything. POST /couriers/detect.
入力スキーマ
{
"type": "object",
"properties": {
"tracking_number": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The shipment's tracking number."
}
},
"required": [
"tracking_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trackingmore_list_trackings(tracking_numbers, courier_code, delivery_status, archived_status, created_date_min, ...)
List the shipments already registered in the TrackingMore account, newest first as the API returns them: id, tracking number, courier, delivery_status (pending, notfound, transit, pickup, delivered, undelivered, exception, expired, inforeceived), latest event and milestone dates. Checkpoint lists are left out (use trackingmore_get_tracking for one shipment's full history). Filters: tracking numbers, courier, delivery status, created/updated date range. GET /trackings/get.
入力スキーマ
{
"type": "object",
"properties": {
"tracking_numbers": {
"description": "One to 40 tracking numbers, comma-separated (TrackingMore refuses more than 40 per call).",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"courier_code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "TrackingMore courier code, e.g. usps, ups, dhl (see trackingmore_list_couriers / trackingmore_detect_courier)."
},
"delivery_status": {
"description": "pending, notfound, transit, pickup, delivered, undelivered, exception, expired or inforeceived.",
"type": "string",
"minLength": 1,
"maxLength": 30
},
"archived_status": {
"description": "Archive filter: true = archived trackings, tracking = trackings that are not archived.",
"type": "string",
"enum": [
"true",
"tracking"
]
},
"created_date_min": {
"type": "string",
"description": "A date (yyyy-mm-dd, taken as 00:00:00 UTC) or an ISO 8601 date-time with a timezone, e.g. 2026-10-01T00:00:00+00:00 or 2026-10-01T00:00:00Z. Sent to TrackingMore as YYYY-MM-DDTHH:MM:SS+HH:MM."
},
"created_date_max": {
"type": "string",
"description": "A date (yyyy-mm-dd, taken as 00:00:00 UTC) or an ISO 8601 date-time with a timezone, e.g. 2026-10-01T00:00:00+00:00 or 2026-10-01T00:00:00Z. Sent to TrackingMore as YYYY-MM-DDTHH:MM:SS+HH:MM."
},
"updated_date_min": {
"type": "string",
"description": "A date (yyyy-mm-dd, taken as 00:00:00 UTC) or an ISO 8601 date-time with a timezone, e.g. 2026-10-01T00:00:00+00:00 or 2026-10-01T00:00:00Z. Sent to TrackingMore as YYYY-MM-DDTHH:MM:SS+HH:MM."
},
"updated_date_max": {
"type": "string",
"description": "A date (yyyy-mm-dd, taken as 00:00:00 UTC) or an ISO 8601 date-time with a timezone, e.g. 2026-10-01T00:00:00+00:00 or 2026-10-01T00:00:00Z. Sent to TrackingMore as YYYY-MM-DDTHH:MM:SS+HH:MM."
},
"lang": {
"description": "Language for status text, e.g. en.",
"type": "string",
"minLength": 2,
"maxLength": 10
},
"page": {
"description": "Page number, from 1 (default 1). Sent as pages_amount.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Trackings per page, 1-200 (default 40). Sent as items_amount.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trackingmore_get_tracking(tracking_number, courier_code, lang)
The full tracking record of one shipment already registered in the account, including every checkpoint (origin_info / destination_info trackinfo with date, status, details and location). Look it up by tracking number; add courier_code if the number is used by several couriers. A number that was never registered is not found: register it with trackingmore_create_tracking first. GET /trackings/get?tracking_numbers=.
入力スキーマ
{
"type": "object",
"properties": {
"tracking_number": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The shipment's tracking number."
},
"courier_code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "TrackingMore courier code, e.g. usps, ups, dhl (see trackingmore_list_couriers / trackingmore_detect_courier)."
},
"lang": {
"description": "Language for status text, e.g. en.",
"type": "string",
"minLength": 2,
"maxLength": 10
}
},
"required": [
"tracking_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴trackingmore_create_tracking(tracking_number, courier_code, order_number, order_id, order_date, ...)
WRITE: register ONE shipment so TrackingMore starts tracking it. This uses one credit of the account's plan (credits beyond the plan are billed by TrackingMore as overage): confirm with the user before creating, and never create trackings in bulk. Fails with 'Tracking No. already exists' if it is already registered. Needs the tracking number and the courier code (use trackingmore_detect_courier if unknown). Some couriers need extra fields (postal code, ship date, key). Returns the new tracking with its id. POST /trackings/create.
入力スキーマ
{
"type": "object",
"properties": {
"tracking_number": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The shipment's tracking number."
},
"courier_code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "TrackingMore courier code, e.g. usps, ups, dhl (see trackingmore_list_couriers / trackingmore_detect_courier)."
},
"order_number": {
"description": "Your order number for this shipment.",
"type": "string",
"maxLength": 200
},
"order_id": {
"description": "Your order id in the shop system.",
"type": "string",
"maxLength": 200
},
"order_date": {
"description": "Order date, e.g. 2026-10-01T10:00:00+00:00.",
"type": "string",
"maxLength": 60
},
"title": {
"description": "Short title for the shipment.",
"type": "string",
"maxLength": 200
},
"customer_name": {
"description": "Recipient name.",
"type": "string",
"maxLength": 200
},
"customer_email": {
"description": "Recipient email (TrackingMore can send delivery notifications to it when enabled in the account).",
"type": "string",
"maxLength": 254
},
"customer_sms": {
"description": "Recipient mobile number, with country code.",
"type": "string",
"maxLength": 50
},
"note": {
"description": "Free-text note.",
"type": "string",
"maxLength": 1000
},
"label": {
"description": "Label to group shipments. It must be a label you created in the TrackingMore dashboard first, otherwise TrackingMore refuses it (meta 4131).",
"type": "string",
"maxLength": 200
},
"language": {
"description": "Language code for status text, e.g. en.",
"type": "string",
"maxLength": 20
},
"logistics_channel": {
"description": "Logistics channel / service name.",
"type": "string",
"maxLength": 200
},
"origin_country_iso2": {
"description": "Origin country, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"destination_country_iso2": {
"description": "Destination country, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"tracking_origin_country": {
"description": "Origin country for couriers that need it, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"tracking_destination_country": {
"description": "Destination country for couriers that need it, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"tracking_postal_code": {
"description": "Recipient postal code (needed by some couriers).",
"type": "string",
"maxLength": 30
},
"tracking_ship_date": {
"description": "Ship date, yyyymmdd (needed by some couriers).",
"type": "string",
"maxLength": 30
},
"tracking_courier_account": {
"description": "Courier account (needed by some couriers).",
"type": "string",
"maxLength": 100
},
"tracking_key": {
"description": "Tracking key / phone suffix (needed by some couriers).",
"type": "string",
"maxLength": 100
},
"recipient_postcode": {
"description": "Recipient postcode.",
"type": "string",
"maxLength": 30
}
},
"required": [
"tracking_number",
"courier_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴trackingmore_update_tracking(id, order_number, order_id, order_date, title, ...)
WRITE: change the descriptive fields of a registered tracking (order number, customer name/email, title, note, label, language, postal code, ship date ...). Only the fields you pass change; the tracking number and courier cannot be changed here. PUT /trackings/update/{id}.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "TrackingMore tracking id (the `id` field of a tracking from trackingmore_list_trackings or trackingmore_create_tracking)."
},
"order_number": {
"description": "Your order number for this shipment.",
"type": "string",
"maxLength": 200
},
"order_id": {
"description": "Your order id in the shop system.",
"type": "string",
"maxLength": 200
},
"order_date": {
"description": "Order date, e.g. 2026-10-01T10:00:00+00:00.",
"type": "string",
"maxLength": 60
},
"title": {
"description": "Short title for the shipment.",
"type": "string",
"maxLength": 200
},
"customer_name": {
"description": "Recipient name.",
"type": "string",
"maxLength": 200
},
"customer_email": {
"description": "Recipient email (TrackingMore can send delivery notifications to it when enabled in the account).",
"type": "string",
"maxLength": 254
},
"customer_sms": {
"description": "Recipient mobile number, with country code.",
"type": "string",
"maxLength": 50
},
"note": {
"description": "Free-text note.",
"type": "string",
"maxLength": 1000
},
"label": {
"description": "Label to group shipments. It must be a label you created in the TrackingMore dashboard first, otherwise TrackingMore refuses it (meta 4131).",
"type": "string",
"maxLength": 200
},
"language": {
"description": "Language code for status text, e.g. en.",
"type": "string",
"maxLength": 20
},
"logistics_channel": {
"description": "Logistics channel / service name.",
"type": "string",
"maxLength": 200
},
"origin_country_iso2": {
"description": "Origin country, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"destination_country_iso2": {
"description": "Destination country, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"tracking_origin_country": {
"description": "Origin country for couriers that need it, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"tracking_destination_country": {
"description": "Destination country for couriers that need it, ISO 3166 alpha-2.",
"type": "string",
"maxLength": 2
},
"tracking_postal_code": {
"description": "Recipient postal code (needed by some couriers).",
"type": "string",
"maxLength": 30
},
"tracking_ship_date": {
"description": "Ship date, yyyymmdd (needed by some couriers).",
"type": "string",
"maxLength": 30
},
"tracking_courier_account": {
"description": "Courier account (needed by some couriers).",
"type": "string",
"maxLength": 100
},
"tracking_key": {
"description": "Tracking key / phone suffix (needed by some couriers).",
"type": "string",
"maxLength": 100
},
"recipient_postcode": {
"description": "Recipient postcode.",
"type": "string",
"maxLength": 30
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴trackingmore_delete_tracking(id)
WRITE (destructive): permanently remove one tracking from the TrackingMore account by id. Its checkpoint history is lost; registering the shipment again later uses another credit. Confirm with the user first. DELETE /trackings/delete/{id}.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "TrackingMore tracking id (the `id` field of a tracking from trackingmore_list_trackings or trackingmore_create_tracking)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス