Skip to main content
Glama
tomtom-international

TomTom MCP Server

Official

tomtom-waypoint-routing

Plan optimized routes with multiple waypoints using precise coordinates. Choose transport mode, avoid specific road features, and include real-time traffic for accurate ETAs. Supports eco-friendly, scenic, and custom routing preferences.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accelerationEfficiencyNoEfficiency during acceleration (0-1).
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`
arriveAtNoArrival time in ISO format (e.g., '2025-06-24T17:00:00Z'). Cannot be used with departAt.
auxiliaryPowerInLitersPerHourNoAuxiliary power consumption for combustion vehicles in L/hr.
auxiliaryPowerInkWNoAuxiliary power consumption in kW for electric vehicles.
avoidNoRoute features to avoid. May increase travel time. Options: 'tollRoads','motorways','ferries','unpavedRoads','carpools','alreadyUsedRoads'. Accepts array of string(s).
chargeMarginsInkWhNoComma-separated charge margins in kWh for route planning.
computeBestOrderNoReorder waypoints for optimization. Use with multiple waypoints to find the most efficient route order.
computeTravelTimeForNoCalculate travel times for all segments ('all') or none ('none').
constantSpeedConsumptionInLitersPerHundredkmNoCombustion speed-to-consumption mappings: '50,6.3:130,11.5' (speed in km/h, consumption in L/100km).
constantSpeedConsumptionInkWhPerHundredkmNoEV speed-to-consumption mappings format: '50,8.2:130,21.3' (speed in km/h, consumption in kWh/100km).
consumptionInkWhPerkmAltitudeGainNoEnergy used per km of altitude gain.
currentChargeInkWhNoCurrent EV battery charge in kWh. Required for EV routing.
currentFuelInLitersNoCurrent fuel level in liters for combustion vehicles.
decelerationEfficiencyNoEfficiency during deceleration (0-1).
departAtNoDeparture time in ISO format (e.g., '2025-06-24T14:30:00Z'). Cannot be used with arriveAt.
downhillEfficiencyNoEfficiency during downhill driving (0-1).
extendedRouteRepresentationNoAdditional routing data formats to include in the response.
fuelEnergyDensityInMJoulesPerLiterNoFuel energy density in megajoules per liter.
hillinessNoPreference for avoiding hills. Use 'low' for flatter routes.
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
instructionsTypeNoInstruction format: 'text' (human-readable), 'coded' (machine-readable), 'tagged' (HTML).
languageNoLanguage code for instructions (e.g., 'en-US', 'de-DE').
maxAlternativesNoNumber of alternative routes (0-5). More alternatives = more options but larger response.
maxChargeInkWhNoMaximum EV battery capacity in kWh. Required for EV routing.
recuperationInkWhPerkmAltitudeLossNoEnergy recovered per km of altitude loss.
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
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
routeTypeNoRoute optimization: 'fastest' (time-optimized), 'shortest' (distance-optimized), 'eco' (fuel-efficient), 'thrilling' (scenic).
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).
supportingPointsNoAdditional coordinates that influence the route shape without being stops (format: 'lat,lon;lat,lon').
trafficNoInclude real-time traffic data for more accurate ETAs and route suggestions.
travelModeNoTransportation mode. Default: 'car'.
uphillEfficiencyNoEfficiency during uphill driving (0-1).
vehicleAdrTunnelRestrictionCodeNoADR tunnel restriction code for hazardous materials.
vehicleAxleWeightNoVehicle axle weight in kg for weight-restricted roads.
vehicleCommercialNoCommercial vehicle flag. Affects road access restrictions.
vehicleEngineTypeNoEngine type for fuel/energy consumption calculation.
vehicleHeadingNoHeading of the vehicle in degrees (0-359) for more accurate initial routing.
vehicleHeightNoVehicle height in meters. Used to avoid low bridges.
vehicleLengthNoVehicle length in meters. Affects maneuverability restrictions.
vehicleLoadTypeNoCargo type for hazardous materials routing.
vehicleMaxSpeedNoMaximum vehicle speed in km/h for commercial routing.
vehicleNumberOfAxlesNoNumber of axles on the vehicle. Used for toll calculations and restrictions.
vehicleWeightNoVehicle weight in kg. Important for truck routing restrictions.
vehicleWidthNoVehicle width in meters. Used to avoid narrow roads.
waypointsYesOrdered array of waypoint coordinates (minimum 2). Route calculated in exact sequence provided. Use geocoding for accurate coordinates.
windingnessNoPreference for avoiding winding roads. Use 'low' for straighter routes.

Implementation Reference

  • Factory function that returns the asynchronous handler for executing the tomtom-waypoint-routing tool. It processes input parameters, calls the routing service getMultiWaypointRoute, logs progress and errors, and returns formatted JSON results or error responses.
    export function createWaypointRoutingHandler() {
      return async (params: any) => {
        logger.info(`πŸ—ΊοΈ Multi-waypoint route: ${params.waypoints.length} waypoints`);
        try {
          const result = await getMultiWaypointRoute(params.waypoints, params);
          logger.info(`βœ… Multi-waypoint route calculated`);
          return {
            content: [
              {
                text: JSON.stringify(result, null, 2),
                type: "text" as const,
              },
            ],
          };
        } catch (error: any) {
          logger.error(`❌ Multi-waypoint routing failed: ${error.message}`);
          return {
            content: [{ type: "text" as const, text: JSON.stringify({ error: error.message }) }],
            isError: true,
          };
        }
      };
  • Zod input schema for the tomtom-waypoint-routing tool, defining waypoints (array of coordinates, min 2), routing options, vehicle specs, and section types.
    export const tomtomWaypointRoutingSchema = {
      waypoints: z
        .array(coordinateSchema)
        .min(2)
        .describe(
          "Ordered array of waypoint coordinates (minimum 2). Route calculated in exact sequence provided. Use geocoding for accurate coordinates."
        ),
      ...routingOptionsSchema,
      ...vehicleSchema,
      sectionType: sectionTypeSchema.describe(
        "Road 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)."
      ),
    };
  • MCP server registration of the tomtom-waypoint-routing tool, specifying title, description, input schema, and handler factory.
    server.registerTool(
      "tomtom-waypoint-routing",
      {
        title: "TomTom Waypoint Routing",
        description: "Multi-stop route planning Routing API",
        inputSchema: schemas.tomtomWaypointRoutingSchema,
      },
      createWaypointRoutingHandler()
    );
  • Alternative MCP server registration for Orbis variant of the tomtom-waypoint-routing tool.
    server.registerTool(
      "tomtom-waypoint-routing",
      {
        title: "TomTom Waypoint Routing",
        description: "Multi-stop route planning Routing API",
        inputSchema: schemas.tomtomWaypointRoutingSchema,
      },
      createWaypointRoutingHandler()
    );
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tomtom-international/tomtom-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server