Labsco
tomtom-international logo

TomTom MCP

β˜… 48

from tomtom-international

Location technology for developers

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredAdvanced setup

TomTom Maps MCP Server

The TomTom Maps 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.

Demo

TomTom Maps MCP Demo

Table of Contents


Security Notice

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.

Integration Guides

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:


Available Tools

ToolDescriptionDocumentation
tomtom-geocodeConvert addresses to coordinates with global coveragehttps://developer.tomtom.com/geocoding-api/documentation/geocode
tomtom-reverse-geocodeGet addresses from GPS coordinateshttps://developer.tomtom.com/reverse-geocoding-api/documentation/reverse-geocode
tomtom-fuzzy-searchIntelligent search with typo tolerancehttps://developer.tomtom.com/search-api/documentation/search-service/fuzzy-search
tomtom-poi-searchFind specific business categorieshttps://developer.tomtom.com/search-api/documentation/search-service/points-of-interest-search
tomtom-nearbyDiscover services within a radiushttps://developer.tomtom.com/search-api/documentation/search-service/nearby-search
tomtom-routingCalculate optimal routes between locationshttps://developer.tomtom.com/routing-api/documentation/tomtom-maps/calculate-route
tomtom-waypoint-routingMulti-stop route planning Routing APIhttps://developer.tomtom.com/routing-api/documentation/tomtom-maps/calculate-route
tomtom-reachable-rangeDetermine coverage areas by time/distancehttps://developer.tomtom.com/routing-api/documentation/tomtom-maps/calculate-reachable-range
tomtom-trafficReal-time incidents datahttps://developer.tomtom.com/traffic-api/documentation/traffic-incidents/traffic-incidents-service
tomtom-static-mapGenerate custom map imageshttps://developer.tomtom.com/map-display-api/documentation/raster/static-image
tomtom-dynamic-mapAdvanced map rendering with custom markers, routes, and traffic visualizationhttps://developer.tomtom.com/map-display-api/documentation/raster/map-tile

TomTom Orbis Maps (optional backend)

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, and tomtom-data-viz. The tomtom-static-map tool is only available with the default TomTom Maps backend.

ToolDescriptionTomTom Orbis Maps API (documentation)
tomtom-geocodeForward geocoding: address β†’ coordinateshttps://developer.tomtom.com/geocoding-api/documentation/tomtom-orbis-maps/geocode
tomtom-reverse-geocodeReverse geocoding: coordinates β†’ addresshttps://developer.tomtom.com/reverse-geocoding-api/documentation/tomtom-orbis-maps/reverse-geocode
tomtom-fuzzy-searchGeneral search with typo tolerance and suggestionshttps://developer.tomtom.com/search-api/documentation/tomtom-orbis-maps/search-service/fuzzy-search
tomtom-poi-searchPoints of Interest (category-based) searchhttps://developer.tomtom.com/search-api/documentation/tomtom-orbis-maps/search-service/points-of-interest-search
tomtom-nearbyFind POIs near a coordinate within a radiushttps://developer.tomtom.com/search-api/documentation/tomtom-orbis-maps/search-service/nearby-search
tomtom-routingCalculate optimal route between two pointshttps://developer.tomtom.com/routing-api/documentation/tomtom-orbis-maps/calculate-route
tomtom-waypoint-routingMulti-stop / waypoint route planninghttps://developer.tomtom.com/routing-api/documentation/tomtom-orbis-maps/calculate-route
tomtom-reachable-rangeCompute coverage area by time or distance budgethttps://developer.tomtom.com/routing-api/documentation/tomtom-orbis-maps/calculate-reachable-range
tomtom-trafficTraffic incidents and related detailshttps://developer.tomtom.com/traffic-api/documentation/tomtom-orbis-maps/incident-details
tomtom-dynamic-mapAdvanced map rendering with custom markers, routes, and traffic visualizationhttps://developer.tomtom.com/map-display-api/documentation/tomtom-orbis-maps/raster-tile
tomtom-ev-routingPlan long-distance EV routes with automatic charging stop optimizationhttps://developer.tomtom.com/routing-api/documentation/tomtom-orbis-maps/long-distance-ev-routing
tomtom-search-along-routeFind POIs (restaurants, gas stations, hotels, etc.) along a route corridorhttps://developer.tomtom.com/search-api/documentation/tomtom-orbis-maps/search-service/search-along-route
tomtom-area-searchSearch for places within a geographic area (circle, polygon, or bounding box)https://developer.tomtom.com/search-api/documentation/tomtom-orbis-maps/search-service/geometry-search
tomtom-ev-searchFind EV charging stations with real-time availability and connector typeshttps://developer.tomtom.com/search-api/documentation/tomtom-orbis-maps/search-service/ev-charging-stations-availability
tomtom-data-vizVisualize custom GeoJSON data on an interactive TomTom basemap (markers, heatmaps, clusters, choropleths)https://developer.tomtom.com/map-display-api/documentation/tomtom-orbis-maps/raster-tile

How dynamic map tool works

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.

References:


Debug UI

A built-in debug UI lets you visually test MCP tools and their interactive map widgets without needing an AI client.

Quick Start

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.

Features

  • 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 (including show_ui: true for 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+Enter to run, Cmd+K to search tools

Requirements

  • The MCP server must be running in HTTP mode (handled automatically by npm run ui)
  • A valid TOMTOM_API_KEY in your .env file
  • To see map widgets, use the TomTom Orbis Maps backend (MAPS=tomtom-orbis-maps in .env)

Building the UI separately

npm run ui:build    # Install deps + build the UI
cd ui && npm start  # Start only the UI host (assumes MCP server is already running)

Local Development

Setup

git clone https://github.com/tomtom-international/tomtom-maps-mcp.git

cd tomtom-maps-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

Testing

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)

Testing Requirements

⚠️ Important: All tests require a valid API key in .env as they make real API calls (not mocked). This will consume your API quota.

Project Structure

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

Security

Please see our Security Policy for information on reporting security vulnerabilities and our security practices.