Track-POD MCP by usefulapi

Read Track-POD orders, routes, drivers, vehicles and proof of delivery; create orders.

Sollte ich dies verwenden

Qualität und Sicherheit

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

Befunde (1)

  • LOWTool 'trackpod_list_orders_changed_since' name length outside 3-30 rangein trackpod_list_orders_changed_since

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

Kontextkosten

~4,997Tokens (Tool-Definitionen)
~2.3 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.90% 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": {
    "track-pod": {
      "url": "https://track-pod.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://track-pod.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (16)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢trackpod_list_orders(date, date_type, status, driver, route_number, ...)

List the orders of one day — by order date (GET /Order/Date/{date}) or by planned route date (GET /Order/Route/Date/{date}) — with optional filters on delivery status, driver and route number. Track-POD returns the whole day at once; this tool pages it (offset/limit) and reports the total. Times are the account's local times.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "The day, YYYY-MM-DD."
    },
    "date_type": {
      "description": "order_date (default): orders whose order date is this day, scheduled or not. route_date: orders planned into routes of this day.",
      "type": "string",
      "enum": [
        "order_date",
        "route_date"
      ]
    },
    "status": {
      "description": "Keep only orders with these delivery statuses: no_status (not yet attempted / unassigned), in_progress (1), not_delivered_site_issue (2), delivered (3, also 'collected'), partially (4), not_delivered_order_issue (5).",
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "no_status",
          "in_progress",
          "not_delivered_site_issue",
          "delivered",
          "partially",
          "not_delivered_order_issue"
        ]
      }
    },
    "driver": {
      "description": "Keep only orders whose driver login or name contains this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "route_number": {
      "description": "Keep only orders on this route number/code.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "detail": {
      "description": "summary (default): key fields per order. full: every field Track-POD returns (goods lines, custom fields, photo links).",
      "type": "string",
      "enum": [
        "summary",
        "full"
      ]
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Items per page (default 25, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_list_orders_changed_since(since, status, detail, offset, limit)

List orders whose delivery status changed after a moment in the last 24 hours (GET /Order/Status/Date/{date-time}; Track-POD accepts no earlier time than UTC now − 1 day). Good for 'what was delivered / failed since this morning'. Paged here (offset/limit).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "since": {
      "description": "ISO 8601 date-time with a timezone, within the last 24 hours, e.g. 2026-10-08T06:00:00Z. Default: 23 h 59 min ago.",
      "type": "string"
    },
    "status": {
      "description": "Keep only orders with these delivery statuses: no_status (not yet attempted / unassigned), in_progress (1), not_delivered_site_issue (2), delivered (3, also 'collected'), partially (4), not_delivered_order_issue (5).",
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "no_status",
          "in_progress",
          "not_delivered_site_issue",
          "delivered",
          "partially",
          "not_delivered_order_issue"
        ]
      }
    },
    "detail": {
      "description": "summary (default): key fields per order. full: every field Track-POD returns (goods lines, custom fields, photo links).",
      "type": "string",
      "enum": [
        "summary",
        "full"
      ]
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Items per page (default 25, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_list_route_orders(route_code, status, detail, offset, limit)

List the orders on one route, in route order, by route code (GET /Order/Route/Code/{code}). Paged here (offset/limit).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "route_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The route code/number, e.g. R-1023."
    },
    "status": {
      "description": "Keep only orders with these delivery statuses: no_status (not yet attempted / unassigned), in_progress (1), not_delivered_site_issue (2), delivered (3, also 'collected'), partially (4), not_delivered_order_issue (5).",
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "no_status",
          "in_progress",
          "not_delivered_site_issue",
          "delivered",
          "partially",
          "not_delivered_order_issue"
        ]
      }
    },
    "detail": {
      "description": "summary (default): key fields per order. full: every field Track-POD returns (goods lines, custom fields, photo links).",
      "type": "string",
      "enum": [
        "summary",
        "full"
      ]
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Items per page (default 25, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "route_code"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_get_order(number, order_id, track_id)

Get one order with every field: client, address, time slot, goods lines, route, driver, delivery status, ETA, signature/photo links and tracking link. Pass exactly one of number, order_id or track_id (GET /Order/Number|Id|TrackId/{…}). A removed order answers with who removed it (HTTP 410).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The order number (Order/Invoice/Job/Waybill number), e.g. cv30001-2."
    },
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The order Id — the unique identifier from your accounting system that the order was created with."
    },
    "track_id": {
      "description": "The order TrackId (UUID) from a tracking link or a webhook.",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_find_orders_by_number(number, detail)

List the last 25 orders that share one order number (re-deliveries, repeated jobs) — GET /Order/Number/{number}/List. Use it when an order number was reused and trackpod_get_order returns only one of them.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The order number."
    },
    "detail": {
      "description": "summary (default): key fields per order. full: every field Track-POD returns (goods lines, custom fields, photo links).",
      "type": "string",
      "enum": [
        "summary",
        "full"
      ]
    }
  },
  "required": [
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_get_proof_of_delivery(number, order_id, track_id)

Get the electronic proof of delivery (ePOD) of one order: status and status time/GPS, who signed, signature and photo links (valid 24 h), driver comment, reject reasons, delivered vs ordered goods quantities, cash collected, customer feedback and the PDF delivery-note link (ReportUrl, valid 1 h). Pass exactly one of number, order_id or track_id.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The order number (Order/Invoice/Job/Waybill number), e.g. cv30001-2."
    },
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The order Id — the unique identifier from your accounting system that the order was created with."
    },
    "track_id": {
      "description": "The order TrackId (UUID) from a tracking link or a webhook.",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_list_reject_reasons

List the account's reasons for not delivering / not collecting: site, order, goods and scanning issues (GET /RejectReason).

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_list_routes(date, status, include_orders, offset, limit)

List the routes of one day (GET /Route/Date/{date}): code, status (Draft, Ready, Loaded, InProgress, Closed), driver, vehicle, planned vs actual start/finish, distance, cost, current GPS position, and per-route order counts by status. Paged here (offset/limit).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "The route date, YYYY-MM-DD."
    },
    "status": {
      "description": "Keep only routes with these statuses.",
      "minItems": 1,
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Draft",
          "Ready",
          "Loaded",
          "InProgress",
          "Closed"
        ]
      }
    },
    "include_orders": {
      "description": "none (default): order counts only. summary: key fields of each order. full: every order field (large).",
      "type": "string",
      "enum": [
        "none",
        "summary",
        "full"
      ]
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Items per page (default 25, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_get_route(route_code, route_id, include_orders)

Get one route with its status, driver, vehicle, timings, distance, cost, current GPS position and its orders. Pass exactly one of route_code or route_id (GET /Route/Code|Id/{…}).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "route_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The route code/number."
    },
    "route_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The route Id from your accounting system."
    },
    "include_orders": {
      "description": "summary (default): key fields of each order. none: counts only. full: every order field.",
      "type": "string",
      "enum": [
        "none",
        "summary",
        "full"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_get_route_track(route_code, route_id, offset, limit)

Get the driver's recorded GPS track of a route (latitude, longitude, speed in m/s, time) — GET /Route/Track/Code|Id/{…}. Pass exactly one of route_code or route_id. Points are paged here (offset/limit, max 1000 per call).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "route_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The route code/number."
    },
    "route_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The route Id from your accounting system."
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Points per page (default 200, max 1000).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_list_drivers(active_only, search, offset, limit)

List the account's drivers: name, username, phone, vehicle, depot, zone, teams and active flag (GET /Driver). Paged here.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "active_only": {
      "description": "Only active drivers (default false = all).",
      "type": "boolean"
    },
    "search": {
      "description": "Keep only drivers whose name, username, phone or vehicle contains this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Items per page (default 25, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_get_driver(driver_id, username)

Get one driver by Track-POD id (UUID) or by username (GET /Driver/Id/{id} or /Driver/Username/{username}). Pass exactly one.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "driver_id": {
      "description": "The driver's Track-POD id (UUID, from trackpod_list_drivers).",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "username": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The driver's username (login)."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_list_vehicles(number, offset, limit)

List the account's vehicles: plate number, assigned driver, depot, capacity (weight/volume/pallets/size), limits, costs, type and carrier (GET /Vehicle, optional plate-number filter). Paged here.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "number": {
      "description": "Filter by vehicle (plate) number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Items per page (default 25, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_get_vehicle(vehicle_id)

Get one vehicle by its Track-POD id (an integer, from trackpod_list_vehicles) — GET /Vehicle/{id}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "vehicle_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The vehicle's Track-POD id."
    }
  },
  "required": [
    "vehicle_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trackpod_list_vehicle_checks(date, vehicle_number, offset, limit)

Driver vehicle inspections (before/after route): checklist items with pass/fail, notes, photo links (valid 24 h), odometer and signature. date only: every check of that day (GET /VehicleCheck/Date/{date}); date + vehicle_number: that vehicle's checks of the day; vehicle_number only: that vehicle's last check (GET /VehicleCheck/{number}).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "date": {
      "description": "The day, YYYY-MM-DD.",
      "type": "string"
    },
    "vehicle_number": {
      "description": "The vehicle (plate) number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "offset": {
      "description": "Items to skip (default 0). Use next_offset from the previous page.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Items per page (default 25, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trackpod_create_order(number, client, address, type, date, ...)

Create ONE REAL unscheduled order in Track-POD (POST /Order): a delivery or a collection for a client at an address, ready to be planned into a route by a dispatcher. It does not create or optimise routes. Depending on the account's notification settings the customer may later receive SMS/e-mail updates about it. Confirm the details with the user first. Address and client are required; Track-POD geocodes the address unless you pass address_lat/address_lon.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "The order number (your Order/Invoice/Job/Waybill number) — used later to look the order up, so no slash or backslash."
    },
    "client": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Client/customer name."
    },
    "address": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Delivery (or pickup) address, e.g. '2 St Josephs Crescent, Liverpool L3 3JF'."
    },
    "type": {
      "description": "delivery (default) or collection.",
      "type": "string",
      "enum": [
        "delivery",
        "collection"
      ]
    },
    "date": {
      "description": "Order date, YYYY-MM-DD.",
      "type": "string"
    },
    "order_id": {
      "description": "Your accounting-system id for the order.",
      "type": "string",
      "minLength": 1,
      "maxLength": 50
    },
    "depot": {
      "description": "Depot address (else the account's default depot).",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "shipper": {
      "description": "Shipper/supplier name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "address_lat": {
      "description": "Address latitude (pass with address_lon to skip geocoding).",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "address_lon": {
      "description": "Address longitude.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "address_zone": {
      "description": "Address zone.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "time_slot_from": {
      "description": "Desired delivery/pickup window start, local 24-hour time HH:mm.",
      "type": "string"
    },
    "time_slot_to": {
      "description": "Desired delivery/pickup window end, local 24-hour time HH:mm.",
      "type": "string"
    },
    "service_time_minutes": {
      "description": "Service time at the stop, minutes.",
      "type": "number",
      "minimum": 0,
      "maximum": 1440
    },
    "note": {
      "description": "Note for the driver.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "contact_name": {
      "description": "Customer contact name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "phone": {
      "description": "Customer contact phone.",
      "type": "string",
      "minLength": 1,
      "maxLength": 50
    },
    "email": {
      "description": "Customer e-mail.",
      "type": "string",
      "maxLength": 255,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "weight": {
      "description": "Total weight.",
      "type": "number",
      "minimum": 0
    },
    "volume": {
      "description": "Total volume.",
      "type": "number",
      "minimum": 0
    },
    "pallets": {
      "description": "Pallet count.",
      "type": "number",
      "minimum": 0
    },
    "cod": {
      "description": "Cash-on-delivery amount to collect.",
      "type": "number",
      "minimum": 0
    },
    "barcode": {
      "description": "Barcode the driver scans.",
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "priority": {
      "description": "Order priority.",
      "type": "string",
      "enum": [
        "low",
        "normal",
        "high"
      ]
    },
    "goods": {
      "description": "Goods lines (max 100).",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Item description."
          },
          "quantity": {
            "description": "Quantity or weight.",
            "type": "number",
            "minimum": 0
          },
          "unit": {
            "description": "Unit: pcs, pkg, kg, lbs …",
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "cost": {
            "description": "Unit price.",
            "type": "number",
            "minimum": 0
          },
          "goods_id": {
            "description": "Goods id in your accounting system.",
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "note": {
            "description": "Line note.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "name"
        ]
      }
    }
  },
  "required": [
    "number",
    "client",
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet16 Tools