Google Maps Platform · Capability

Google Maps Directions API — Directions

Google Maps Directions API — Directions. 1 operations. Lead operation: Get Directions Between Two or More Locations. Self-contained Naftiko capability covering one Google Maps business surface.

Run with Naftiko Google MapsDirections

What You Can Do

GET
Getdirections — Get Directions Between Two or More Locations
/v1/directions/json

MCP Tools

get-directions-between-two-more

Get Directions Between Two or More Locations

read-only idempotent

Capability Spec

directions-directions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Maps Directions API — Directions
  description: 'Google Maps Directions API — Directions. 1 operations. Lead operation: Get Directions Between Two or More
    Locations. Self-contained Naftiko capability covering one Google Maps business surface.'
  tags:
  - Google Maps
  - Directions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOOGLE_MAPS_API_KEY: GOOGLE_MAPS_API_KEY
capability:
  consumes:
  - type: http
    namespace: directions-directions
    baseUri: https://maps.googleapis.com/maps/api
    description: Google Maps Directions API — Directions business capability. Self-contained, no shared references.
    resources:
    - name: directions-json
      path: /directions/json
      operations:
      - name: getdirections
        method: GET
        description: Get Directions Between Two or More Locations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: origin
          in: query
          type: string
          description: The address, place ID (prefixed with place_id:), or latitude/longitude coordinates of the starting
            point.
          required: true
        - name: destination
          in: query
          type: string
          description: The address, place ID (prefixed with place_id:), or latitude/longitude coordinates of the ending point.
          required: true
        - name: mode
          in: query
          type: string
          description: The travel mode for calculating directions. Defaults to driving.
        - name: waypoints
          in: query
          type: string
          description: 'An array of intermediate locations to include along the route, specified as pipe-separated values.
            Prefix with optimize:true to allow the Directions service to '
        - name: alternatives
          in: query
          type: boolean
          description: If set to true, instructs the Directions service to return more than one route alternative when available.
        - name: avoid
          in: query
          type: string
          description: Indicates that the calculated route(s) should avoid the indicated features. Pipe-separated list of
            restrictions.
        - name: language
          in: query
          type: string
          description: The language code in which to return results, where available.
        - name: units
          in: query
          type: string
          description: Specifies the unit system to use when displaying results.
        - name: region
          in: query
          type: string
          description: The region code, specified as a ccTLD two-character value. Biases results towards a particular region.
        - name: arrival_time
          in: query
          type: integer
          description: The desired arrival time for transit directions, specified as seconds since midnight, January 1, 1970
            UTC. Cannot be used with departure_time.
        - name: departure_time
          in: query
          type: string
          description: The desired departure time, specified as seconds since midnight, January 1, 1970 UTC. For transit mode
            this is required if arrival_time is not specified. For dr
        - name: traffic_model
          in: query
          type: string
          description: The assumptions to use when calculating travel time in traffic. Only applies when mode is driving and
            departure_time is specified.
        - name: transit_mode
          in: query
          type: string
          description: Specifies one or more preferred modes of transit as a pipe-separated list. Only valid when mode is
            transit.
        - name: transit_routing_preference
          in: query
          type: string
          description: Specifies preferences for transit routes. Only valid when mode is transit.
        - name: key
          in: query
          type: string
          description: Your application's API key.
          required: true
    authentication:
      type: apikey
      key: key
      value: '{{env.GOOGLE_MAPS_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: directions-directions-rest
    port: 8080
    description: REST adapter for Google Maps Directions API — Directions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/directions/json
      name: directions-json
      description: REST surface for directions-json.
      operations:
      - method: GET
        name: getdirections
        description: Get Directions Between Two or More Locations
        call: directions-directions.getdirections
        with:
          origin: rest.origin
          destination: rest.destination
          mode: rest.mode
          waypoints: rest.waypoints
          alternatives: rest.alternatives
          avoid: rest.avoid
          language: rest.language
          units: rest.units
          region: rest.region
          arrival_time: rest.arrival_time
          departure_time: rest.departure_time
          traffic_model: rest.traffic_model
          transit_mode: rest.transit_mode
          transit_routing_preference: rest.transit_routing_preference
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: directions-directions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Google Maps Directions API — Directions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-directions-between-two-more
      description: Get Directions Between Two or More Locations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: directions-directions.getdirections
      with:
        origin: tools.origin
        destination: tools.destination
        mode: tools.mode
        waypoints: tools.waypoints
        alternatives: tools.alternatives
        avoid: tools.avoid
        language: tools.language
        units: tools.units
        region: tools.region
        arrival_time: tools.arrival_time
        departure_time: tools.departure_time
        traffic_model: tools.traffic_model
        transit_mode: tools.transit_mode
        transit_routing_preference: tools.transit_routing_preference
        key: tools.key
      outputParameters:
      - type: object
        mapping: $.