AfterShip MCP Server for Cloudflare Workers
Test AfterShip tools directly in your browser. Select a tool and provide inputs to see the results.
Create a free account to test AfterShip tools interactively. No credit card required.
aftership_list_all_couriersList all couriers supported by AfterShip (over 1000+). Returns the complete list of all couriers AfterShip supports, regardless of your account activation status. Args: - format: Response format ('json' or 'markdown') Returns: Array of all supported courier objects.
aftership_mark_as_completedMark a tracking as completed with a specific reason. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) - reason: Completion reason (required): DELIVERED, LOST, or RETURNED_TO_SENDER Returns: The updated tracking object.
aftership_get_last_checkpointGet the last checkpoint for a tracking. Returns the most recent checkpoint/status update for a tracking, which is more efficient than fetching the full tracking when you only need the current status. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) - fields: Comma-separated list of checkpoint fields to return Available fields: slug, created_at, checkpoint_time, city, coordinates, country_iso3, country_name, message, state, tag, zip - lang: Language for checkpoint messages (e.g., 'en') - format: Response format ('json' or 'markdown') Returns: Last checkpoint object with tracking info and the most recent checkpoint.
aftership_get_last_checkpoint_by_idGet the last checkpoint for a tracking by AfterShip ID. Args: - id: AfterShip tracking ID (required) - fields: Comma-separated list of checkpoint fields to return - lang: Language for checkpoint messages - format: Response format Returns: Last checkpoint object with tracking info and the most recent checkpoint.
aftership_list_couriersList couriers activated in your AfterShip account. Returns a list of couriers that you have activated for your account. Args: - format: Response format ('json' or 'markdown') Returns: Array of courier objects with slug, name, phone, web_url, and required fields.
aftership_detect_couriersDetect which couriers match a tracking number format. Given a tracking number, returns a list of possible couriers that use that tracking number format. Args: - tracking_number: The tracking number to detect (required) - tracking_postal_code: Postal code (helps narrow detection) - tracking_ship_date: Ship date in YYYYMMDD format - tracking_account_number: Account number with courier - tracking_destination_country: Destination country code - slug: Array of courier slugs to limit detection to Returns: Array of detected courier objects with slug and name.
aftership_get_trackingGet a tracking by courier slug and tracking number. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) - fields: Comma-separated list of fields to return - lang: Language for checkpoint messages (e.g., 'en') - format: Response format ('json' or 'markdown') Returns: The tracking object with checkpoints.
aftership_predict_eddPredict estimated delivery dates for shipments. Uses AfterShip's AI-powered predictive model to estimate when packages will be delivered. Can predict for multiple shipments in a single request (max 5). Args: - predictions: Array of prediction requests (1-5 items), each containing: - slug: Courier slug (required) - service_type_name: Service type name - origin_address: Origin address with country, state, and/or postal_code - destination_address: Destination address with country, state, and/or postal_code - weight: Weight object with unit ('kg' or 'lb') and value - pickup_time: Local pickup time (ISO 8601) OR - estimated_pickup: Estimated pickup date (YYYY-MM-DD) Note: Either pickup_time or estimated_pickup is required for each prediction. Either origin_address.state or origin_address.postal_code is required. Either destination_address.state or destination_address.postal_code is required. Returns: Array of prediction results with estimated_delivery_date, estimated_delivery_date_max, and confidence_score.
aftership_get_notificationGet notification settings for a tracking. Returns the email addresses and phone numbers that will receive notifications for this tracking. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) Returns: Notification object with emails and smses arrays.
aftership_get_notification_by_idGet notification settings for a tracking by AfterShip ID. Args: - id: AfterShip tracking ID (required) Returns: Notification object with emails and smses arrays.
aftership_add_notificationAdd notification receivers to a tracking. Adds email addresses and/or phone numbers to receive tracking updates. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) - emails: Array of email addresses to add - smses: Array of phone numbers to add (with country code, e.g., +1234567890) Returns: Updated notification object.
aftership_add_notification_by_idAdd notification receivers to a tracking by AfterShip ID. Args: - id: AfterShip tracking ID (required) - emails: Array of email addresses to add - smses: Array of phone numbers to add Returns: Updated notification object.
aftership_retrackRetrack an expired tracking. Can be called up to 3 times per tracking. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) Returns: The retracked tracking object.
aftership_remove_notificationRemove notification receivers from a tracking. Removes specified email addresses and/or phone numbers from receiving tracking updates. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) - emails: Array of email addresses to remove - smses: Array of phone numbers to remove Returns: Updated notification object.
aftership_remove_notification_by_idRemove notification receivers from a tracking by AfterShip ID. Args: - id: AfterShip tracking ID (required) - emails: Array of email addresses to remove - smses: Array of phone numbers to remove Returns: Updated notification object.
aftership_create_trackingCreate a new tracking in AfterShip. Args: - tracking_number: The tracking number (required) - slug: Courier slug (e.g., 'ups', 'fedex', 'usps') - title: A title for this tracking - customer_name: Customer name - order_id: Order ID - order_number: Order number - emails: Array of email addresses for notifications - smses: Array of phone numbers for SMS notifications - custom_fields: Custom key-value pairs Returns: The created tracking object.
aftership_get_tracking_by_idGet a tracking by its AfterShip ID. Args: - id: AfterShip tracking ID (required) - fields: Comma-separated list of fields to return - lang: Language for checkpoint messages - format: Response format Returns: The tracking object with checkpoints.
aftership_list_trackingsList trackings with optional filters. Args: - page: Page number (1-indexed) - limit: Number of trackings per page (max 200) - slug: Filter by courier slug - tag: Filter by status tag (Pending, InTransit, Delivered, etc.) - keyword: Search keyword - created_at_min: Filter by created date (ISO 8601) - created_at_max: Filter by created date (ISO 8601) - origin: Filter by origin country - destination: Filter by destination country - format: Response format Status tags: Pending, InfoReceived, InTransit, OutForDelivery, AttemptFail, Delivered, AvailableForPickup, Exception, Expired Returns: Paginated list of trackings.
aftership_update_trackingUpdate a tracking by courier slug and tracking number. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) - title: New title - customer_name: New customer name - order_id: New order ID - order_number: New order number - emails: New email addresses for notifications - smses: New phone numbers for SMS - custom_fields: New custom fields Returns: The updated tracking object.
aftership_delete_trackingDelete a tracking by courier slug and tracking number. Args: - slug: Courier slug (required) - tracking_number: Tracking number (required) Returns: Confirmation of deletion.
aftership_list_all_couriers{
"format": "example_format"
}aftership_mark_as_completed{
"slug": "example_slug",
"tracking_number": "example_tracking_number"
}aftership_get_last_checkpoint{
"lang": "example_lang",
"slug": "example_slug",
"fields": "example_fields",
"format": "example_format",
"tracking_number": "example_tracking_number"
}