Platform / Live
Nov 12, 2026 · By Joe Snyder

EasyRoutes 101: Get Started with the MCP Server

Connect your AI assistant to EasyRoutes in a few minutes, then try the prompts in this guide: check tomorrow's routes, turn an order email into stops, optimize and dispatch, and fix a stop in a sentence.

A Claude Desktop chat: an order email for three Thursday deliveries is pasted in, and Claude replies that it has set up and optimized the route, listing each stop with its arrival time

Welcome to EasyRoutes 101! EasyRoutes now works with the AI assistant you already use. In this article, we’ll connect your assistant with the MCP server, look at what’s new in the API underneath it, then walk through prompts you can use straight away: checking on your routes, building them from emails and orders, sending them to drivers and fixing stops along the way.

What the MCP server does

The EasyRoutes MCP server connects AI assistants like Claude, ChatGPT Desktop, Cursor and Codex to your EasyRoutes account. You ask for what you need in a conversation, and your assistant calls EasyRoutes tools to do it. With it, your assistant can:

  • Read your account: routes, stops, drivers and vehicles
  • Set up routes: create them, add imported stops or Shopify orders, and set route options like the time at each stop
  • Assign, optimize and dispatch: give a route a driver and vehicle, put its stops in their best order, and send it to the EasyRoutes Delivery Driver app
  • Edit stops: change an address, note, time window, delivery date or duration

It can’t message customers or drivers, show where your drivers are, or look up a Shopify order by its order number. Those stay in EasyRoutes, and a few of the prompts below show how to work around them.

Powered by the improved EasyRoutes API

The MCP server is built on the EasyRoutes API, so anything your assistant does with it can also be built into your own systems with a custom integration. If you last looked at the API before the summer, we’ve made a lot of updates and improvements since then. Since July, the API can now:

  • Edit a route after you create it: its name, note, tags, scheduled date and time, start and end locations, default stop time, and route options like a maximum duration or number of stops, avoiding tolls, and a speed factor.
  • List routes by their scheduled start, so tomorrow’s routes are the ones going out tomorrow, not the ones created then.
  • Work with vehicles: list them, look one up, and assign or unassign one on a route.
  • Add Shopify orders to a route, up to 200 at a time, without importing them first, then edit the stops they make.
  • Edit tasks on a stop, and at a route’s start and end.
  • Refresh a route’s Shopify orders with their latest fulfillment statuses, items, notes and tags, so the route is up to date before you dispatch it.
  • Show the phone number EasyRoutes uses for SMS on each stop, including in the stop status webhook.

EasyRoutes 101: Get Started with the API walks through building routes in your own code, and the API changelog lists every change and addition to the API’s capabilities.

Before you start

You’ll need:

  • A paid EasyRoutes plan, on Web or Shopify. API keys come with every paid plan.
  • An assistant that supports MCP: Claude Desktop, Claude Code, ChatGPT Desktop, Cursor or Codex.
  • A test store, if you can, with a few sample orders and your own contact details on them, so you can try changes without affecting real deliveries.

Connect your assistant

1) Get your API keys

In EasyRoutes, go to Settings > API and generate a client ID and secret key.

The API Client section before any key exists, with the Developer contact email field and the Generate API key button outlined in red

2) Add EasyRoutes to your assistant

Each assistant takes the same server address and your keys. Copy the setup for yours from the EasyRoutes MCP server page, or follow the MCP docs for step-by-step instructions.

3) Choose what it can do

Your assistant asks before every tool runs. Once you’re comfortable, pre-allow the tools you use most, like looking up routes, and leave changes set to ask.

4) Check that it’s connected

Ask your assistant: “Use EasyRoutes to list my routes.” If it answers with your routes, you’re ready.

Prompts to try

Each prompt below shows what to ask, the EasyRoutes tools your assistant calls, and the reply we got on a test store. Your assistant may word things differently, and may call tools in a different order, but the results in EasyRoutes will be the same.

Check on your day

These prompts only read your account, so they’re the place to start. Ask them first thing to see what’s planned, or before routes go out to catch a problem while it’s still easy to fix. Nothing in EasyRoutes changes, which also makes these tools the safest ones to pre-allow.

  • list_routes reads your routes and everything on them: driver, vehicle, start time and distance, and each stop’s planned arrival, time window, items and note. It can sort routes by the day they’re scheduled for, and include archived routes when you ask about past ones.
  • list_drivers reads your drivers and whether each is active, inactive or archived. Drivers you’ve invited who haven’t signed up yet aren’t included.

See what’s going out tomorrow

Ask: “What’s going out tomorrow, and who’s driving?”

Tools called: list_routes, list_drivers

One route tomorrow: Wednesday – Email orders, with John Smythe in the Large Cargo Van (Holiday Rental). It leaves 123 Main Street at 9:25 with 3 stops and 6 bouquets, about 19.5 km. Jane Doe isn’t on a route tomorrow.

Good to know: Ask about today instead, first thing in the morning, for a daily briefing: “Give me a briefing on today’s routes: who’s driving, how many stops, and when each one leaves.”

Check tomorrow’s routes

Ask: “Anything I should check before tomorrow’s routes go out?”

Tools called: list_routes

Wednesday’s route looks ready. It’s optimized, and Elena Rossi, who asked for 10 to noon, is due at 10:05. It hasn’t been dispatched yet, so John won’t see it until you send it.

Good to know: Your assistant compares each stop’s planned arrival with its time window, so this is a good question to ask after building a route and before sending it.

Build routes

These prompts turn orders into a route, wherever the orders arrived: an email, a spreadsheet or your Shopify admin. Use them when you’d otherwise be typing addresses into EasyRoutes, and put the day, the start location and anything about the route itself in the same ask.

  • import_stops brings in stops from outside Shopify, up to 200 at a time, each with its address, contact, items, note, time window and delivery date. They show up in EasyRoutes as orders, ready for any route.
  • create_route makes an empty route with a start and end location, a date and start time, a name, and options like avoiding tolls or a maximum number of stops.
  • add_route_stops puts imported stops on a route. add_route_shopify_orders does the same for Shopify orders, taking each stop’s address, note and items from its order. If any order can’t be added, such as one with no shipping address, none are.
  • update_route changes the route itself once it’s created: its name, date, note or tags, or the time each new stop plans for.
  • list_vehicles, assign_route_driver and assign_route_vehicle find your vehicles and put a driver and vehicle on the route.
  • reoptimize_route puts the stops in their best order. Adding stops never does this on its own, so ask for it if your assistant doesn’t.

Turn an order email into a route

Paste the email into the chat, then ask: “Put these on a new route for Thursday from the shop, and give it to Jane in the warehouse van.”

Tools called: list_routes, list_drivers, list_vehicles, import_stops, create_route, add_route_stops, assign_route_driver, assign_route_vehicle, reoptimize_route

Done. The route “Thursday Nov 12 - Jane” is set up in EasyRoutes with Jane Doe as the driver and the Warehouse Cargo Van (Ford Transit Connect) as the vehicle. It starts and ends at the shop on 123 Main Street, and it’s been optimized. With a 12:00 pm departure, Luis Ortega is due around 12:24, Hannah Okafor around 12:41 and Grace Lin around 1:00, with her 1 to 3 pm window set. You didn’t give a time, so I set noon, which works for Grace’s window. Jane won’t see the route until it’s dispatched.

The new EasyRoutes route, Thursday Nov 12 - Jane, leaving at 12:00 pm, with Jane Doe and the Warehouse Cargo Van outlined in red and three numbered stops on a map of Toronto

Good to know: Notes, items and delivery windows in the email come across with each stop. Here Claude chose a noon start so Grace’s 1 to 3 pm window would work: optimizing puts stops in their best order, but it won’t move a stop into its window on its own, so it’s the start time that does it.

Build a route from Shopify orders

Paste links to the orders from your Shopify admin, then ask: “Make a route for Friday from the shop with these orders.”

Tools called: create_route, add_route_shopify_orders

Friday’s route is ready, with a stop for each of orders #1203 to #1206 and 9 bouquets in all: Amara Okafor (3 yellow), Daniel Kim (2 red), Sofia Marino (1 white) and Liam Tremblay (one of each). Each stop has its address and items from the order. It isn’t optimized and doesn’t have a driver yet.

Good to know: Your assistant needs each order’s ID, which is the number at the end of its link in Shopify admin. It can’t find an order from its order number (like #1203) alone.

Set route options before adding stops

Ask: “Make a Friday route from the shop with these orders, and plan 5 minutes at each stop.”

Tools called: create_route, update_route, add_route_shopify_orders

Done. I set the route’s stop time to 5 minutes before adding the orders, so every stop plans 5 minutes on site. Leaving at 10:00, Amara is due at 10:39, Daniel at 10:52, Sofia at 11:23 and Liam at 11:40, about 28.4 km.

The stop table for Friday – Shopify orders, listing orders #1203 to #1206 with their customers and items, and a stop time of 5 min on every stop outlined in red

Good to know: Each stop takes the route’s stop time when it’s added, so the stop time has to be set before the orders go on. Changing it afterwards only affects stops you add later; ask your assistant to update existing stops’ durations instead.

Assign, optimize and dispatch

These prompts take a built route the rest of the way: the right driver and vehicle, a last check, any edits, its best order, then out to your driver. Work through them in the order shown, since a route is easiest to fix before your driver has it. Tools from the last two sections swap the driver and vehicle, rename the route, check it and optimize it; asking to optimize a route that’s already optimized changes nothing. Three tools are new:

  • update_route_stop_location changes a stop’s address on this route only. The order it came from, in Shopify or EasyRoutes, stays as it was. The change marks the route as not optimized.
  • update_route_stop changes a stop’s note, time window, delivery date, stop time or priority. On a stop from a Shopify order, the contact and items come from the order and can’t be changed this way. Neither tool can change stops added by hand in EasyRoutes.
  • dispatch_route sends the route to the EasyRoutes Delivery Driver app, and your driver is notified. If you have EasyRoutes update Shopify orders when a route is dispatched, those updates don’t happen when your assistant dispatches it.

Swap the driver and van

Ask: “Jane’s off Thursday. Switch that route to John, in the Sprinter.”

Tools called: list_drivers, list_vehicles, assign_route_driver, assign_route_vehicle, update_route

Done. John Smythe is on Thursday’s route now, in the Large Cargo Van (Holiday Rental), your Mercedes-Benz Sprinter. I renamed the route “Thursday Nov 12 - John” to match. The stops and times haven’t changed.

The same route, now named Thursday Nov 12 - John, with John Smythe and the Large Cargo Van (Holiday Rental) outlined in red

Good to know: You don’t need a vehicle’s exact name. Your assistant can match “the Sprinter” to a van by its make and model.

Check a route before you send it

Ask: “Anything I should check before Thursday’s route goes out?”

Tools called: list_routes

One thing. Grace Lin is due at 12:59, a minute before her 1 to 3 pm window opens, and EasyRoutes flags it. Otherwise the route is optimized and ready, and it hasn’t been dispatched yet.

Good to know: “Around 1:00” isn’t the same as inside the window. A minute early still counts, and the app flags it too, so it’s worth asking before you send a route.

Change a stop’s address and note

Ask: “Luis’s flowers should go to his office instead: 200 Bay St. Tell the driver to leave them at reception, 14th floor.”

Tools called: list_routes, update_route_stop_location, update_route_stop

Updated. Luis’s stop is now 200 Bay St, and the note reads “Leave at reception, 14th floor.” He’s due at 12:21 instead of 12:24, and the change moves Grace to 1:04, inside her window. The route will need optimizing again.

The route's stop table, with the first stop's new address, 200 Bay St, outlined in red and its note, Leave at reception, 14th floor, showing above it

Good to know: Updating a note replaces the whole note, so include anything from the old one you want to keep.

Optimize the route

Ask: “Optimize it again.”

Tools called: reoptimize_route

Optimized. The order stays the same, Luis, Hannah, then Grace, about 26.6 km in all, and Grace is still due at 1:04, inside her window.

Good to know: Changing a stop’s address marks the route as not optimized, so ask again after edits like this one.

Send it to your driver

Ask: “Looks good. Send it to John.”

Tools called: dispatch_route

Sent. John will be notified he has a new route in the EasyRoutes Delivery Driver app. He leaves 123 Main Street at noon: Luis Ortega at 12:21 (2 white bouquets, at reception), Hannah Okafor at 12:46 (1 red, buzz 402) and Grace Lin at 1:04 (1 yellow).

Good to know: Drivers see changes to a dispatched route straight away, so check it before you change it.

Fix things on the fly

These prompts handle what changes after a route is built, or after it’s gone out: a customer’s message, a cancelled order. Paste what came in and name the route, and your assistant finds the stop and makes the change. They work on a dispatched route too, so you can keep using them through the day, but your driver sees each change straight away.

  • update_route_stop, from the last section, also works on a route that’s under way or finished, so name the one you mean.
  • delete_route_stops takes one or more stops off a route, including one that’s under way. Like adding stops, it doesn’t reoptimize the route.
  • reoptimize_route can also leave delivered and attempted stops where they are and reorder only the ones still to go. That’s the way to reoptimize once a driver has started.

Pass on a customer’s message

Paste the customer’s message, then ask: “Hannah texted that her front buzzer’s broken. Pass it on to Thursday’s driver.”

Tools called: list_routes, update_route_stop

Done. Hannah’s note now reads “Buzz 402. The front buzzer is broken, so use the side door.” I kept the buzzer number from her original note.

Good to know: Unless you’ve pre-allowed update_route_stop, your assistant asks before it runs, and shows you the note it’s about to set.

Remove a cancelled stop

Ask: “Grace cancelled. Take her off Thursday’s route and reoptimize.”

Tools called: list_routes, delete_route_stops, reoptimize_route

Grace’s stop is off Thursday’s route, and I’ve reoptimized it: Luis at 12:21, then Hannah at 12:46. John should be back at the shop around 1:14 instead of 1:47.

Good to know: Removing a stop doesn’t reoptimize the route on its own, so ask for both.

Tips for better results

  • Name the route by its day, name or driver, so your assistant changes the right one.
  • Ask it to check before you dispatch, with a prompt like “Anything I should check?”
  • Paste the source: emails, order links or a customer’s message give your assistant the details to work from.
  • Ask for one change at a time while you’re getting started, and approve each one as it asks.

Further information

4 questions

Frequently asked questions

Does the MCP server work with EasyRoutes for Web and Shopify?

Yes. It works the same way on EasyRoutes for Web and EasyRoutes for Shopify, with API keys from any paid plan. Assistants that connect by signing in rather than with keys, like ChatGPT on the web, aren't supported yet.

See: EasyRoutes MCP server

Can my assistant message customers or drivers?

No. Customer notifications and driver messages still go out from EasyRoutes as they do today. Dispatching a route does notify the driver in the EasyRoutes Delivery Driver app.

Will my assistant change anything without asking?

Not unless you let it. Assistants ask before each tool runs. You can pre-allow the tools you trust, like lookups, and turn any tool off in your assistant's settings.

Can I see where my drivers are through the MCP server?

Not yet. Follow your drivers on the map in EasyRoutes. Your assistant can read each stop's status and planned arrival.

Your delivery day, planned before you get in.