# Spoke Dispatch Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Spoke Dispatch

Manage delivery routes, drivers, stops and optimize plans for your Spoke Dispatch account.

- Record: https://musedirectory.ai/connector/spoke-dispatch
- Category: Productivity
- Developer: usefulapi (https://usefulapi.io/spoke-dispatch/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 40ms, checked 2026-10-29T10:45:49Z
- Endpoint: https://spoke-dispatch.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T12:51:29Z)
- Source: Found in the official MCP Registry (io.usefulapi/spoke-dispatch) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fspoke-dispatch

Connect to Spoke Dispatch to view and manage delivery plans, routes, drivers and stops. Create new plans, add stops, optimize routes and send them to drivers. Requires a Spoke Dispatch account and API access.

Example request: "Create a delivery plan for tomorrow, add customer stops, optimize the routes and send them to my drivers."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Spoke Dispatch to help me. It is a free service with an MCP server at https://spoke-dispatch.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- spoke_list_plans: 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_get_plan: One 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_stops: 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_get_stop: 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_search_stops: 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, recipien
- spoke_list_unassigned_stops: 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_get_unassigned_stop: One unassigned stop by id. Contains personal data. GET /unassignedStops/{id}.
- spoke_list_drivers: 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_get_driver: One driver by id. Contains personal data. GET /drivers/{driverId}.
- spoke_list_depots: 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_get_depot: One depot by id. GET /depots/{depotId}.
- spoke_list_routes: List routes (one driver's run of a plan: stop count, driver, distributed/started/completed state), up to 20 per page. GET /routes.
- spoke_get_route: One route: title, driver, stop count and state (distributed, started, completed, recipients notified). GET /routes/{routeId}.
- spoke_list_route_stops: 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_operations: 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_get_operation: One operation, e.g. the optimization started by spoke_optimize_plan: poll until done is true. GET /operations/{operationId}.
- spoke_list_custom_stop_properties: 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_create_plan: 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_update_plan: 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}.
- spoke_create_stop: 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_imp
- spoke_import_stops: 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 no
- spoke_optimize_plan: 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: po
- spoke_distribute_plan: 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 expl

Screening checks:
- MCP handshake: pass (Answered in 8ms)
- Domain against threat feeds (Cloudflare security DNS): pass (spoke-dispatch.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (23 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
