MCP server
Spoke Dispatch MCP by usefulapi
io.usefulapi/spoke-dispatch
Checked 25 Oct 2026, 20:29 UTC · Connected to it and listed its tools
Read Spoke Dispatch plans, stops, routes and drivers; create and optimize plans; send routes.
Working at last checkVerified publisher: usefulapi.ioAbout 5,945 tokens per request once connected23 tools
https://spoke-dispatch.usefulapi.io/mcp
At a glance
- Type
- MCP server
- Publisher
- usefulapi.io (verified by the MCP Registry)
- Status
- Working at last check
- Tools
- 23
- Token cost
- About 5,945 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 25 Oct 2026, 20:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http spoke-dispatch https://spoke-dispatch.usefulapi.io/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.spoke-dispatch] url = "https://spoke-dispatch.usefulapi.io/mcp"
Gemini CLI
{"mcpServers":{"spoke-dispatch":{"httpUrl":"https://spoke-dispatch.usefulapi.io/mcp"}}}
Cursor
{"mcpServers":{"spoke-dispatch":{"url":"https://spoke-dispatch.usefulapi.io/mcp"}}}
VS Code
{"servers":{"spoke-dispatch":{"type":"http","url":"https://spoke-dispatch.usefulapi.io/mcp"}}}
Antigravity
agy mcp add spoke-dispatch https://spoke-dispatch.usefulapi.io/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"spoke-dispatch","server_url":"https://spoke-dispatch.usefulapi.io/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"spoke-dispatch","server_url":"https://spoke-dispatch.usefulapi.io/mcp"}
Tools
spoke_create_plan~264 tokens
WRITE: 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_create_stop~962 tokens
WRITE: 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 /plaspoke_distribute_plan~229 tokens
WRITE (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 sendspoke_get_depot~93 tokens
One depot by id. GET /depots/{depotId}.spoke_get_driver~102 tokens
One driver by id. Contains personal data. GET /drivers/{driverId}.spoke_get_operation~123 tokens
One operation, e.g. the optimization started by spoke_optimize_plan: poll until done is true. GET /operations/{operationId}.spoke_get_plan~126 tokens
One plan: title, start date, depot, driver ids, route ids, whether it is distributed/writable, optimization state and route overrides. GET /plans/{planId}.spoke_get_route~118 tokens
One route: title, driver, stop count and state (distributed, started, completed, recipients notified). GET /routes/{routeId}.spoke_get_stop~159 tokens
One 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_get_unassigned_stop~113 tokens
One unassigned stop by id. Contains personal data. GET /unassignedStops/{id}.spoke_import_stops~977 tokens
WRITE: 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/{planspoke_list_custom_stop_properties~111 tokens
The 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_list_depots~167 tokens
List depots (start/end addresses, working hours, vehicle type, max stops), up to 20 per page. Use the ids when creating plans. GET /depots.spoke_list_drivers~194 tokens
List the team's drivers (name, e-mail/phone, active flag, depots, route overrides), up to 50 per page. Contains personal data. GET /drivers.spoke_list_operations~173 tokens
List long-running operations (plan optimizations): type, done flag, who started it, result (optimized and skipped stops), up to 20 per page. GET /operations.spoke_list_plan_stops~242 tokens
List 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_list_plans~333 tokens
List 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_list_route_stops~234 tokens
List 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_routes~210 tokens
List routes (one driver's run of a plan: stop count, driver, distributed/started/completed state), up to 20 per page. GET /routes.spoke_list_unassigned_stops~173 tokens
List 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_optimize_plan~177 tokens
WRITE: 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_operatispoke_search_stops~426 tokens
Search 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/espoke_update_plan~239 tokens
WRITE: 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}.
Browse
Related MCP servers
- OptimoRoute MCP by usefulapi
Check OptimoRoute routes, orders and driver events, and create orders or start route planning. - CXT Software MCP by usefulapi
Track and search CXT courier orders, check drivers, propose and save order and route plans. - Raute Route Planner
Plans delivery routes for up to 25 US addresses and 5 drivers, with the stop order and a map. - Delopt delivery dispatch
AI dispatch for food & local delivery: assigns orders to drivers, sequences stops, times departures. - Aave MCP
Official Aave MCP for V3 and V4 markets, positions, governance, and transaction preparation. - Moltline Optimize
Vehicle routing, 3-D packing, cutting stock, rostering and knapsack with OR-Tools. 7 of 11 free. - Shipday MCP by usefulapi
Read Shipday orders, carriers and delivery status; create orders and assign drivers. - Lalamove MCP by usefulapi
Read Lalamove cities, vehicles, quotations and orders; quote, place, tip and cancel deliveries.
Badge for your README
[](https://aptlynx.net/servers/io.usefulapi/spoke-dispatch)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents