Track-POD MCP by usefulapi

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

我該用這個嗎

品質與安全性

A
說明品質
99%
結構描述完整度
90%
命名品質
99%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'trackpod_list_orders_changed_since' name length outside 3-30 range在 trackpod_list_orders_changed_since 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,997Token(工具定義)
~2.3 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.90%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "track-pod": {
      "url": "https://track-pod.usefulapi.io/mcp"
    }
  }
}

遠端端點

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

它能做什麼

工具清單

工具(16)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢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.

輸入結構描述

{
  "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).

輸入結構描述

{
  "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).

輸入結構描述

{
  "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).

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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).

輸入結構描述

{
  "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).

輸入結構描述

{
  "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/{…}).

輸入結構描述

{
  "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).

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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}).

輸入結構描述

{
  "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.

輸入結構描述

{
  "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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本16 個工具