OptimoRoute MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

Check OptimoRoute routes, orders and driver events, and create orders or start route planning.

The publisher's own server: Ably MCP by usefulapi

Overview

AI-generated overview

Hosted OptimoRoute connector that lets an assistant check routes, orders, scheduling and driver events, and create orders or start route planning.

What you can do
  • Read routes for a date, orders, order search and scheduling info
  • Check order completion details, mobile driver events, planning and dispatch status
  • Create or update single orders and bulk orders
  • Start or stop route planning and send routes to drivers
  • Update driver parameters and order completion status
  • Report usage, request features, and manage the Pro or Pro+ subscription
When to use it
Useful when you plan and dispatch deliveries in OptimoRoute and want to ask about tomorrow's routes, unscheduled orders or whether routes were sent, or to create orders and kick off planning from a chat client.
Requirements
Remote MCP endpoint reached over streamable HTTP; no local install. Sign-in is via OAuth, and the login page asks for your OptimoRoute WS API key (Administration > Settings > WS API), which is validated and stored per user. A free plan allows 50 tool calls per month; paid plans are billed per user.
Before you install
Write tools change OptimoRoute data: creating or updating orders, starting or stopping planning, updating driver parameters and completion status, and sending routes to drivers. Your OptimoRoute WS API key is entered at the hosted login page and stored by the provider. Paid plans involve Stripe Checkout payments, and upgrading from Pro to Pro+ charges the price difference immediately with no refund on cancellation.

Installation

In SourceWeft

  1. Open OptimoRoute MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Foptimoroute/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "optimoroute-by-usefulapi": {
      "type": "http",
      "url": "https://optimoroute.usefulapi.io/mcp"
    }
  }
}

README

OptimoRoute MCP by usefulapi

Use OptimoRoute from Claude, Cursor, or any MCP client — check routes, orders, scheduling and driver events, and create orders, run planning and send routes to drivers. Hosted, no local install: connect with your own OptimoRoute credentials.

Live endpoint: https://optimoroute.usefulapi.io/mcp · Homepage: https://usefulapi.io/optimoroute

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://optimoroute.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http optimoroute https://optimoroute.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "optimoroute": {      "url": "https://optimoroute.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your OptimoRoute credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/optimoroute/

On first connect you'll provide your OptimoRoute WS API key (Administration > Settings > WS API). They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
optimoroute_get_routesreadGet routes for a date
optimoroute_get_ordersreadGet orders
optimoroute_search_ordersreadSearch orders
optimoroute_get_scheduling_inforeadGet an order's scheduling info
optimoroute_get_completion_detailsreadGet order completion details
optimoroute_get_eventsreadGet mobile events
optimoroute_get_planning_statusreadGet planning status
optimoroute_get_dispatch_statusreadGet dispatch status
optimoroute_create_orderwriteCreate or update an order
optimoroute_create_or_update_orderswriteCreate or update orders in bulk
optimoroute_start_planningwriteStart route planning
optimoroute_stop_planningwriteStop route planning
optimoroute_update_driver_parameterswriteUpdate a driver's parameters for a date
optimoroute_update_completion_detailswriteUpdate order completion status
optimoroute_send_routeswriteSend routes to drivers
optimoroute_usage_statusmetaUsage status (free-tier meter)
optimoroute_request_featuremetaRequest a missing feature
optimoroute_upgrademetaUpgrade to Pro or Pro+
optimoroute_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run optimoroute_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with optimoroute_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with optimoroute_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by OptimoRoute.

Source: servers/optimoroute/README.md at commit f22f848

Tools

15

optimoroute_get_routes

Get routes for a date

Get the planned routes for one date: per driver/vehicle the duration, distance, loads and the ordered list of stops with scheduled times. Optionally filter to one driver or vehicle and include the encoded polyline, start/end locations and dispatch status. OptimoRoute: GET /get_routes.

ParametersdaterequireddriverSerialdriverExternalIdvehicleRegistrationincludeRoutePolylineincludeRouteStartEndincludeDispatchStatus

optimoroute_get_orders

Get orders

Fetch full order data (location, time windows, assignment, loads, skills, contact) for up to 500 orders by orderNo or id. Each result has its own success flag; missing orders come back with ERR_ORD_NOT_FOUND rather than failing the call. Read-only despite using POST. OptimoRoute: POST /get_orders.

Parametersordersrequired

optimoroute_search_orders

Search orders

Find orders in a date range (at most 35 days) or by a list of orderNo/id, optionally filtered by status (e.g. failed, rejected, unscheduled), with order data and/or scheduling info. Up to 500 per page; pass the returned after_tag with the SAME other parameters to get the next page. Read-only despite using POST. OptimoRoute: POST /search_orders.

Parametersordersafter_tagdateRangeorderStatusincludeOrderDataincludeScheduleInformation

optimoroute_get_scheduling_info

Get an order's scheduling info

Is this order scheduled, and if so on which driver/vehicle, at which stop number and time, plus the live ETA from the routes sent to drivers. Give orderNo or id. OptimoRoute: GET /get_scheduling_info.

ParametersidorderNo

optimoroute_get_completion_details

Get order completion details

Get the completion status of up to 500 orders (unscheduled, scheduled, on_route, servicing, success, failed, rejected, cancelled) with service start/end times and positions, proof-of-delivery form data (notes, signature and photo URLs, barcodes), the tracking URL and optionally customer feedback. Read-only despite using POST. OptimoRoute: POST /get_completion_details.

ParametersordersrequiredincludeCustomerFeedback

optimoroute_get_events

Get mobile events

Read driver-app events for the live routes — on_duty, off_duty, start_route, end_route, start_service, success, failed, rejected, start_time_changed — up to 500 per call. Pass the returned tag as after_tag next time to get only newer events; remainingEvents says whether more are waiting. Events can arrive out of order when devices were offline. OptimoRoute: GET /get_events.

Parametersafter_tag

optimoroute_get_planning_status

Get planning status

Check a planning (route optimization) run started with optimoroute_start_planning: status N new, R running, C cancelled, F finished, E error, plus percentageComplete. OptimoRoute: GET /get_planning_status.

ParametersplanningIdrequired

optimoroute_get_dispatch_status

Get dispatch status

Have the routes (and customer notifications) for a date been sent to drivers, when, and are they the live routes? Optionally counts routes added, modified or removed since sending. Omit date for the currently live date. OptimoRoute: GET /get_dispatch_status.

ParametersdateincludeRouteChanges

optimoroute_create_order

Create or update an order

Create one order, or update an existing one, with address geocoding. operation: CREATE (new; errors if orderNo exists), UPDATE (existing only), MERGE (create or update only the fields you send — safest for edits), SYNC (create or REPLACE all fields with what you send). CREATE/SYNC/MERGE of a new order need date, type, location and orderNo or id. A location is either an existing locationNo alone, an address to geocode, or latitude+longitude+locationName. OptimoRoute: POST /create_order.

Parametersiddatetypeemailload1load2load3load4notesphoneskillsorderNo+20 more

optimoroute_create_or_update_orders

Create or update orders in bulk

Create, update or replace up to 500 orders in one call. No geocoding here: each location must be an existing locationNo or carry latitude+longitude (+ locationNo, address or locationName). Per order, operation MERGE/SYNC/CREATE/UPDATE works as in optimoroute_create_order; by default an order matched by id or orderNo is updated with only the fields sent, otherwise created. Returns a per-order success list. OptimoRoute: POST /create_or_update_orders.

Parametersordersrequired

optimoroute_start_planning

Start route planning

Start OptimoRoute's route optimization for a date (or a dateRange for weekly planning, if the plan allows). With the default startWith EMPTY, existing routes for that date are REPLACED; use startWith CURRENT (+ lockType) to keep them. Returns a planningId — poll it with optimoroute_get_planning_status, then read the result with optimoroute_get_routes. Can be cancelled with optimoroute_stop_planning. OptimoRoute: POST /start_planning.

ParametersdatelockTypebalanceBybalancingdateRangestartWithclusteringdepotTripsuseDriversbalancingFactoruseOrderObjectsdepotVisitDuration+2 more

optimoroute_stop_planning

Stop route planning

Stop a running planning (optimization) process by its planningId. OptimoRoute: POST /stop_planning.

ParametersplanningIdrequired

optimoroute_update_driver_parameters

Update a driver's parameters for a date

Change one driver's setup for one date: enable/disable, work hours, assigned vehicle, vehicle capacities, start/end location. WARNING: any existing route for that driver on that date is UNSCHEDULED; re-run planning afterwards. Start/end locations also apply to future optimizations. OptimoRoute: POST /update_driver_parameters.

ParametersdaterequiredenabledendAddressexternalIdrequiredworkTimeToendLatitudeendLongitudestartAddressworkTimeFromstartLatitudestartLongitudeassignedVehicle+4 more

optimoroute_update_completion_details

Update order completion status

Set the completion status of up to 500 orders (e.g. mark success, failed or cancelled from an external system), optionally with service start/end times. Each time takes unixTimestamp, utcTime or localTime. Reversible by setting the status again. Returns a per-order success list. OptimoRoute: POST /update_completion_details.

Parametersupdatesrequired

optimoroute_send_routes

Send routes to drivers

Dispatch the routes for a date to the drivers' mobile app (the web app's Send Routes). This makes that date the live routes and CANNOT be unsent. sendNotifications defaults to FALSE here (OptimoRoute's own default is true); set it true only when you mean to email/SMS customers per the account's Order Tracking settings. Returns ERR_NOTHING_TO_SEND if nothing changed since the last send. Confirm with optimoroute_get_dispatch_status. OptimoRoute: POST /send_routes.

ParametersdaterequiredsendNotifications

Version history

25
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.5Nov 8, 2026
  5. v1.36.4Nov 7, 2026
  6. v1.35.3Nov 5, 2026
  7. v1.35.2Nov 5, 2026
  8. v1.35.1Nov 4, 2026
  9. v1.35.0Nov 3, 2026
  10. v1.34.1Nov 3, 2026
  11. v1.33.0Nov 1, 2026
  12. v1.31.0Oct 31, 2026
  13. v1.30.0Oct 31, 2026
  14. v1.29.2Oct 30, 2026
  15. v1.29.0Oct 30, 2026
  16. v1.24.0Oct 26, 2026
  17. v1.21.3Oct 25, 2026
  18. v1.21.0Oct 25, 2026
  19. v1.20.0Oct 24, 2026
  20. v1.17.0Oct 23, 2026
  21. v1.16.4Oct 22, 2026
  22. v1.16.3Oct 21, 2026
  23. v1.11.1Oct 9, 2026
  24. v1.10.0Oct 9, 2026
  25. v1.0.0Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations