by tomtom-international
Provides TomTom’s location, search, routing, and traffic data via a Model Context Protocol server for AI agents, enabling geospatial capabilities in AI workflows.
What is TomTom MCP Server about? Provides seamless access to TomTom’s geolocation suite—including forward/reverse geocoding, fuzzy and POI search, routing, reachable range, traffic incidents, static and dynamic maps—through an MCP‑compatible server that can be consumed by AI agents or any HTTP client.
How to use TomTom MCP Server?
npx @tomtom-org/tomtom-mcp@latest (or via Docker)..env file, environment variable TOMTOM_API_KEY, or the CLI argument syntax.tomtom-maps default or tomtom-orbis-maps) through the MAPS env var or per‑request header tomtom-maps-backend.http://localhost:3000/mcp with the required headers (tomtom-api-key, optional tomtom-maps-backend).Key Features of TomTom MCP Server
LOG_LEVEL control (debug, info, warn, error).Use Cases of TomTom MCP Server
FAQ from the TomTom MCP Server
TOMTOM_API_KEY is required for all operations.MAPS=tomtom-orbis-maps at startup for a fixed backend, or omit it and specify tomtom-maps-backend header per request.npx or after a local npm install.tomtom-static-map works only with the default TomTom Maps backend; all other tools are available on both backends, with extra Orbis‑only tools listed above.npm run ui to launch both the HTTP server and the built‑in debug UI at http://localhost:8080.The TomTom MCP Server simplifies geospatial development by providing seamless access to TomTom’s location services, including search, routing, traffic and static maps data. It enables easy integration of precise and accurate geolocation data into AI workflows and development environments.

Keeping local deployments of the TomTom 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.
How to obtain a TomTom API key:
For more details, visit the TomTom 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
| Variable | Description | Default |
|---|---|---|
TOMTOM_API_KEY |
Your TomTom API key | - |
MAPS |
Backend to use: tomtom-maps (TomTom Maps) or tomtom-orbis-maps (TomTom Orbis Maps) |
tomtom-maps |
PORT |
Port for the HTTP server | 3000 |
LOG_LEVEL |
Logging level: debug, info, warn, or error. Use debug for local development to see all logs |
info |
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):
npm run build # Build first (required)
npm 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 the tomtom-api-key header. You can also optionally set the maps backend per-request using the tomtom-maps-backend header:
tomtom-api-key: <API_KEY>
tomtom-maps-backend: tomtom-maps # or tomtom-orbis-maps
Note: The
tomtom-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.
Docker Mode (recommended):
# 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-mcp:latest
# To use TomTom Orbis Maps backend instead:
docker run -p 3000:3000 -e MAPS=tomtom-orbis-maps ghcr.io/tomtom-international/tomtom-mcp:latest
# Option 2: Using Docker Compose (recommended for development)
# Clone the repository first
git clone https://github.com/tomtom-international/tomtom-mcp.git
cd tomtom-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 the tomtom-api-key header as shown in the HTTP Mode curl example above.
TomTom 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:
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 variable MAPS=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:
The server converts the rendered image to PNG and returns it as a Base64 string.
References:
A built-in debug UI lets you visually test MCP tools and their interactive map widgets without needing an AI client.
npm run ui
This starts both the MCP HTTP server (port 3000) and the debug UI host (port 8080). Open http://localhost:8080 in your browser.
show_ui: true for map widgets)Cmd+Enter to run, Cmd+K to search toolsnpm run ui)TOMTOM_API_KEY in your .env fileMAPS=tomtom-orbis-maps in .env)npm run ui:build # Install deps + build the UI
cd ui && npm start # Start only the UI host (assumes MCP server is already running)
git clone https://github.com/tomtom-international/tomtom-mcp.git
cd tomtom-mcp
npm install
cp .env.example .env # Add your API key in .env
npm run build # Build TypeScript files
node ./bin/tomtom-mcp.js # Start the MCP server
npm run build # Build TypeScript
npm test # Run all tests
npm run test:unit # Unit tests only
npm run test:all # All tests (unit + stdio + http)
⚠️ Important: All tests require a valid API key in .env as 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
echo $TOMTOM_API_KEY # Check if set
ls -la .env # Verify .env exists
cat .env # Check API key
npm run build # Rebuild
npm cache clean --force # Clear cache
We welcome contributions to the TomTom MCP Server! Please see CONTRIBUTING.md for details on how to submit pull requests, report issues, and suggest improvements.
All contributions must adhere to our Code of Conduct and be signed-off according to the Developer Certificate of Origin (DCO).
Open issues on the GitHub repo
Please see our Security Policy for information on reporting security vulnerabilities and our security practices.
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.
Copyright (C) 2025 TomTom Navigation B.V.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
{
"mcpServers": {
"tomtom-mcp": {
"command": "npx",
"args": [
"@tomtom-org/tomtom-mcp@latest"
],
"env": {
"TOMTOM_API_KEY": "<YOUR_API_KEY>"
}
}
}
}claude mcp add tomtom-mcp npx @tomtom-org/tomtom-mcp@latest