Index / MCP servers / MapMap

MapMap MCP server

Connect MapMap and your agent gets 43 tools, among them cheapest_charging_along_route, cheapest_fuel_along_route, check_adr_tunnel. It answers at https://mcp.mapmap.ai/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 4 September 2026; the last check, on 17 October 2026, succeeded.

Status
Answering
Tools
43
Official
yes, served from mapmap.ai
Reliability
10 of 10 checks
Response time
102 ms
Transport
streamable HTTP
Last checked
17 October 2026

Maps for agents: truck/ADR routing, geocoding, places, matrices, isochrones, EV and fleet planning.

Description as the publisher wrote it.

The 43 tools MapMap offers

ToolWhat it does
cheapest_charging_along_routeFind the best EV charge points along a route, with the REAL extra travel time of stopping at each one — never a straight-line guess. Provide `origin` + `destination` (a route is computed) or an existing route's `geometry_polyline6`, plus op
Inputs: available_only, connectors, costing, destination, geometry_polyline6, max_detour_minutes
cheapest_fuel_along_routeFind the cheapest fuel along a route, with the REAL extra travel time of stopping at each station — never a straight-line guess. Provide `origin` + `destination` (a route is computed) or an existing route's `geometry_polyline6`, plus a `fue
Inputs: costing, destination, fill_litres, fuel, geometry_polyline6, max_detour_minutes
check_adr_tunnelCheck whether a vehicle may pass through a tunnel of a given ADR category ("A"–"E"). Provide `hazmat` and, when known, the load's ADR 8.6.4 tunnel restriction code (e.g. "B", "C5000D", "B/D", "none"). Applies the conservative worst-case rea
Inputs: hazmat, tunnel_category, tunnel_code
check_clearance_on_routeMeasure a vehicle's overhead clearance along a route against surveyed point cloud geometry, wherever survey coverage exists. Routes with truck costing (so the search already avoids the height restrictions the map has tagged), then measures
Inputs: destination, height_m, margin_m, origin, width_m
check_style_contrastAudit a map style's colour contrast against WCAG 2.1 (4.5:1 for label text, 3:1 for graphics like the route line), across both the light and dark palette variants. Pass a hosted `style_id` OR an inline `theme` document (as accepted by creat
Inputs: style_id, theme
clusterGroup stops into balanced geographic clusters, so a day too large for one optimisation can be optimised one cluster at a time. This is the front half of the recipe for a thousand-stop day: cluster here, then call `optimise_routes` per clust
Inputs: clusters, locations, max_cluster_load, max_cluster_locations, seed, territories
create_styleCreate a hosted map style. Provide a name and optionally a theme document ({base: "light"|"dark", palette: {slot: colour}, layers: {layer_id: overrides}}); omitted, the style starts from the default theme. A theme may also set worldview (IS
Inputs: name, theme
elevationSample terrain elevation. Provide `points` (a bare list of coordinates) for point elevation, or `encoded_polyline` (optionally with `resample_distance_m`) for an along-route profile — not both. Returns one sample per point/resampled point i
Inputs: encoded_polyline, points, resample_distance_m
geo_areaArea in square metres enclosed by a ring of 3+ coordinates, computed geodesically. Always positive: the answer does not depend on whether the ring is wound clockwise or anticlockwise. Intended for zones and boundaries, not for polygons cove
Inputs: points
geo_bboxThe axis-aligned bounding box enclosing 1+ coordinates, as {min_lat, min_lon, max_lat, max_lon}. Useful for fitting a map view to a set of stops. Local computation: no network call, no quota.
Inputs: points
geo_bearingInitial bearing from one coordinate to another, in degrees clockwise from true north (0-360). This is the bearing at the START of the geodesic; over long distances the bearing changes en route. Local computation: no network call, no quota.
Inputs: from, to
geo_centroidThe centroid (geometric mean position) of 1+ coordinates, e.g. to pick a depot location or centre a map. Local computation: no network call, no quota.
Inputs: points
geo_destinationThe coordinate reached by travelling `distance_m` metres from `from` on `bearing_deg` (degrees clockwise from true north). The inverse of `geo_distance` + `geo_bearing`. Local computation: no network call.
Inputs: bearing_deg, distance_m, from
geo_distanceDistance in metres between two coordinates. Computed geodesically on the WGS84 ellipsoid, so it is the straight-line (as-the-crow-flies) distance, NOT a driving distance — use `route` or `matrix` for travel distance and time. Local computat
Inputs: from, to
geo_lengthTotal length in metres of a polyline through 2+ coordinates, summed geodesically. This measures the line you supply, NOT a driven route — use `route` for that. Local computation: no network call, no quota.
Inputs: points
geo_nearest_point_on_lineThe closest position on a polyline to a given coordinate, plus the geodesic distance to it in metres. The answer may lie between vertices, not only on them. Useful for 'how far is this address from the route?'. Local computation: no network
Inputs: line, point
geo_point_in_polygonWhether a coordinate lies inside a polygon: delivery zones, catchments, congestion or clean-air zones, site boundaries. Provide `point` {lat, lon} and `polygon` as 3+ {lat, lon} coordinates of the outer ring (closed automatically if the las
Inputs: point, polygon
geo_simplifyReduce the number of coordinates in a polyline while keeping its shape (Douglas-Peucker). `tolerance_deg` is in DEGREES, not metres: about 0.0001 drops detail finer than roughly 10 m at the equator. Endpoints are always kept. Returns the re
Inputs: points, tolerance_deg
geocodeTurn a place (address, POI, town) into coordinates. Ask two ways, and they combine: `query` is free text — one run-together string, the way a person types into a search box — and `street`, `housenumber`, `city`, `postcode` and `country` nam
Inputs: city, country, focus, housenumber, lang, limit
get_jobRead an asynchronous job submitted with `submit_optimise_job`: its status, and once it has finished, its result inline — exactly the body the synchronous tool would have returned. Status is `queued`, `running`, `succeeded` or `failed`; the
Inputs: id
get_styleFetch a hosted style's latest theme document (the editable source) and the URL of its latest compiled MapLibre style. Use the theme to inspect current palette and layer overrides before editing.
Inputs: style_id
get_usageCheck what your own API key has spent, so you can decide mid-task whether to keep going. Reading it is free: it costs no quota. Optional `from` and `to` (YYYY-MM-DD UTC, inclusive, at most 92 days apart) bound the report; omitted, it covers
Inputs: from, to
list_place_categoriesList the canonical place categories you can pass as `category` to `nearby_places` and `search_along_route` (and browse on with `geocode`). Each entry is a `category` token (the exact value to send, e.g. "fuel", "charging_station", "hgv_park
list_style_layersList everything a MapMap style theme can style: the named palette slots with their light/dark default colours, the skeleton layer ids (paint order) that `set_layer_paint` accepts, and the OpenMapTiles source-layers extra layers may referenc
match_traceSnap a recorded GPS trace to the road network and say what it actually travelled over. Provide `shape` (2 to 2000 recorded points, oldest first) or `encoded_polyline` (the same trace as a polyline6 string) — not both — plus the `costing` it
Inputs: costing, encoded_polyline, shape
matrixCompute a travel time/distance matrix between origins (rows) and destinations (columns). Costing "auto", "truck" (with optional `truck` profile as in `route`), "bicycle", "pedestrian" or "motor_scooter". Returns durations_s[i][j] in seconds
Inputs: costing, destinations, exclude_polygons, origins, truck
nearby_placesFind places near a point, nearest first with distance in metres — by category (cafes, fuel, EV charging, parking), by name or brand ("the nearest Lloyds bank", "nearest Sainsbury's"), or both. Use this instead of geocode whenever the questi
Inputs: category, fov_deg, heading_deg, lat, limit, lon
optimise_routesOptimise multi-vehicle, multi-stop delivery plans (VRP). Provide `vehicles` (id, start/end, capacity, skills, time_window), `jobs` (id, location, service_s, delivery/pickup, skills, time_windows) and/or `shipments` (pickup+delivery pairs th
order_stopsPut a single run's stops in the best visiting order ("order my errands"). Provide `start` {lat, lon} and `stops` (1-100 entries of {location, label?, service_s?}); optionally an `end` destination or `round_trip`: true to return to the start
Inputs: costing, end, round_trip, start, stops, truck
plan_dayTurn an itinerary into one navigable multi-stop route. Provide a `start` and `stops` (each a `location` {lat, lon} or a free-text `name` to geocode, plus optional `dwell_minutes` time at the stop), optional `depart_at` (RFC 3339) for absolu
Inputs: costing, depart_at, optimise, return_to_start, start, stops
plan_ev_routePlan a whole electric-vehicle journey, charge stops included. Give `origin` and `destination` (plus optional `waypoints`) and a `vehicle` — a published profile ("small_hatch", "saloon", "suv", "van") and/or inline figures (battery_kwh, mass
Inputs: ambient_temperature_c, connectors, destination, max_detour_minutes, min_arrival_soc, min_kw
reachable_areaCompute the area reachable from an origin within one or more travel-time budgets — walkability/cyclability rings. Costing "pedestrian" answers "how far can I walk in 15 minutes?", "bicycle" the cycling equivalent; "auto", "truck" and "motor
Inputs: contours_minutes, costing, exclude_polygons, origin, polygons
replan_routesRe-plan a fleet part-way through its shift. Send the day back; nothing is stored. MapMap holds NO dispatch state — no plan, no vehicle position, no completion log — so a re-plan is not a delta against something we remember: you pass the ORI
report_map_issueReport that the live world disagrees with the map — a closed road, a wrong or missing restriction, a bad speed limit, a missing road, a wrong one-way, or changed access. Use it when you observe the mismatch mid-task. Provide `location` {lat
Inputs: category, description, evidence_url, location, way_id
reverse_geocodeTurn coordinates into the nearest places: addresses, POIs and localities with distance in metres. The inverse of geocode. Provide `lat` and `lon`; returns up to `limit` (default 5, max 10) results, nearest first, each with name, one-line la
Inputs: fov_deg, heading_deg, lat, limit, lon
routeCompute a turn-by-turn route between origin and destination (optionally via waypoints). Costing "auto" = car, "truck" = lorry, "bicycle", "pedestrian" = walking, "motor_scooter" = moped. Pass `truck` {height_m, width_m, length_m, gross_weig
search_along_routeFind places (POIs) along a route with the REAL extra travel time of stopping at each — never a straight-line guess. Provide `origin` + `destination` (a route is computed) or an existing route's `geometry_polyline6`, plus a free-text `query`
Inputs: category, costing, destination, geometry_polyline6, max_detour_minutes, max_results
set_layer_paintSet one MapLibre paint property on one skeleton layer of a hosted style (e.g. layer_id "road-major", property "line-width", value 4 or an expression array) and publish the result as a new immutable style version. Layer ids come from list_st
Inputs: layer_id, property, style_id, value
set_paletteRecolour one or more palette slots of a hosted style (e.g. {"water": "#0b2038", "roadMajor": "#8a6d3b"}) and publish the result as a new immutable style version. Slot names come from list_style_layers; colours are CSS (#rgb/#rrggbb/#rrggbba
Inputs: colours, style_id
submit_integration_retroSend MapMap a structured integration retro (problems, gotchas, wins, docs gaps). Call at most once, after your MapMap integration works or you stop trying, and only if the developer has approved sending feedback to MapMap. Sends ONLY the st
Inputs: agent_name, docs_gaps, gotchas, problems, sdk_version, what_built
3 more tools

submit_optimise_job, validate_geodata, verify_places

Add MapMap to your AI client

Every block below points at https://mcp.mapmap.ai/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http mapmap https://mcp.mapmap.ai/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "mapmap": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.mapmap.ai/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "mapmap": {
      "url": "https://mcp.mapmap.ai/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "mapmap": {
      "type": "http",
      "url": "https://mcp.mapmap.ai/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "mapmap": {
      "url": "https://mcp.mapmap.ai/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "mapmap": {
      "serverUrl": "https://mcp.mapmap.ai/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "mapmap": {
      "url": "https://mcp.mapmap.ai/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: MapMap
version: 0.0.1
schema: v1
mcpServers:
  - name: MapMap
    type: streamable-http
    url: https://mcp.mapmap.ai/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "mapmap": {
      "httpUrl": "https://mcp.mapmap.ai/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "mapmap": {
      "type": "http",
      "url": "https://mcp.mapmap.ai/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "mapmap": {
      "url": "https://mcp.mapmap.ai/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fmcp.mapmap.ai%2Fmcp&type=streamable_http&id=mapmap&name=MapMap

Is MapMap up right now?

It answered our last check on 17 October 2026 in 102 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to MapMap

Questions about MapMap

Is there an official MapMap MCP server?

Yes. It is published by mapmap.ai and served from mcp.mapmap.ai, the vendor's own domain: https://mcp.mapmap.ai/mcp.

How many tools does MapMap have?

43, as returned by the server's own tools/list on 8 September 2026: cheapest_charging_along_route, cheapest_fuel_along_route, check_adr_tunnel, check_clearance_on_route, check_style_contrast, cluster, create_style, elevation, and 35 more.

Is MapMap down?

It answered our last check on 17 October 2026 in 102 ms. Over 10 checks since 4 September 2026 it answered 10.

How do I add MapMap to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.mapmap.ai/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does MapMap need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: ai.mapmap. Endpoint host: mcp.mapmap.ai. ARD identifier: urn:air:ai.mapmap:mcp:mapmap. First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.