TomTom · Capability

TomTom Routing API — Routing

TomTom Routing API — Routing. 2 operations. Lead operation: Calculate Route. Self-contained Naftiko capability covering one Tomtom business surface.

Run with Naftiko TomtomRouting

What You Can Do

GET
Calculateroute — Calculate Route
/v1/routing/{versionnumber}/calculateroute/{locations}/{contenttype}
POST
Calculateroutepost — Calculate Route (POST)
/v1/routing/{versionnumber}/calculateroute/{locations}/{contenttype}

MCP Tools

calculate-route

Calculate Route

read-only idempotent
calculate-route-post

Calculate Route (POST)

Capability Spec

routing-routing.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: TomTom Routing API — Routing
  description: 'TomTom Routing API — Routing. 2 operations. Lead operation: Calculate Route. Self-contained Naftiko capability
    covering one Tomtom business surface.'
  tags:
  - Tomtom
  - Routing
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TOMTOM_API_KEY: TOMTOM_API_KEY
capability:
  consumes:
  - type: http
    namespace: routing-routing
    baseUri: https://api.tomtom.com
    description: TomTom Routing API — Routing business capability. Self-contained, no shared references.
    resources:
    - name: routing-versionNumber-calculateRoute-locations-contentType
      path: /routing/{versionNumber}/calculateRoute/{locations}/{contentType}
      operations:
      - name: calculateroute
        method: GET
        description: Calculate Route
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: versionNumber
          in: path
          type: integer
          description: Service version number
          required: true
        - name: locations
          in: path
          type: string
          description: Colon-separated list of coordinates (lat,lon:lat,lon)
          required: true
        - name: contentType
          in: path
          type: string
          required: true
        - name: routeType
          in: query
          type: string
          description: Optimization type for route calculation
        - name: traffic
          in: query
          type: boolean
          description: Use real-time traffic data
        - name: avoid
          in: query
          type: string
          description: Comma-separated list of things to avoid (tollRoads, motorways, ferries, etc.)
        - name: travelMode
          in: query
          type: string
        - name: departAt
          in: query
          type: string
          description: Departure time for historical traffic
        - name: arriveAt
          in: query
          type: string
          description: Desired arrival time
        - name: maxAlternatives
          in: query
          type: integer
          description: Number of alternative routes to return
        - name: instructionsType
          in: query
          type: string
        - name: language
          in: query
          type: string
          description: Language tag for instructions (e.g., en-US)
        - name: vehicleMaxSpeed
          in: query
          type: integer
          description: Maximum speed of the vehicle (km/h)
        - name: vehicleWeight
          in: query
          type: integer
          description: Vehicle weight (kg)
        - name: vehicleAxleWeight
          in: query
          type: integer
          description: Weight per axle (kg)
        - name: vehicleLength
          in: query
          type: number
          description: Vehicle length (meters)
        - name: vehicleWidth
          in: query
          type: number
          description: Vehicle width (meters)
        - name: vehicleHeight
          in: query
          type: number
          description: Vehicle height (meters)
        - name: vehicleCommercial
          in: query
          type: boolean
          description: Whether vehicle is used for commercial purposes
        - name: vehicleLoadType
          in: query
          type: string
          description: Types of cargo carried
        - name: computeTravelTimeFor
          in: query
          type: string
        - name: sectionType
          in: query
          type: string
        - name: report
          in: query
          type: string
        - name: callback
          in: query
          type: string
          description: Callback function name for JSONP
      - name: calculateroutepost
        method: POST
        description: Calculate Route (POST)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: versionNumber
          in: path
          type: integer
          required: true
        - name: locations
          in: path
          type: string
          required: true
        - name: contentType
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: apikey
      key: key
      value: '{{env.TOMTOM_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: routing-routing-rest
    port: 8080
    description: REST adapter for TomTom Routing API — Routing. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/routing/{versionnumber}/calculateroute/{locations}/{contenttype}
      name: routing-versionnumber-calculateroute-locations-contenttype
      description: REST surface for routing-versionNumber-calculateRoute-locations-contentType.
      operations:
      - method: GET
        name: calculateroute
        description: Calculate Route
        call: routing-routing.calculateroute
        with:
          versionNumber: rest.versionNumber
          locations: rest.locations
          contentType: rest.contentType
          routeType: rest.routeType
          traffic: rest.traffic
          avoid: rest.avoid
          travelMode: rest.travelMode
          departAt: rest.departAt
          arriveAt: rest.arriveAt
          maxAlternatives: rest.maxAlternatives
          instructionsType: rest.instructionsType
          language: rest.language
          vehicleMaxSpeed: rest.vehicleMaxSpeed
          vehicleWeight: rest.vehicleWeight
          vehicleAxleWeight: rest.vehicleAxleWeight
          vehicleLength: rest.vehicleLength
          vehicleWidth: rest.vehicleWidth
          vehicleHeight: rest.vehicleHeight
          vehicleCommercial: rest.vehicleCommercial
          vehicleLoadType: rest.vehicleLoadType
          computeTravelTimeFor: rest.computeTravelTimeFor
          sectionType: rest.sectionType
          report: rest.report
          callback: rest.callback
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: calculateroutepost
        description: Calculate Route (POST)
        call: routing-routing.calculateroutepost
        with:
          versionNumber: rest.versionNumber
          locations: rest.locations
          contentType: rest.contentType
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: routing-routing-mcp
    port: 9090
    transport: http
    description: MCP adapter for TomTom Routing API — Routing. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: calculate-route
      description: Calculate Route
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: routing-routing.calculateroute
      with:
        versionNumber: tools.versionNumber
        locations: tools.locations
        contentType: tools.contentType
        routeType: tools.routeType
        traffic: tools.traffic
        avoid: tools.avoid
        travelMode: tools.travelMode
        departAt: tools.departAt
        arriveAt: tools.arriveAt
        maxAlternatives: tools.maxAlternatives
        instructionsType: tools.instructionsType
        language: tools.language
        vehicleMaxSpeed: tools.vehicleMaxSpeed
        vehicleWeight: tools.vehicleWeight
        vehicleAxleWeight: tools.vehicleAxleWeight
        vehicleLength: tools.vehicleLength
        vehicleWidth: tools.vehicleWidth
        vehicleHeight: tools.vehicleHeight
        vehicleCommercial: tools.vehicleCommercial
        vehicleLoadType: tools.vehicleLoadType
        computeTravelTimeFor: tools.computeTravelTimeFor
        sectionType: tools.sectionType
        report: tools.report
        callback: tools.callback
      outputParameters:
      - type: object
        mapping: $.
    - name: calculate-route-post
      description: Calculate Route (POST)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: routing-routing.calculateroutepost
      with:
        versionNumber: tools.versionNumber
        locations: tools.locations
        contentType: tools.contentType
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.