The useful pairing here is search plus routing plus rendering: an agent can resolve a vague place name, plan the multi-stop route, check what traffic is doing on it, and return an actual map image with the route drawn — rather than a list of coordinates the reader has to plot themselves. The hosted endpoint means the only thing you manage is the key.
TomTom's Maps MCP server: addresses to coordinates and back, place search, route calculation, traffic incidents and map images, wrapped as tools. It runs locally over stdio or as a hosted endpoint TomTom operates, and can be pointed at either the TomTom Maps or the TomTom Orbis Maps backend.
- Geocoding both directions — tomtom-geocode for address to coordinates, tomtom-reverse-geocode for coordinates to address
- Search shaped to the question: tomtom-fuzzy-search tolerates typos, tomtom-poi-search targets business categories, tomtom-nearby sweeps a radius
- Routing that goes past A to B — tomtom-routing, tomtom-waypoint-routing for multi-stop planning, tomtom-reachable-range for what is reachable inside a time or distance budget
- tomtom-traffic for real-time incident data on the roads in question
- Map images the model can hand back: tomtom-static-map for a plain image, tomtom-dynamic-map for stitched tiles with markers, routes and overlays rendered server-side and returned as base64 PNG
- Switching to the Orbis backend adds tomtom-ev-routing with charging stops, tomtom-search-along-route, tomtom-area-search, tomtom-ev-search and tomtom-data-viz; tomtom-static-map is only on the default backend
A TomTom API key, created in the developer portal with all available APIs selected. The hosted server needs nothing installed — add an http entry for https://mcp.tomtom.com/maps and pass the key in a tomtom-api-key header, with an optional tomtom-maps-backend header choosing the backend; it is in public preview and the key must have MCP Server access enabled. Locally it is Node.js 22.x and the npm package `@tomtom-org/tomtom-mcp`, launched with npx, reading `TOMTOM_API_KEY` from the environment or a .env file. `MAPS` pins the backend at startup, and pinning it makes the per-request header inert. A published Docker image serves the same thing in HTTP mode on port 3000. Orbis and some EV features are themselves in public preview, so a 403 saying missing permissions usually means the account lacks that preview rather than that the call was wrong.
One command plus a key — npx @tomtom-org/tomtom-mcp@latest, then supply credentials
