TomTom MCP
About
Location technology for developers
Details
- Author
- tomtom-international
- Categories
- Developer Tools, Other, API
Jump to
Setup
Install TomTom MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/tomtom-international/tomtom-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
- Demo
- Security Notice
- Remote MCP Server (No Installation Required)
- Quick Start
- Prerequisites
- Installation
- Configuration
- Usage
- TomTom Orbis Maps (optional backend)
- How dynamic map tool works
- Setup
- Testing
- Testing Requirements
- Project Structure
- API Key Issues
- Test Failures
- Build Issues
Remote MCP Server (No Installation Required)
Public Preview— The TomTom Maps Remote MCP Server is currently in public preview.
The easiest way to get started is to connect directly to TomTom's hosted MCP Server — no Node.js, Docker, or local setup needed.
- A valid TomTom API key with MCP Server access enabled (seeAPI Key Management)
Add the following to your MCP client configuration:
{ "mcpServers": { "tomtom-mcp": { "type": "http", "url": "https://mcp.tomtom.com/maps", "headers": { "tomtom-api-key": "your_api_key_here" } } } }
Add the optionaltomtom-maps-backendheader to choose your backend:
{ "mcpServers": { "tomtom-mcp": { "type": "http", "url": "https://mcp.tomtom.com/maps", "headers": { "tomtom-api-key": "your_api_key_here", "tomtom-maps-backend": "tomtom-maps" } } } }
{ "mcpServers": { "tomtom-mcp": { "type": "http", "url": "https://mcp.tomtom.com/maps", "headers": { "tomtom-api-key": "your_api_key_here", "tomtom-maps-backend": "tomtom-orbis-maps" } } } }
If thetomtom-maps-backendheader is omitted, the server defaults to TomTom Maps.
Create or edit.vscode/mcp.jsonin your workspace:
{ "servers": { "tomtom-mcp": { "type": "http", "url": "https://mcp.tomtom.com/maps", "headers": { "tomtom-api-key": "your_api_key_here" } } } }
The quickest option is to install the pre-built extension — see theClaude Desktop Setup guidefor details.
Alternatively, configure Claude Desktop to use the remote server directly by editing your configuration file:
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "tomtom-mcp": { "type": "http", "url": "https://mcp.tomtom.com/maps", "headers": { "tomtom-api-key": "your_api_key_here" } } } }
Note:If your MCP client does not support remote HTTP connections with custom headers, use thelocal setupinstead.
Keeping local deployments of the TomTom Maps MCP Server up-to-date is the responsibility of the MCP client/operator. TomTom publishes updates to address known vulnerabilities, but failing to apply updates, patches, or recommended security configurations to your local instance may expose it to known vulnerabilities.
- Create a developer account onTomTom Developer Portaland Sign-in
- Go toAPI & SDK Keysin the left-hand menu.
- Click thered Create Keybutton.
- Select all available APIs to ensure full access, assign a name to your key, and clickCreate.
For more details, visit theTomTom API Key Management Documentation.
npm install @tomtom-org/tomtom-mcp@latest # or run directly without installing npx @tomtom-org/tomtom-mcp@latest
Set your TomTom API key using one of the following methods:
# Option 1: Use a .env file (recommended) echo "TOMTOM_API_KEY=your_api_key" > .env # Option 2: Environment variable export TOMTOM_API_KEY=your_api_key # Option 3: Pass as CLI argument TOMTOM_API_KEY=your_api_key npx @tomtom-org/tomtom-mcp@latest
Stdio Mode (Default - for AI assistants like Claude):
# Start MCP server via stdio npx @tomtom-org/tomtom-mcp@latest
HTTP Mode (for web applications and API integration):
pnpm run build # Build first (required) pnpm run start:http # or run the built binary directly node bin/tomtom-mcp-http.js
When running in HTTP mode, you need to include your API key in thetomtom-api-keyheader. You can also optionally set the maps backend per-request using thetomtom-maps-backendheader:
tomtom-api-key: <API_KEY> tomtom-maps-backend: tomtom-maps # or tomtom-orbis-maps
Note:Thetomtom-maps-backendheader is only used when the server is started without theMAPSenv var (dual-backend mode). IfMAPSis set at startup, the header is ignored and the server uses the fixed backend.
For example, to make a request using curl:
curl --location 'http://localhost:3000/mcp' \ --header 'Accept: application/json,text/event-stream' \ --header 'tomtom-api-key: <API KEY>' \ --header 'Content-Type: application/json' \ --data '{ "method": "tools/call", "params": { "name": "tomtom-geocode", "arguments": { "query": "Amsterdam Central Station" } }, "jsonrpc": "2.0", "id": 24 }'
The Docker setup is also configured to use this HTTP mode with the same authentication method.
# Option 1: Using docker run directly # Note: TomTom Maps is the default backend (same as npm package) docker run -p 3000:3000 ghcr.io/tomtom-international/tomtom-maps-mcp:latest # To use TomTom Orbis Maps backend instead: docker run -p 3000:3000 -e MAPS=tomtom-orbis-maps ghcr.io/tomtom-international/tomtom-maps-mcp:latest # Option 2: Using Docker Compose (recommended for development) # Clone the repository first git clone https://github.com/tomtom-international/tomtom-maps-mcp.git cd tomtom-maps-mcp # Start the service (uses TomTom Maps backend by default) docker compose up
Both Docker options run the server in HTTP mode. Pass your API key via thetomtom-api-keyheader as shown in theHTTP Modecurl example above.
TomTom Maps MCP Server can be easily integrated into various AI development environments and tools.
These guides help you integrate the MCP server with your tools and environments:
- Claude Desktop Setup- Instructions for configuring Claude Desktop to work with TomTom Maps MCP server
- VS Code Setup- Setting up a development environment in Visual Studio Code
- Cursor AI Integration- Guide for integrating TomTom Maps MCP server with Cursor AI
- Windsurf Integration- Instructions for configuring Windsurf to use TomTom Maps MCP server
- Smolagents Integration- Example showing how to connect Smolagents AI agents to TomTom Maps MCP server.
By default the MCP tools use TomTom Maps APIs listed above. We also support using TomTom Orbis Maps for the same tools. To enable TomTom Orbis Maps for all tools set the environment variableMAPS=tomtom-orbis-maps.
Note:The Orbis Maps backend includes all the tools from TomTom Maps plus additional Orbis-exclusive tools:tomtom-ev-routing,tomtom-search-along-route,tomtom-area-search,tomtom-ev-search, andtomtom-data-viz. Thetomtom-static-maptool is only available with the default TomTom Maps backend.
The dynamic map tool fetches raster tiles from TomTom (either TomTom Maps or TomTom Orbis Maps), then uses skia-canvas (server-side) to:
- stitch map tiles into a single canvas at the appropriate zoom level;
- add markers, routes, polygons, and other overlays;
- render the final composited image.
The server converts the rendered image to PNG and returns it as a Base64 string.
- TomTom Map Tile API:https://developer.tomtom.com/map-display-api/documentation/raster/map-tile
- TomTom Orbis Maps Tile API:https://developer.tomtom.com/map-display-api/documentation/tomtom-orbis-maps/raster-tile
A built-in debug UI lets you visually test MCP tools and their interactive map widgets without needing an AI client.
This starts both the MCP HTTP server (port 3000) and the debug UI host (port 8080). Openhttp://localhost:8080in your browser.
- Tool browser— searchable sidebar listing all available tools, with icons distinguishing map-enabled tools from plain tools
- Pre-filled examples— each tool loads with example parameters (includingshow_ui: truefor map widgets)
- Live map widgets— tools with UI resources render interactive TomTom maps directly in the browser
- Response metadata— latency, payload size, estimated token count, content parts, and timestamps for every call
- Dark / light mode— toggle with the theme button or follows system preference
- Keyboard shortcuts—Cmd+Enterto run,Cmd+Kto search tools
- The MCP server must be running in HTTP mode (handled automatically bypnpm run ui)
- A validTOMTOM_API_KEYin your.envfile
- To see map widgets, use the TomTom Orbis Maps backend (MAPS=tomtom-orbis-mapsin.env)
The UI host is a workspace package (tomtom-mcp-app-hostinui/), so the rootpnpm installalready installed its dependencies.
pnpm run ui:build # Build the UI pnpm --filter tomtom-mcp-app-host start # Start only the UI host (assumes MCP server is already running)
This project usespnpm(>=11) as its package manager. Install it withnpm install -g pnpmorcorepack enable. Linting and formatting are handled byBiome.
git clone https://github.com/tomtom-international/tomtom-maps-mcp.git cd tomtom-maps-mcp pnpm install cp .env.example .env # Add your API key in .env pnpm run build # Build TypeScript files node ./bin/tomtom-mcp.js # Start the MCP server
pnpm run build # Build TypeScript pnpm test # Run all tests pnpm run test:all # All tests (unit + stdio + http)
⚠️Important: All tests require a valid API key in.envas they make real API calls (not mocked). This will consume your API quota.
src/ ├── apps/ # MCP App UI resources ├── handlers/ # Request handlers ├── schemas/ # Validation schemas ├── services/ # TomTom API wrappers ├── tools/ # MCP tool definitions ├── types/ # TypeScript type definitions ├── utils/ # Utilities ├── createServer.ts # MCP Server creation logic ├── index.ts # Main entry point (stdio) └── indexHttp.ts # HTTP server entry point
ls -la .env # Verify .env exists cat .env # Check API key
pnpm run build # Rebuild pnpm store prune # Clear cache
If you see an error stating "missing permissions", it means your API key does not have access to theTomTom Orbis MapsorEVservices.
Note:TomTom Orbis Maps and certain EV routing features are currently inPublic Preview. They may not be available on all developer accounts by default.
- Log in to theTomTom Developer Portal.
- Ensureall available productsare selected for your API key.
- If you still encounter 403 errors when usingMAPS=tomtom-orbis-maps, your account may not yet have access to the Orbis preview. You can continue using the standardtomtom-mapsbackend in the meantime.
We welcome contributions to the TomTom Maps MCP Server! Please seeCONTRIBUTING.mdfor details on how to submit pull requests, report issues, and suggest improvements.
All contributions must adhere to ourCode of Conductand be signed-off according to theDeveloper Certificate of Origin (DCO).
Please see ourSecurity Policyfor information on reporting security vulnerabilities and our security practices.
This project is licensed under the Apache License 2.0 - see theLICENSE.mdfile for details.
Copyright (C) 2025 TomTom Navigation B.V.
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
Retrieves user geolocation information using EdgeOne Pages Functions and exposes it via the Model Context Protocol (MCP).
One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.
The MCP server for Bitrix24 provides AI assistants with structured access to the Bitrix24 API. It delivers up-to-date method descriptions, parameters, and valid values, allowing assistants to work with precise data instead of guesswork. This reduces code errors and accelerates Bitrix24 integration development.
Tool platform by IBM to build, test and deploy tools for any data source
One remote MCP server for 500+ production APIs — Stripe, HubSpot, Postgres, Gmail, and more. OAuth and API key auth, credential management, and a CLI.
An MCP server for interacting with the Postman API, requiring an API key.
Arbitrary code execution and tool-use platform for LLMs by Riza
A command-line tool for interacting with Shopify's Admin GraphQL API, Functions, and Polaris Web Components.
Single tool to control all 100+ API integrations, and UI components
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





