# TomTom Maps MCP server

> Geocode addresses, search places, plan routes, check traffic and render static or dynamic maps with TomTom location services.

- Listing: https://mcp.tc/i/tomtom
- Connect: use the server's own URL `https://mcp.tomtom.com/maps` (with your API key); clients connect to it directly. The listing link is a page, not an MCP endpoint.
- Type: remote (Streamable HTTP)
- Auth: API key
- Category: [Travel & Maps](https://mcp.tc/c/travel-maps)
- Vendor: TomTom
- Homepage: <https://github.com/tomtom-international/tomtom-maps-mcp>
- Repository: <https://github.com/tomtom-international/tomtom-maps-mcp>
- Package: npm `@tomtom-org/tomtom-mcp`

## About

Connects an assistant to TomTom's location APIs. It covers geocoding, place search, routing, traffic data, and static and dynamic maps, so an assistant can answer location questions and build geospatial workflows with TomTom data.

The hosted endpoint at https://mcp.tomtom.com/maps is in public preview and uses streamable HTTP. It needs a TomTom API key with MCP Server access enabled, sent in the tomtom-api-key header. A local option runs with npx and the TOMTOM\_API\_KEY environment variable, in stdio or HTTP mode, and requires Node.js 22.

## What it can do

- Geocode addresses and place names to coordinates
- Search for places and points of interest
- Calculate routes between locations
- Check traffic conditions
- Generate static maps
- Show dynamic interactive maps

## Example prompts

- "Geocode Amsterdam Central Station and show it on a map."
- "Find the route from Rotterdam to Utrecht and tell me about traffic."
- "Search for coffee shops near Dam Square in Amsterdam."
- "Create a static map of central Berlin."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport http tomtom https://mcp.tomtom.com/maps --header "tomtom-api-key: <YOUR_API_KEY>"
```

2. Replace the placeholder with your key before you run it, then check it with `/mcp` inside Claude Code.

Add `--scope user` to make it available in every project, not just this one.

### Claude Desktop

1. Custom connectors can’t send this server’s key header, so use the `mcp-remote` bridge. Open **Settings → Developer → Edit Config** and add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "tomtom": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.tomtom.com/maps",
        "--header",
        "tomtom-api-key: <YOUR_API_KEY>"
      ]
    }
  }
}
```

2. Replace the placeholder with your key and restart Claude Desktop.

The bridge needs Node.js on your computer.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=tomtom&config=eyJ1cmwiOiJodHRwczovL21jcC50b210b20uY29tL21hcHMiLCJoZWFkZXJzIjp7InRvbXRvbS1hcGkta2V5IjoiPFlPVVJfQVBJX0tFWT4ifX0%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "tomtom": {
      "url": "https://mcp.tomtom.com/maps",
      "headers": {
        "tomtom-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}
```

### VS Code

Add it to `.vscode/mcp.json`. VS Code asks for the key the first time and stores it securely:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "tomtom": {
      "type": "http",
      "url": "https://mcp.tomtom.com/maps",
      "headers": {
        "tomtom-api-key": "${input:tomtom-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "tomtom-api-key",
      "description": "tomtom-api-key",
      "password": true
    }
  ]
}
```

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "tomtom": {
      "serverUrl": "https://mcp.tomtom.com/maps",
      "headers": {
        "tomtom-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads `serverUrl` (or `url`) for remote servers.

### Codex

```bash
codex mcp add tomtom --url https://mcp.tomtom.com/maps
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.tomtom]
url = "https://mcp.tomtom.com/maps"
env_http_headers = { "tomtom-api-key" = "TOMTOM_API_KEY" }
```

Codex reads the header values from the environment variables named in `env_http_headers`.

### Gemini CLI

```bash
gemini mcp add --transport http --header "tomtom-api-key: <YOUR_API_KEY>" tomtom https://mcp.tomtom.com/maps
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients accept this shape. Some name the URL field differently: `serverUrl` in Devin Desktop, `httpUrl` in Gemini CLI’s settings file.

```json
{
  "mcpServers": {
    "tomtom": {
      "type": "http",
      "url": "https://mcp.tomtom.com/maps",
      "headers": {
        "tomtom-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}
```

Zed puts servers under `context_servers` in its settings. Cline needs `"type": "streamableHttp"`, or it assumes SSE.

Client only starts local servers? Bridge it with `npx -y mcp-remote https://mcp.tomtom.com/maps`.

## Details

- Server version: 1.6.10
- Last checked: 2026-10-03 (reachable, asks for credentials)
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/tomtom (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
