Skip to main content

Ultimaps

com.ultimaps/mcpVersion 0.2.1

Create choropleth, category and pin maps of countries, states, counties and ZIP codes as images.

Status

Responds198 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:20 UTC
Latency
198 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://api.ultimaps.com/mcpResponds198 ms
No sign-in

Claude Code

claude mcp add --transport http ultimaps https://api.ultimaps.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: ultimaps
Remote MCP server URL: https://api.ultimaps.com/mcp

Cursor

{
  "mcpServers": {
    "ultimaps": {
      "url": "https://api.ultimaps.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"ultimaps","type":"http","url":"https://api.ultimaps.com/mcp"}'
Streamable HTTP
npm: @ultimaps/mcp 0.2.1
Package only

npm (npx)

claude mcp add ultimaps -- npx -y @ultimaps/mcp@0.2.1

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

3 tools

Tools of Ultimaps
Read-only
Idempotent
Open world
get_map_regionsLook up one map: title, regionType, regionCount, labels, layers, and its regions as {key, title}, 200 per page. You rarely need this before rendering. render_map accepts region names, codes and common aliases and auto-corrects typos, reporting what it matched. Use it to build a dataset covering every region of a map, to see how a map names its regions, or to resolve a key render_map could not match. `query` searches keys, titles and aliases, so no hits means the map really has no such region. Use `offset` for further pages.NoYesYesNo
list_mapsList the maps Ultimaps can render: the world, continents, countries subdivided into states, provinces, counties or departments, and US ZIP code areas. Each row is {id, title, regionType, layers, regionCount, labels}. `id` is the mapId for render_map and get_map_regions; it is the map's slug on ultimaps.com (the last path segment, not the whole URL) and always means the current edition. `regionCount` is how many region keys a complete dataset needs. `labels: false` means the map has no region labels, so `style.labels` does nothing there. `layers` are the ids render_map's `layers` can turn on. Pass `query` to search ids, titles, region types and categories (e.g. "counties", "germany", "africa"). Only call this when you don't know the id: common ids such as `world`, `united-states` and `europe` just work, and an unknown id usually comes back with the closest ids.NoYesYesNo
render_mapDraws a map of real places as an image: countries, states, counties or ZIP codes colored by data (a choropleth or heat map) or by category, with a legend, a title and pins. Borders come from real geographic data, not from an image model, and region names are matched for you. It draws only real places, never fictional or invented ones. The map is returned as an image in the conversation. Maps cover the world, continents, countries, their states, provinces and counties, and US ZIP code areas. Color regions with ONE of these (choropleth and categories are mutually exclusive): - `choropleth`: a number per region, e.g. {"values": {"California": 39.5, "Texas": 30.5}}. Classes, breaks and palette are picked from the data unless you set them. Say what the numbers are with `kind` (and `midpoint` when they have a meaningful center, `unit` for a short label unit): that is what gets percents, currencies, years and diverging scales right. When the data does not cover every region of the map, add `noData: true` so the legend explains the uncolored ones. - `categories`: a label per region, e.g. {"values": {"France": "Euro", "Poland": "Złoty"}}. Colors are assigned automatically unless you set `colors`. - `regions`: explicit hex colors, e.g. {"Texas": "#1D4ED8"}. Also works on top of either mode as an override. Region keys can be names, ISO/FIPS-style codes or common aliases. Typos are auto-corrected, and every correction or unmatched key is reported with suggestions, so there is no need to call get_map_regions first. Get `mapId` from list_maps if you don't know it. Also available: pins (`locations` with lat/lon), `title`, `legend` (position, `title`, `subtitle`), `style` (theme, borders, region labels; `style.labels.content: "value"` prints each region's value instead of its name and `"name_value"` stacks the name above the value, both needing `choropleth` or `categories`; `style.labels.fit` (default "auto") shortens labels that don't fit or overlap and never hides one; any still NoNoNoYes

Details

Registry status
Active
Published
Nov 8, 2026
Updated
Nov 8, 2026
Categories (suggested)
Design and mediaSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing