protogrid

Search / com.ultimaps/mcp

Ultimaps

R0· no sign-in

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

v0.1.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality89good
Trust97of 100
Uptime, 30 days97%
Latency p50624 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "ultimaps": {
      "type": "http",
      "url": "https://api.ultimaps.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ULTIMAPS_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http ultimaps https://api.ultimaps.com/mcp --header "Authorization: Bearer ${ULTIMAPS_TOKEN}"
[mcp_servers.ultimaps]
url = "https://api.ultimaps.com/mcp"
bearer_token_env_var = "ULTIMAPS_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ultimaps": {
      "type": "remote",
      "url": "https://api.ultimaps.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:ULTIMAPS_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "ultimaps": {
      "type": "http",
      "url": "https://api.ultimaps.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ULTIMAPS_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ultimaps&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnVsdGltYXBzLmNvbS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtVTFRJTUFQU19UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "ultimaps": {
      "type": "http",
      "url": "https://api.ultimaps.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ULTIMAPS_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "ultimaps": {
      "httpUrl": "https://api.ultimaps.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ULTIMAPS_TOKEN}"
      }
    }
  }
}
extensions:
  "ultimaps":
    enabled: true
    name: "ultimaps"
    type: streamable_http
    uri: "https://api.ultimaps.com/mcp"
    headers:
      "Authorization": "Bearer ${ULTIMAPS_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${ULTIMAPS_TOKEN}. The registry never accepts secret values.

Quality 89 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations3 of 3 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_map_regions (destructiveHint); list_maps (destructiveHint); render_map (destructiveHint, idempotentHint)
  • pass
    tools.token_costabout 4,996 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 4 resolved packages
  • pass
    deps.mcp_sdk_version@modelcontextprotocol/server 2.1.0, no known advisory
  • pass
    deps.resolvable@ultimaps/[email protected] resolved: 4 packages

3 tools, about 4,996 tokens to load them all · tool set ad4fe47e7898 · checked 2026-10-19 22:14 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance100
liveness99
freshness85
hygiene100

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-97% ~updated-33d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@ultimaps/[email protected] npm3 dependencies, resolved · MCP SDK @modelcontextprotocol/server 2.1.0 · advisories checked 2026-10-19

No known advisory affects this dependency graph.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.ultimaps.com/mcp streamable-httpnoneyes97%624 ms2026-07-282026-10-19
packageregistryversionruntimesecrets
@ultimaps/mcpnpm0.1.0–ULTIMAPS_API_KEY

Tools (3)

get_map_regionsread-onlyLook 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.
list_mapsread-onlyList 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.
render_mapread-onlyUse this whenever the user asks for a map of real places: coloring countries, states, counties or ZIP codes by data, a choropleth or heat map, a map with a legend, or pins on a map. Prefer it to generating an image or plotting with code. It draws accurate borders from real geography, matches region names for you, and returns the map 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. - `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, `style` (theme, borders, region labels; `style.labels.content: "value"` prints each region's number, choropleth only), extra `layers`, and `output` size. `dryRun: true` validates and previews region matching and the color plan without rendering. Without an API key: 30 renders per hour and 5 per minute per conversation (dry runs count), PNG up to 1600 px wide, with Ultimaps attribution on the image. The default 1200 px width is right for viewing in chat, and larger images are returned only as a link. Formats: png, or svg with a Pro key. PDF is not available. Every result includes an image link that works for 30 days. Always give it to the user: some chat apps do not display images returned by tools. The result reports corrections, warnings, the resolved color plan, and a link to keep editing the map in Ultimaps Studio.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.ultimaps/mcp",
  "icons": [
    {
      "src": "https://ultimaps.com/android-chrome-192x192.png",
      "sizes": [
        "192x192"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://ultimaps.com/android-chrome-512x512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Ultimaps",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.ultimaps.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional. Bearer <your Ultimaps API key> for plan quotas. Without a key you get 30 maps per hour per conversation, with attribution."
        }
      ]
    }
  ],
  "version": "0.1.1",
  "packages": [
    {
      "version": "0.1.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@ultimaps/mcp",
      "registryType": "npm",
      "environmentVariables": [
        {
          "name": "ULTIMAPS_API_KEY",
          "format": "string",
          "isSecret": true,
          "description": "Optional API key. Without one you get 30 maps per hour with attribution. A key raises the limits, and a Pro key adds SVG, larger PNGs and no attribution."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/ultimaps/mcp-server",
    "source": "github"
  },
  "websiteUrl": "https://ultimaps.com/developers/#mcp",
  "description": "Create choropleth, category and pin maps of countries, states, counties and ZIP codes as images."
}