Skip to main content
Glama
tomtom-international

TomTom MCP Server

Official

TomTom Dynamic Map

tomtom-dynamic-map
Read-onlyIdempotent

Generate custom map images with markers, lines, polygons, and overlays to visualize locations, highlight areas, and combine routes in a single view.

Instructions

Render a custom map image with markers, drawn lines, polygons, and area overlays using server-side rendering. Intended for map visualization: showing locations on a map, highlighting areas, or combining multiple visual elements in one view. Not intended for route calculations (tomtom-routing) or traffic incidents (tomtom-traffic). The optional routePlans parameter can calculate and draw routes on the map; it is meant for routes combined with other map elements (markers, polygons) in a single image.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bboxNoBounding box in format [west, south, east, north] (min longitude, min latitude, max longitude, max latitude). Alternative to center+zoom. Use this parameter to ensure all map elements are fully visible. EXAMPLE: [4.87, 52.355, 4.915, 52.385] for central Amsterdam area.
zoomNoZoom level (0-22). EXAMPLES: 3 (continent), 6 (country), 10 (city), 15 (neighborhood), 18 (street), 20-22 (building detail). Auto-calculated if not provided. NOTE: Zoom levels 20+ are only useful for very small geographic areas.
widthNoMap width in pixels (100-2048). Auto-calculated based on content if not provided. Recommended values: 800 (standard), 1200 (detailed). EXAMPLE: 800 for standard display, 1200 for detailed map.
centerNoMap center coordinates. Optional if bbox provided or if markers/routes are used for auto-calculation. IMPORTANT: If using 'center', also provide 'zoom' for best results. Use either center+zoom OR bbox, not both simultaneously. EXAMPLE: {lat: 52.3676, lon: 4.9041} for Amsterdam Central.
detailNoControls the image quality included in the tool response. 'compact' (DEFAULT): Compresses the image to stay under 1MB, using JPEG conversion and/or downscaling as needed. Best for most use cases since the interactive MCP app widget renders the full map separately. 'full': Returns the original full-resolution PNG image. Use when you need maximum image quality in the conversation, but note this may exceed the 1MB response limit for large/detailed maps.compact
heightNoMap height in pixels (100-2048). Auto-calculated based on content if not provided. Recommended values: 600 (standard), 900 (detailed). EXAMPLE: 600 for standard display, 900 for detailed map.
routesNoDraw straight lines between coordinates — for visualizing custom paths, connections, or external data (e.g. flight paths, supply chains, hiking trails). These are NOT road-following routes and have no distance/time info. For actual driving or walking routes that follow roads, use 'routePlans' instead. EXAMPLE: [{points: [{lat: 52.3676, lon: 4.9041}, {lat: 52.36, lon: 4.8852}], color: '#0000FF', name: 'Flight Path'}].
markersNoArray of markers to display on the map. Each marker can have custom color, label, and priority. EXAMPLE: [{lat: 52.3676, lon: 4.9041, color: '#FF4444', label: 'Amsterdam Central', priority: 'high'}].
show_uiNoEnable interactive MCP app visualization. When true, the response includes a viz_id that allows an MCP App to render an interactive version of the map with zoom, pan, and click capabilities. Set to false if you only need the static PNG image. DEFAULT: false.
polygonsNoArray of polygons and circles to display on the map. Supports both custom polygon shapes (with coordinate arrays) and circular areas (with center point and radius). Each shape can have custom styling and labels. EXAMPLE for polygon: [{type: 'polygon', coordinates: [[4.9041, 52.3676], [4.8979, 52.3745], [4.8852, 52.36], [4.9041, 52.3676]], fillColor: 'rgba(255,0,0,0.3)', label: 'Tourist Area'}]. EXAMPLE for circle: [{type: 'circle', center: {lat: 52.3676, lon: 4.9041}, radius: 1000, fillColor: 'rgba(0,0,255,0.2)', label: '1km Radius'}].
routePlansNoArray of route calculations to draw on the map. Each entry is an independent origin→destination trip calculated via TomTom Routing API. NOTE: For standalone route queries (directions, travel time, distance), prefer the tomtom-routing tool instead. Use routePlans here only when you need to visualize calculated routes alongside other map elements (markers, polygons) in a single map image. Each plan can have its own routeType, travelMode, and color. EXAMPLE: [{origin: {lat: 52.37, lon: 4.89}, destination: {lat: 52.36, lon: 4.89}, label: 'Morning Commute'}, {origin: {lat: 48.86, lon: 2.35}, destination: {lat: 48.85, lon: 2.29}, label: 'Paris Tour'}].
showLabelsNoWhether to show text labels on markers, routes, and polygons. DEFAULT: false. EXAMPLE: true to display all labels.
routeInfoDetailNoLevel of route information to display when using routePlans. OPTIONS: 'basic' (simple), 'compact' (short), 'detailed' (full), 'distance-time' (time/distance only). DEFAULT: 'basic'. EXAMPLE: 'distance-time' to show just the travel distance and time.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.8

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior: the detail parameter's 1MB response limit and JPEG/downscaling behavior, the show_ui parameter's interactive viz_id capability, and auto-calculation of dimensions. Minor gap: no explicit statement about the response format/return value, though the description covers most operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main description is efficiently written with purpose front-loaded before exclusions. It avoids redundancy with the schema. However, the overall tool definition is lengthy due to the schema, and the description could be slightly trimmed — the routePlans guidance is repeated in both the description and the parameter schema. Still, it earns a 4 for being well-organized and purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 13 parameters, 0 required, and complex nested objects, the description covers the key operational concerns: auto-calculation behavior, the detail/response-size tradeoff, the show_ui interaction, and the routes vs routePlans distinction. No output schema exists, but the description addresses return behavior through the detail parameter. The main omission is not describing the output image format explicitly, though the detail parameter implies it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds real value with concrete examples (Amsterdam coordinates, hex color codes, priority semantics) and clarifies nuanced distinctions like the routes vs routePlans difference (straight lines vs road-following). However, much of the value is also present in the schema descriptions, so the description doesn't dramatically exceed the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Render) and resource (custom map image) with concrete elements: markers, drawn lines, polygons, and area overlays. Explicitly distinguishes from siblings (tomtom-routing, tomtom-traffic) by naming what it is NOT for, which is rare and highly valuable for agent selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance ('Intended for map visualization') and when-not-to ('Not intended for route calculations (tomtom-routing) or traffic incidents (tomtom-traffic)'). Also clarifies the edge case of routePlans — when it should be used vs. when to prefer tomtom-routing for standalone queries. This is exemplary routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.