WebMCP: Routing24 as an AI toolCopy link

Ask an assistant to "plan tomorrow's deliveries" and it has two ways into most software: read the screen and click things like a person, or call a public API, which most sites do not have. WebMCP is a third. The website hands the assistant a set of tools, and the assistant calls them directly.

Routing24 publishes 13 such tools. With them, an assistant sitting in your browser can geocode addresses, start an optimization, watch it finish, read the resulting routes stop by stop, edit them, and save the plan, without going through the UI and without an API key.

What WebMCP actually isCopy link

WebMCP brings the Model Context Protocol, the standard AI assistants already use to talk to external tools, into the web page itself. A site registers its tools on document.modelContext. Any agent operating in that tab can list them and call them, the way a desktop assistant calls an MCP server.

Compared with scraping or clicking the page:

Clicking the pageCalling a tool
Breaks when a button movesNamed, versioned, described contract
Guesses what a field meansTyped input, validated on the way in
Reads numbers off screenshotsGets structured data back
Cannot tell success from a stuck spinnerExplicit result, explicit error

WebMCP is being drafted at the W3C, in the Web Machine Learning Community Group, and Chrome is running a public origin trial of the browser API while travel, retail, and finance sites test it on their own pages. It is not a finished standard yet: Firefox and Safari have not stated a position, and the shape of the API has already changed once.

The app bundles a polyfill, so the tools exist in any modern browser, and a native browser implementation takes over automatically once one is present.

What Routing24 exposesCopy link

Every tool is prefixed routing24_. They cover the full working cycle:

ToolWhat it does
routing24_geocodeBatch-geocode addresses, with a clear "not found" per row
routing24_optimizeCreate a plan and start optimizing: stops, vehicles, a depot, and the full constraint set
routing24_statusProgress, routes, distance, duration, feasibility, unassigned count
routing24_solutionThe whole solution: per route, the ordered stops with ETAs, loads, waits, and problems, plus the unassigned list and why
routing24_editManual edits as an all-or-nothing batch: move, unassign, split, merge, change vehicle, create and remove routes
routing24_optimize_routeRe-sequence one route, synchronously
routing24_undo / routing24_redoWalk the same history as your own edits
routing24_renderDraw the current routes on the map in your tab
routing24_savePersist the plan and return its link
routing24_plan_urlThe current plan's link
routing24_cancelAbort a long solve, keeping the best solution so far
routing24_get_auth_userWho a saved plan will belong to, or "anonymous"

The inputs are generated from Routing24's own types, so the constraint vocabulary an assistant sees is the same one the app uses: time windows, capacities, shifts, priorities, tags, breaks, transfers, sequences, reloads, costs.

Where the work happens

Route optimization runs in your browser, in your own tab. Geocoding, distance matrices, and our ML services run on Routing24 servers, reached with a token issued for your session. The assistant never talks to a Routing24 server directly. It drives your tab. There is no API key and no server API in the loop, and the flow works without signing in.

How to query it todayCopy link

Native WebMCP support is not required, in the browser or in the assistant. Any assistant that can open a page and run code in it, which is what Claude Cowork does when it works in your browser, reaches the same tools through the polyfill the page already loaded.

The mechanics:

const mc = document.modelContext ?? navigator.modelContext;
const tools = await mc.getTools();          // 13 routing24_* tools
const tool = tools.find(t => t.name === 'routing24_status');
JSON.parse(await mc.executeTool(tool, '{}'));

The Routing24 skill supplies the calling convention, the constraint schema, and the working procedure to your assistant.

The contract an assistant reads

Everything an assistant needs to drive Routing24 is published as a single document at routing24.com/llms.txt, regenerated from the live types on every release. An assistant working from a stale copy can refetch it.

What this does not changeCopy link

  • Agent control is explicit. The moment an assistant edits routes, the app locks behind an Agent controlled overlay with a Take control button. Its edits share one undo history with yours, so you can review and roll back its work exactly like your own.
  • Your data follows the same paths. Same tab, same session, same storage. Nothing is copied to a separate AI service.
  • The assistant reads the same results as the screen. Optimization results, problems, and unassigned orders are the same ones the screen shows.

AI assistants integration is part of the Starter and Pro plans, see Plans, billing, and free limits.

Next stepCopy link

Install the skill in Claude Cowork, then work through what it can do: convert data and fix addresses, describe constraints in plain language, and query, edit, and export a plan.