Skip to main content
Glama
tomtom-international

TomTom MCP Server

Official

TomTom Waypoint Routing

tomtom-waypoint-routing
Read-onlyIdempotent

Plan multi-stop routes with three or more waypoints, returning optimized turn-by-turn directions, distance, and travel time. Solves sequencing multiple locations in a single journey.

Instructions

Plan multi-stop routes through 3 or more waypoints. Use when the user needs to visit multiple locations in sequence (e.g. 'route from A to B via C and D'). Returns optimized turn-by-turn directions, total distance, and travel time. For simple A-to-B routes, use tomtom-routing instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
avoidNoRoute features to avoid. May increase travel time. Options: 'tollRoads','motorways','ferries','unpavedRoads','carpools','alreadyUsedRoads'. Accepts array of string(s).
reportNoSpecifies which data should be reported for diagnostic purposes. A possible value is: `effectiveSettings`. Reports the effective parameters or data used when calling the API. In the case of defaulted parameters, the default will be reflected where the parameter was not specified by the caller. Default value: effectiveSettings
trafficNoInclude real-time traffic data for more accurate ETAs and route suggestions.
arriveAtNoArrival time in ISO format (e.g., '2025-06-24T17:00:00Z'). Cannot be used with departAt.
departAtNoDeparture time in ISO format (e.g., '2025-06-24T14:30:00Z'). Cannot be used with arriveAt.
languageNoLanguage code for instructions (e.g., 'en-US', 'de-DE').
hillinessNoPreference for avoiding hills. Use 'low' for flatter routes.
routeTypeNoRoute optimization: 'fastest' (time-optimized), 'shortest' (distance-optimized), 'eco' (fuel-efficient), 'thrilling' (scenic).
waypointsYesOrdered array of waypoint coordinates (minimum 2). Route calculated in exact sequence provided. Use geocoding for accurate coordinates.
travelModeNoTransportation mode. Default: 'car'.
sectionTypeNoRoad section types to highlight for route analysis. Options: toll (toll roads), motorway (highways), tunnel, urban (city areas), country (rural areas), pedestrian (walking paths), traffic (traffic incidents), toll_road, ferry, travel_mode, important_road_stretch. Accepts array of string(s).
windingnessNoPreference for avoiding winding roads. Use 'low' for straighter routes.
vehicleWidthNoVehicle width in meters. Used to avoid narrow roads.
vehicleHeightNoVehicle height in meters. Used to avoid low bridges.
vehicleLengthNoVehicle length in meters. Affects maneuverability restrictions.
vehicleWeightNoVehicle weight in kg. Important for truck routing restrictions.
maxChargeInkWhNoMaximum EV battery capacity in kWh. Required for EV routing.
vehicleHeadingNoHeading of the vehicle in degrees (0-359) for more accurate initial routing.
alternativeTypeNoWhen maxAlternatives is greater than 0, it allows the definition of computing alternative routes: finding routes that are significantly different from the reference route, or finding routes that are better than the reference route. Possible values are: `anyRoute` (returns alternative routes that are significantly different from the reference route.), `betterRoute` (only returns alternative routes that are better than the reference route, according to the given planning criteria (set by routeType). If there is a road block on the reference route, then any alternative that does not contain any blockages will be considered a better route. The summary in the route response will contain information (see the planningReason parameter) about the reason for the better alternative.) Note: The betterRoute value can only be used when reconstructing a reference route. Default value: `anyRoute` Other values: `betterRoute`
maxAlternativesNoNumber of alternative routes (0-5). More alternatives = more options but larger response.
response_detailNoResponse detail level. 'compact' (default): trimmed response with essential fields only, saves tokens. 'full': complete API response with all fields including coordinates, classifications, etc.compact
vehicleLoadTypeNoCargo type for hazardous materials routing.
vehicleMaxSpeedNoMaximum vehicle speed in km/h for commercial routing.
computeBestOrderNoReorder waypoints for optimization. Use with multiple waypoints to find the most efficient route order.
instructionsTypeNoInstruction format: 'text' (human-readable), 'coded' (machine-readable), 'tagged' (HTML).
supportingPointsNoAdditional coordinates that influence the route shape without being stops (format: 'lat,lon;lat,lon').
uphillEfficiencyNoEfficiency during uphill driving (0-1).
vehicleAxleWeightNoVehicle axle weight in kg for weight-restricted roads.
vehicleCommercialNoCommercial vehicle flag. Affects road access restrictions.
vehicleEngineTypeNoEngine type for fuel/energy consumption calculation.
auxiliaryPowerInkWNoAuxiliary power consumption in kW for electric vehicles.
chargeMarginsInkWhNoComma-separated charge margins in kWh for route planning.
currentChargeInkWhNoCurrent EV battery charge in kWh. Required for EV routing.
downhillEfficiencyNoEfficiency during downhill driving (0-1).
currentFuelInLitersNoCurrent fuel level in liters for combustion vehicles.
routeRepresentationNoRepresentation of routes in response: 'polyline' (default, includes points), 'encodedPolyline' (compressed format), 'summaryOnly' (no points), 'none' (with computeBestOrder only). It cannot be used when `maxAlternatives` is set
computeTravelTimeForNoCalculate travel times for all segments ('all') or none ('none').
vehicleNumberOfAxlesNoNumber of axles on the vehicle. Used for toll calculations and restrictions.
accelerationEfficiencyNoEfficiency during acceleration (0-1).
decelerationEfficiencyNoEfficiency during deceleration (0-1).
includeTollPaymentTypesNoInclude toll payment types in the toll section. If a toll section has different toll payment types in its subsections, this toll section is split into multiple toll sections with the toll payment types. Possible values: all(Include toll payment types in the toll section.), none (Do not include toll payment types in the toll section). The value `all` must be used together with sectionType=toll. Default value: none
extendedRouteRepresentationNoAdditional routing data formats to include in the response.
auxiliaryPowerInLitersPerHourNoAuxiliary power consumption for combustion vehicles in L/hr.
vehicleAdrTunnelRestrictionCodeNoADR tunnel restriction code for hazardous materials.
consumptionInkWhPerkmAltitudeGainNoEnergy used per km of altitude gain.
fuelEnergyDensityInMJoulesPerLiterNoFuel energy density in megajoules per liter.
recuperationInkWhPerkmAltitudeLossNoEnergy recovered per km of altitude loss.
constantSpeedConsumptionInkWhPerHundredkmNoEV speed-to-consumption mappings format: '50,8.2:130,21.3' (speed in km/h, consumption in kWh/100km).
constantSpeedConsumptionInLitersPerHundredkmNoCombustion speed-to-consumption mappings: '50,6.3:130,11.5' (speed in km/h, consumption in L/100km).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.6.8
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / response_detail
      Added value: +{
      +  "default": "compact",
      +  "description": "Response detail level. 'compact' (default): trimmed response with essential fields only, saves tokens. 'full': complete API response with all fields including coordinates, classifications, etc.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / waypoints / items / additionalProperties
      Removed value: -false
  2. First observedv1.0.0

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that it 'returns optimized turn-by-turn directions, total distance, and travel time,' which is useful. However, there is a minor inconsistency: the description says '3 or more waypoints' while the schema allows minItems=2, which could mislead an agent. No contradiction with annotations, but the added behavioral context is modest.

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

Conciseness5/5

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

Three sentences with no filler. The primary use case and the key differentiator are front-loaded, and the alternative is named concisely. Every word earns its place.

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 complex tool with 49 parameters, the description adequately covers the core use case and return fields, while the schema handles parameter specifics. It does not mention ordered waypoints or the computeBestOrder option, but those are in the schema. Given annotations and rich schema, nothing critical is missing for an agent to call it correctly.

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 description coverage is 100%, so the schema already documents all 49 parameters in detail. The description only mentions 'waypoints' generically and does not add syntax, ordering, or constraint nuances beyond what the schema provides. Baseline 3 is appropriate since schema does the heavy lifting.

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?

The description states a specific verb and resource: 'Plan multi-stop routes through 3 or more waypoints.' It clearly distinguishes itself from the sibling 'tomtom-routing' by specifying the multi-stop scenario, so an agent can tell them apart without opening the schema.

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?

It explicitly says 'Use when the user needs to visit multiple locations in sequence' and directs to 'tomtom-routing' for simple A-to-B routes. This gives clear when-to-use and when-not-to-use guidance, naming the alternative tool.

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