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"
}커뮤니티
증거