Skip to main content

Maps for AI agents

maproll ships an MCP server, so an AI assistant can build a map from your data and hand back a URL you can embed.

{
"mcpServers": {
"maproll": {
"command": "npx",
"args": ["-y", "@maproll/mcp"]
}
}
}

That is the whole setup. No API key, no signup — the server runs from npm on demand and talks to the same public render API as everything else in these docs.

World choropleth of coffee consumption per capita, built through the maproll MCP server

Why a server rather than just the URL

An assistant that can already make HTTP requests can already call api.maproll.io. What the server adds is the part it cannot guess:

  • The grammar. Nothing in a model's training says that region data packs as US:200:#ff0000, or that markers are lat,lon[:icon][:label][:position][:size]. The tools take structured arguments and write the URL themselves.
  • Coordinates. Models recall latitude and longitude badly, and a map renders a wrong marker exactly as confidently as a right one. find_places resolves them against real data.
  • The rendered result. Every map-making tool returns the PNG alongside the URL, so the assistant — and you — can see what was made.

What comes back

Every tool that makes a map returns the same shape:

FieldWhat it is
svg_urlThe map. Embeddable, permanent, and the handle other tools accept.
png_urlThe same map as PNG.
editor_urlOpens the map in app.maproll.io, loaded and editable.
embedA ready <img> tag.
warningsNon-fatal problems, such as region ids the renderer did not recognise.

There is no session. svg_url is the state — pass it to add_layers and you get a new URL back with the addition applied. That means a map can be built up over several turns, and any URL from any point in the conversation still renders.

Free tier

Anonymous maps carry the maproll wordmark. Signing in makes that a parameter you control, and unlocks saving maps to a project. Attribution to OpenStreetMap stays on either way — that is a licence obligation, not a branding choice.

Next

  • Install — per-client configuration.
  • Tools — what the server can do.
  • Resources and prompts — the catalogs your assistant reads, and the shortcuts you can invoke.