Spoke Dispatch MCP by usefulapi
Read Spoke Dispatch plans, stops, routes and drivers; create and optimize plans; send routes.
Connect it
Settings → Connectors → Add custom connector
URL: https://spoke-dispatch.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://spoke-dispatch.usefulapi.io/mcp{
"mcpServers": {
"spoke-dispatch": {
"url": "https://spoke-dispatch.usefulapi.io/mcp"
}
}
}claude mcp add --transport http spoke-dispatch https://spoke-dispatch.usefulapi.io/mcp{
"servers": {
"spoke-dispatch": {
"type": "http",
"url": "https://spoke-dispatch.usefulapi.io/mcp"
}
}
}23 tools, verified live
spoke_list_plansread-onlyList route plans (a plan = one day's delivery job: date, depot, drivers, routes), newest first, in pages of up to 20. Filter with e.g. {"title":"Monday run"} or {"startsGte":"2026-10-01"}. GET /plans.
spoke_get_planread-onlyOne plan: title, start date, depot, driver ids, route ids, whether it is distributed/writable, optimization state and route overrides. GET /plans/{planId}.
spoke_list_plan_stopsread-onlyList the stops of a plan, in pages of up to 10. Stops include recipient names, phones, e-mails and addresses (personal data): page only as far as needed. GET /plans/{planId}/stops.
spoke_get_stopread-onlyOne stop of a plan with address, recipient, timing, ETA, route and delivery outcome (attempted, succeeded, notes, photo/signature links). Contains personal data. GET /plans/{planId}/stops/{stopId}.
spoke_search_stopsread-onlySearch all stops of the team (planned, unassigned, past) by keyword and/or Spoke's filter language, up to 20 per page. Example filter: address.countryCode = "DE" and deliveryInfo.attempted = false. Filterable: planId, routeId, type, activity, notes, address.*, createdAt, recipient.name/email/phone/externalId, deliveryInfo.state/attempted/succeeded, orderInfo.*. Results include personal data. The s
spoke_list_unassigned_stopsread-onlyList stops that are not on any plan yet (the inbox of imported orders), in pages of up to 20 (default 20). Contains personal data. GET /unassignedStops.
spoke_get_unassigned_stopread-onlyOne unassigned stop by id. Contains personal data. GET /unassignedStops/{id}.
spoke_list_driversread-onlyList the team's drivers (name, e-mail/phone, active flag, depots, route overrides), up to 50 per page. Contains personal data. GET /drivers.
spoke_get_driverread-onlyOne driver by id. Contains personal data. GET /drivers/{driverId}.
spoke_list_depotsread-onlyList depots (start/end addresses, working hours, vehicle type, max stops), up to 20 per page. Use the ids when creating plans. GET /depots.
spoke_get_depotread-onlyOne depot by id. GET /depots/{depotId}.
spoke_list_routesread-onlyList routes (one driver's run of a plan: stop count, driver, distributed/started/completed state), up to 20 per page. GET /routes.
spoke_get_routeread-onlyOne route: title, driver, stop count and state (distributed, started, completed, recipients notified). GET /routes/{routeId}.
spoke_list_route_stopsread-onlyList the stops of one route in driving order, in pages of up to 10. Contains personal data: page only as far as needed. GET /routes/{routeId}/stops.
spoke_list_operationsread-onlyList long-running operations (plan optimizations): type, done flag, who started it, result (optimized and skipped stops), up to 20 per page. GET /operations.
spoke_get_operationread-onlyOne operation, e.g. the optimization started by spoke_optimize_plan: poll until done is true. GET /operations/{operationId}.
spoke_list_custom_stop_propertiesread-onlyThe team's custom stop property definitions (ids and names). Their ids are the keys of customProperties on stops. Needs a subscription that includes custom properties (HTTP 403 otherwise). GET /team/customStopProperties.
spoke_create_planWRITE: create a new route plan for a date (no stops yet, nothing is sent to drivers). Optionally assign drivers (up to 50, they must be active and share the plan's depot) and a depot (default: the team's main depot). Does not optimize or distribute. POST /plans.
spoke_update_plancan modifyWRITE: change a plan's title, date, drivers and/or depot. Only the fields you pass change, but driver_ids REPLACES the plan's whole driver list. Fails if the plan is not writable (already distributed). Nothing is sent to drivers. PATCH /plans/{planId}.
spoke_create_stopWRITE: add one stop to a writable (not yet distributed) plan. Needs an address (text fields or latitude+longitude). The recipient's phone/e-mail are stored on the stop and Spoke may contact the recipient later when the route runs; nothing is sent now. For many stops use spoke_import_stops. POST /plans/{planId}/stops.
spoke_import_stopsWRITE: add up to 100 stops to a writable (not yet distributed) plan in one request (better geocoding than one at a time; Spoke limits imports to 30 requests a minute). Returns the created stop ids and any failures. Recipient contact data is stored on the stops; nothing is sent now. POST /plans/{planId}/stops:import.
spoke_optimize_plancan modifyWRITE: start the route optimization of a plan (orders and assigns its stops to its drivers). Rewrites the plan's routes if it was optimized before, and uses Spoke's optimization quota (30 per minute, 100 per 10 minutes). Does NOT send anything to drivers. Returns an operation: poll spoke_get_operation until done. Needs at least one driver and one stop. POST /plans/{planId}:optimize.
spoke_distribute_plancan modifyWRITE (SENDS TO REAL PEOPLE): distribute an optimized plan, which immediately sends each driver of the plan their route on their phone (push notification / message) and locks the plan for edits. Cannot be undone. Only for a plan with 1-10 drivers, and only after the user has explicitly said to send the routes: set confirm_send_to_drivers to true. POST /plans/{planId}:distribute.
Alternatives in Other
Compare →TSTHORChain SwapA
Read-only THORChain swap quotes, liquidity pools, and network status.
TITAG IT VerifyA
Verify on-chain lifecycle state and provenance of NFC-tagged physical products.
ATAtsA
Which ATS does a company use? Portal-verified answers for 743 employers + resume ATS check. No key.
ZMZooza MCP ServerA
MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.
KMKolmo MCP ServerB
WA permit rules (city + state baseline, cited), parcel zoning, L&I checks, Seattle estimates & ROI
FSFabrica (Sepolia testnet)B
Fabrica test properties on Sepolia: try every Fabrica tool with no real-world effect.