mcp-registry/ai.mapmap/mapmap · v0.3.0
As of 2026-10-23 00:16 UTC, the Mapmap MCP server is up with a Glimind reliability score of 93/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 6 outages in 90 days, with a median recovery of 5 minutes.
Maps for agents: truck/ADR routing, geocoding, places, matrices, isochrones, EV and fleet planning.
Claude Code
claude mcp add --transport http mapmap-mcp-server https://mcp.mapmap.ai/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"mapmap-mcp-server": {
"type": "http",
"url": "https://mcp.mapmap.ai/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
10 tool definition(s) exceed ~1,200 tokens each (largest: route, ~4,899).
Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~16,901 tokens every session. How to fix →
55 of 55 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
55 tools on one server. Tool-selection accuracy drops as the menu grows, and some clients (e.g. Cursor) cap the number of active tools.
Group tools by task into smaller servers or toolsets, and merge near-duplicates behind one tool with a mode parameter. How to fix →
7 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
4 tool(s) have parameters with no type (no type/enum/anyOf/$ref).
Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →
Loading this server's tool list costs an agent ~44,259 tokens before any work — more than 99% of MCP servers.
Split rarely-used tools into a separate server or a toolset the client can enable, or expose one "search tools" entry point. Many agents load every connected server's tools into every request. How to fix →
Handshake + tools/list takes ~1,975 ms.
Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.
In the last 30 days: 0 tool(s) removed and 51 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fai.mapmap%2Fmapmap/fixes
{
"name": "check_adr_tunnel",
"description": "Check 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 reading: conditional clauses are assumed to apply, so a blocked answer may over-restrict but never under-restricts. No network access; answers instantly.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hazmat",
"tunnel_category"
],
"properties": {
"hazmat": {
"type": "boolean",
"description": "Whether the vehicle carries dangerous goods at all. When false the\nADR tunnel matrix does not apply and every tunnel is permitted."
},
"tunnel_code": {
"type": [
"string",
"null"
],
"description": "ADR 8.6.4 tunnel restriction code of the load, e.g. \"B\", \"C5000D\",\n\"B/D\", or \"(-)\"/\"none\". Leave unset for a hazmat load of unknown\ncode (conservatively treated as code B)."
},
"tunnel_category": {
"type": "string",
"description": "ADR category of the tunnel to check: \"A\", \"B\", \"C\", \"D\" or \"E\"."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "check_clearance_on_route",
"description": "Measure 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 that corridor. Give `origin`, `destination` and `height_m`; optional `width_m` asks the corridor-width axis too, and optional `margin_m` adds your operating margin to the vehicle before the verdict. Returns `pass`, `fail`, `indeterminate` or `no_verdict` with ",
"inputSchema": {
"type": "object",
"$defs": {
"LatLon": {
"anyOf": [
{
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"format": "double",
"description": "Latitude in decimal degrees (−90 to 90)."
},
"lon": {
"type": "number",
"format": "double",
"description": "Longitude in decimal degrees (−180 to 180)."
}
}
},
{
"type": "array",
"items": {
"type": "number",
"format": "double"
},
"maxItems": 2,
"minItems": 2,
"description": "GeoJSON position [lon, lat]: longitude FIRST."
}
],
"description": "A WGS84 coordinate in decimal degrees: a {lat, lon} object (preferred), or a GeoJSON [lon, lat] array with LONGITUDE FIRST, the same order as every polygon field on this server."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"origin",
"destination",
"height_m"
],
"properties": {
"origin": {
"$ref": "#/$defs/LatLon",
"description": "Route origin."
},
"width_m": {
"type": [
"number",
"null"
],
"format": "double",
"description": "Vehicle width in metres. Supplying it asks the width axis as well as\nthe height axis; the width answer is reported separately and is\nnever a headroom."
},
"height_m": {
"type": "number",
"format": "double",
"description": "Vehicle height in metres. Required: there is no default vehicle,\nbecause a default vehicle is how somebody gets an answer about a\nlorry that is not theirs."
},
"margin_m": {
"type": [
"number",
"null"
],
"format": "double",
"description": "Operating margin in metres, added to the height before the verdict\nis decided (default 0). Your compliance policy, not ours: the\nmeasured figure and the safe bound are both reported whatever you\nset here, and the margin is echoed back. It is applied to the\nmeasurement, not to the routing step, where the map's own posted\nheights already carry a margin of their own."
},
"destination": {
"$ref": "#/$defs/LatLon",
"description": "Route destination."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "check_style_contrast",
"description": "Audit 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 create_style). Advisory: failing pairs list the palette slots to adjust with set_palette; publishing is never blocked on contrast.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"theme": {
"description": "…or an inline theme document (as accepted by `create_style`).\nExactly one of `style_id`/`theme` must be given.",
"type": "string"
},
"style_id": {
"type": [
"string",
"null"
],
"description": "Hosted style id whose latest theme should be checked…"
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/ai.mapmap/mapmap"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/ai.mapmap/mapmap"}) over MCP.
route ~4,899 tokensreplan_routes ~4,560 tokensoptimise_routes ~3,969 tokenscheapest_charging_along_route ~1,456 tokensplan_day ~1,421 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fai.mapmap%2Fmapmap?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fai.mapmap%2Fmapmap?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fai.mapmap%2Fmapmap.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fai.mapmap%2Fmapmap.svg :target: https://glimind.com/server/mcp-registry%2Fai.mapmap%2Fmapmap?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:de8f6bb930f24ede…, first seen 2026-10-19, included at leaf 27864 of 48,940. Version history · verify what your client received.
Compare: most reliable data servers · most reliable search servers · most reliable other servers · most reliable ml servers · most reliable knowledge servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-23 00:16 UTC, the Mapmap MCP server is up with a Glimind reliability score of 93/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 6 outages in 90 days, with a median recovery of 5 minutes.
Mapmap MCP server advertises 55 tools, including camera_incidents, cheapest_charging_along_route, cheapest_fuel_along_route, check_adr_tunnel, check_clearance_on_route.
Point your MCP client at this streamable-http endpoint: https://mcp.mapmap.ai/mcp
Glimind scanned all 55 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.