MapMap navigation platform for AI agents — 11 integration skills (routing, truck/ADR, web maps, map design, fleet optimisation, telematics fleet sync, offline, self-host, x402 payments, migrations) plus the hosted MapMap MCP server.
Includes an opt-in, consent-first integration-retro reminder hook (disabled by default).
·
https://mcp.mapmap.ai/mcpMapMap: a self-hosted multi-modal routing platform, cars, trucks (with first-class ADR dangerous-goods support), bicycles, pedestrians and motor scooters. Tools: computes turn-by-turn routes (costing "auto", "truck", "bicycle", "pedestrian" or "motor_scooter", pass a truck profile with dimensions and the ADR declaration to apply dimensional and hazmat restrictions to the search (see applied_adr.tunnel_enforcement for what a returned route does and does not prove), pedestrian options for lit-street preference, wheelchair/blind profiles, hills, surface quality and hiking difficulty, or bicycle options for bicycle type and road/surface/hill preferences; every one of these costings accepts rationale: true for an honest why-this-route explanation derived by route divergence); finds POIs along a route with each one's real engine-computed detour cost ("coffee, adds 4 min"); ranks fuel stations along a route cheapest-first from live open-data price feeds (UK, FR, DE) with engine-computed detours, a 24-hour staleness flag (a stale price ranks below every fresh one and claims no saving) and the saving vs the cheapest on-route baseline; ranks EV charge points along a route most-powerful-first from operator-published charge-point data, with engine-computed detours, connector and minimum-kW filters, and a coverage statement naming the operators covered, show it, because an empty result means "none from these operators", never "no chargers here"; plans a whole EV journey, physics consumption over the route's legs, charge stops chosen so the state of charge never breaches the reserve floor, and charge times integrated over the vehicle's own charging curve rather than energy divided by peak power, and answers feasible: false with a named cause and the furthest reachable point rather than inventing a plan; reads the forecast for the hour each point of a route is reached (rain, snow, gusts, visibility, a severe flag) and answers with one summary sentence; it is a forecast, advisory and never a routing guarantee, so say so when you pass it on; finds England bus and coach stops near a point (NaPTAN ATCO codes, the lines calling there) and gives a stop's timetabled departures, each with any vehicle seen on that line heading towards the stop; they are timetable times and display data, never journey plans or arrival predictions, so pass on the label and coverage they return; returns earthquakes, US-monitored volcano alerts and satellite-detected fire heat (not confirmed fires) in a box, the Kp index and the NOAA aurora forecast, and the NOAA GFS forecast frames MapMap processes for drawing weather; all three are reported or forecast data for display, never a warning service, so pass on their status and summary; finds places near a point by category (cafes, fuel, EV charging, parking, pharmacies) and/or by name or brand ("the nearest Lloyds bank"), nearest first with distance in metres; both and can answer egocentrically, pass heading_deg (and optionally fov_deg) and every result carries a direction phrased from where the user is standing ("ahead and slightly to your right, about 80 metres"), which is what a voice or wearable client should read out instead of coordinates; also takes landmarks: true for turn instructions anchored to recognisable places ("Turn right just after the Shell garage") alongside the engine's own, which is what a driver or a voice client actually navigates by; turns an itinerary (names or coordinates, dwell times, optional optimisation) into one navigable multi-stop route with per-stop ETAs; , and each also return a view_url, a mapmap.ai link that draws the answer on a map (no key needed; it carries the stop coordinates and names), so end a planning answer with that link; answers whether a dangerous-goods load may pass a tunnel of a given ADR category (pure ADR 8.6.4 lookup, no network, conservative worst-case reading); measures a vehicle's overhead clearance along a route against surveyed point cloud geometry, returning pass, fail, indeterminate or no_verdict with the limiting point, its measured headroom, the uncertainty bound on it and a link to that view. Read the honesty carefully on that one: it measures physical geometry from a dated survey, it is never a signed or posted height, and ground the survey did not cover comes back as not_surveyed_m and is never judged, so a pass is possible over complete coverage and nowhere else. It is the measured counterpart to the routing answer, which avoids what the map has tagged and nothing more, so reach for it whenever an unchanged truck route is about to be read as a clearance (the mapmap://guide/clearance resource sets out why those are two different claims); snaps a recorded GPS trace (dashcam, telematics, a walked track) to the road network and reports what it travelled over: the matched geometry, distance and time, then distance by road class, administrative area and surface with toll, bridge and tunnel totals; publishes the canonical category vocabulary the place tools accept, with the colloquial aliases for each, read it rather than guessing a category, since an unknown one matches nothing; reports what the calling key has spent in weighted quota UNITS (never a count of calls) by day and by endpoint, against its monthly allowance and prepaid balance, so an agent can check its own spend mid-task; turns place names into coordinates; turns coordinates into the nearest places (addresses, POIs and localities, nearest first, with distance in metres and POI opening hours/contact details where known); computes many-to-many travel time/distance matrices in any costing; computes isochrones (walkability/cyclability rings) as GeoJSON; solves multi-vehicle, multi-stop route optimisation (VRP: vehicles with capacities/skills/time windows, jobs and pickup-delivery shipments), the travel-time matrix is computed by our routing engine, so passing costing "truck" with a truck profile makes the whole plan respect dimensional and ADR dangerous-goods restrictions, and it also takes fleet territories, multi-trip reload runs and a one-shot constraint relaxation, each reported in a block that states plainly what it approximated or gave away; groups stops into balanced rounds so a day too large for one optimisation can be optimised a round at a time, straight-line, never road-network, and it says so in every answer, so use it to decide which stops belong together and to decide the order; re-plans a shift part-way through, send the day back, because nothing is stored between calls, and the stops already served are locked because they already happened; and are the asynchronous lane for a problem too large to answer inside one request (ten times the locations, four times the matrix elements), and polling is free, so poll it rather than rationing checks. Map styling (MapMap Studio): lists the first-party named bases a style can start from plus the themable palette slots, skeleton layer ids and source-layers (local, always works); publishes a new hosted style and takes a named base so a drawn style is one call rather than thirty palette entries; fetches a style's theme and latest style URL; and publish a new immutable style version with recoloured palette slots or a changed layer paint property. Attribution is enforced on every compiled style. Feedback: queues a first-party map/live-world mismatch observation for human review (never edits the map); sends MapMap a structured integration retro (only the schema's structured fields, never conversation or code) to be called at most once, after an integration works or is abandoned, and only if the developer has approved sending feedback. Coordinates are WGS84 decimal degrees; distances are metres and durations seconds unless a field name says otherwise.
11 in the Claude listing