Shipday MCP by usefulapi

Read Shipday orders, carriers and delivery status; create orders and assign drivers.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
84%
Qualität der Benennung
97%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,148Tokens (Tool-Definitionen)
~1.6 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.46% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "shipday": {
      "url": "https://shipday.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://shipday.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (14)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_active_orders

List the account's active (not yet completed) delivery orders with customer, pickup location (restaurant), assigned carrier/driver, timeline (activityLog), costs, payment method and orderStatus.orderState. Good first call. Shipday: GET /orders.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_order(order_number)

Get the details of a delivery order by its order number (the merchant's reference, `orderNumber`). Returns an array, since several orders can share one order number. Includes the numeric orderId needed by the write tools, the carrier, tracking link and status. Shipday: GET /orders/{orderNumber}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_number": {
      "type": "string",
      "minLength": 1,
      "description": "The order number (orderNumber) of the order, e.g. \"75637\"."
    }
  },
  "required": [
    "order_number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢query_orders(start_time, end_time, order_status, start_cursor, end_cursor)

Search delivery orders, including completed ones, by placement-time window and status, with row-based paging: start_cursor/end_cursor select rows (e.g. 1–100, then 101–200; at most 100 per call) sorted newest first. Each row has timestamps (placement, assigned, picked up, delivered, failed), totals, driver payment, distance and carrier. Shipday: POST /orders/query.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "start_time": {
      "description": "Only orders placed at/after this ISO 8601 time (UTC), e.g. 2026-10-01T00:00:00Z.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:?\\d{2})$"
    },
    "end_time": {
      "description": "Only orders placed at/before this ISO 8601 time (UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:?\\d{2})$"
    },
    "order_status": {
      "description": "Only orders in this status.",
      "type": "string",
      "enum": [
        "ACTIVE",
        "NOT_ASSIGNED",
        "NOT_ACCEPTED",
        "NOT_STARTED_YET",
        "STARTED",
        "PICKED_UP",
        "READY_TO_DELIVER",
        "ALREADY_DELIVERED",
        "FAILED_DELIVERY",
        "INCOMPLETE"
      ]
    },
    "start_cursor": {
      "description": "First row to return (1-based, default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "end_cursor": {
      "description": "Last row to return (default start_cursor + 99). At most 100 rows per call.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_pickup_order(order_id)

Get a pickup (customer collects it) order by its numeric id, with restaurant, customer, items, costs, expected pickup date/time and status. Shipday: GET /pickup-orders/{orderId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric id of the pickup order."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_delivery_progress(tracking_id, include_static_data)

Real-time delivery progress of an order by its tracking id: status (STARTED, PICKED_UP, ...), timestamps, the driver's current location and the ETA in minutes. The tracking id is the last part of the order's trackingLink. Shipday's Business Advanced plan only; at most 3 requests per minute per tracking id. Shipday: GET /order/progress/{trackingId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "tracking_id": {
      "type": "string",
      "minLength": 1,
      "description": "The order's tracking id (from its trackingLink)."
    },
    "include_static_data": {
      "description": "true = also return fixed details (customer, restaurant, carrier). Default false.",
      "type": "boolean"
    }
  },
  "required": [
    "tracking_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_carriers

List the account's carriers (drivers) with id, name, phone, email, isOnShift, isActive and last known location. Use an id here with assign_order_to_carrier. Shipday: GET /carriers.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_on_demand_services

List the third-party on-demand delivery services (DoorDash, Uber, ...) available to the account and whether each is enabled. Shipday: GET /on-demand/services.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_on_demand_estimate(order_id)

Get fee and time estimates from the third-party on-demand delivery services for an existing order (fee, pickup/delivery time, durations, per-service errors). Read only: nothing is booked. Shipday: GET /on-demand/estimate/{orderId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Shipday's internal numeric order id (the `orderId` field, not the order number)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_on_demand_details(order_id)

Details of the third-party on-demand delivery booked for an order: provider, reference id, third-party fee, Shipday charge, total billable amount and tracking URL. Shipday: GET /on-demand/details/{orderId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Shipday's internal numeric order id (the `orderId` field, not the order number)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢check_on_demand_availability(pickup_address, delivery_address, pickup_time, delivery_time)

Quote third-party on-demand delivery for a pickup and delivery address before creating an order: which services can deliver, their fee and pickup/delivery times. Read only: nothing is booked. Shipday: POST /on-demand/availability.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "pickup_address": {
      "type": "string",
      "minLength": 1,
      "description": "Full pickup address."
    },
    "delivery_address": {
      "type": "string",
      "minLength": 1,
      "description": "Full delivery address."
    },
    "pickup_time": {
      "description": "Expected pickup time, ISO 8601 UTC.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:?\\d{2})$"
    },
    "delivery_time": {
      "description": "Expected delivery time, ISO 8601 UTC.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:?\\d{2})$"
    }
  },
  "required": [
    "pickup_address",
    "delivery_address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴create_order(order_number, customer_name, customer_address, customer_phone_number, customer_email, ...)

WRITE: insert a new delivery order into Shipday (it appears on the dispatch board; it is not assigned to a driver). Returns the new orderId. Times are UTC. Shipday: POST /orders.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_number": {
      "type": "string",
      "minLength": 1,
      "description": "Your reference for the order (orderNumber)."
    },
    "customer_name": {
      "type": "string",
      "minLength": 1,
      "description": "Customer name."
    },
    "customer_address": {
      "type": "string",
      "minLength": 1,
      "description": "Delivery address."
    },
    "customer_phone_number": {
      "type": "string",
      "minLength": 1,
      "description": "Customer phone number with country code, e.g. +14155550100."
    },
    "customer_email": {
      "description": "Customer email.",
      "type": "string"
    },
    "restaurant_name": {
      "type": "string",
      "minLength": 1,
      "description": "Pickup location / store name."
    },
    "restaurant_address": {
      "type": "string",
      "minLength": 1,
      "description": "Pickup address."
    },
    "restaurant_phone_number": {
      "description": "Pickup location phone with country code.",
      "type": "string"
    },
    "expected_delivery_date": {
      "description": "Expected delivery date, yyyy-mm-dd (UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "expected_pickup_time": {
      "description": "Expected pickup time, hh:mm:ss (UTC).",
      "type": "string",
      "pattern": "^\\d{2}:\\d{2}:\\d{2}$"
    },
    "expected_delivery_time": {
      "description": "Expected delivery time, hh:mm:ss (UTC).",
      "type": "string",
      "pattern": "^\\d{2}:\\d{2}:\\d{2}$"
    },
    "pickup_latitude": {
      "description": "Pickup latitude.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "pickup_longitude": {
      "description": "Pickup longitude.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "delivery_latitude": {
      "description": "Delivery latitude.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "delivery_longitude": {
      "description": "Delivery longitude.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "order_items": {
      "description": "Items in the order.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Item name."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "description": "Quantity."
          },
          "unit_price": {
            "description": "Price per unit.",
            "type": "number",
            "minimum": 0
          },
          "detail": {
            "description": "Item note.",
            "type": "string"
          },
          "add_ons": {
            "description": "Add-ons.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "quantity"
        ]
      }
    },
    "tips": {
      "description": "Tip amount.",
      "type": "number",
      "minimum": 0
    },
    "tax": {
      "description": "Tax amount.",
      "type": "number",
      "minimum": 0
    },
    "discount_amount": {
      "description": "Discount amount.",
      "type": "number",
      "minimum": 0
    },
    "delivery_fee": {
      "description": "Delivery fee.",
      "type": "number",
      "minimum": 0
    },
    "total_order_cost": {
      "description": "Total order cost.",
      "type": "number",
      "minimum": 0
    },
    "pickup_instruction": {
      "description": "Instructions for the pickup.",
      "type": "string"
    },
    "delivery_instruction": {
      "description": "Instructions for the driver at delivery.",
      "type": "string"
    },
    "order_source": {
      "description": "Where the order came from (free text).",
      "type": "string"
    },
    "additional_id": {
      "description": "An extra reference id.",
      "type": "string"
    },
    "payment_method": {
      "description": "Payment method.",
      "type": "string",
      "enum": [
        "cash",
        "credit_card"
      ]
    }
  },
  "required": [
    "order_number",
    "customer_name",
    "customer_address",
    "customer_phone_number",
    "restaurant_name",
    "restaurant_address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡assign_order_to_carrier(order_id, carrier_id)

WRITE: assign a delivery order to one of the account's own carriers (drivers); the driver is notified in the Shipday driver app. Re-assigning to the same driver changes nothing. Shipday: PUT /orders/assign/{orderId}/{carrierId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Shipday's internal numeric order id (the `orderId` field, not the order number)."
    },
    "carrier_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric carrier (driver) id from list_carriers."
    }
  },
  "required": [
    "order_id",
    "carrier_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴unassign_order(order_id)

WRITE: remove the driver from a delivery order (it goes back to unassigned). Shipday: PUT /orders/unassign/{orderId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Shipday's internal numeric order id (the `orderId` field, not the order number)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴set_order_ready_to_pickup(order_id, ready_to_pickup)

WRITE: set or clear an order's ready-to-pickup flag (tells the driver the order is ready at the pickup location). Shipday: PUT /orders/{orderId}/meta.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Shipday's internal numeric order id (the `orderId` field, not the order number)."
    },
    "ready_to_pickup": {
      "description": "true = ready (default), false = not ready.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet14 Tools