Visteon · Capability

Visteon Connected Cockpit

Workflow capability for automotive connected cockpit applications built on the Visteon Phoenix platform. Combines audio, phone, media, navigation, vehicle data, and screen management APIs into a unified interface for in-vehicle infotainment experience. Used by automotive app developers and OEM integration teams to build context-aware, multi-domain cockpit applications.

Run with Naftiko AudioAutomotiveConnected CarHMIInfotainmentNavigationVehicle DataVisteon

What You Can Do

GET
Get vehicle data — Get current vehicle speed, fuel, odometer, and HVAC data
/v1/vehicle/data
GET
Get audio status — Get current audio playback status
/v1/audio/status
GET
Get volume — Get current volume level
/v1/audio/volume
PUT
Set volume — Set master volume level
/v1/audio/volume
GET
List audio sources — List all available audio input sources
/v1/audio/sources
GET
Get phone status — Get Bluetooth phone connection and call status
/v1/phone/status
GET
List calls — List active phone calls
/v1/phone/calls
POST
Make call — Initiate an outgoing phone call
/v1/phone/calls
GET
Browse media library — Browse media library from connected devices
/v1/media/library
GET
Get now playing — Get currently playing media track
/v1/media/now-playing
GET
Get active route — Get active navigation route with ETA
/v1/navigation/route
POST
Start navigation — Start navigation to a destination
/v1/navigation/route
DELETE
Cancel navigation — Cancel the active navigation route
/v1/navigation/route
GET
Search poi — Search points of interest near vehicle
/v1/navigation/search
GET
List displays — List all cockpit display screens
/v1/screen/displays

MCP Tools

get-vehicle-data

Get real-time vehicle telemetry including speed, fuel level, odometer, and HVAC settings

read-only idempotent
get-audio-status

Get current audio system playback status and active source

read-only idempotent
get-volume

Get current volume level and mute state

read-only idempotent
set-volume

Set the master audio volume level

idempotent
list-audio-sources

List all available audio input sources (FM, AM, Bluetooth, USB, aux)

read-only idempotent
get-phone-status

Get Bluetooth phone connection status and active call information

read-only idempotent
list-calls

List active and on-hold phone calls

read-only idempotent
make-call

Initiate an outgoing phone call from the vehicle

browse-media-library

Browse music, video, and photo media from connected devices

read-only idempotent
get-now-playing

Get currently playing media track with artist, album, and duration

read-only idempotent
get-active-route

Get the active navigation route with ETA and remaining distance

read-only idempotent
start-navigation

Start turn-by-turn navigation to a specified destination

cancel-navigation

Cancel the currently active navigation route

idempotent
search-poi

Search for points of interest near the vehicle location

read-only idempotent
list-displays

List all cockpit display screens and their configuration

read-only idempotent

APIs Used

visteon-phoenix

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Visteon Connected Cockpit"
  description: >-
    Workflow capability for automotive connected cockpit applications built on the
    Visteon Phoenix platform. Combines audio, phone, media, navigation, vehicle data,
    and screen management APIs into a unified interface for in-vehicle infotainment
    experience. Used by automotive app developers and OEM integration teams to build
    context-aware, multi-domain cockpit applications.
  tags:
    - Audio
    - Automotive
    - Connected Car
    - HMI
    - Infotainment
    - Navigation
    - Vehicle Data
    - Visteon
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      VISTEON_PHOENIX_API_KEY: VISTEON_PHOENIX_API_KEY

capability:
  consumes:
    - import: visteon-phoenix
      location: ./shared/visteon-phoenix.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: visteon-cockpit-api
      description: "Unified REST API for Visteon connected cockpit applications."
      resources:
        - path: /v1/vehicle/data
          name: vehicle-data
          description: "Vehicle telemetry and status"
          operations:
            - method: GET
              name: get-vehicle-data
              description: "Get current vehicle speed, fuel, odometer, and HVAC data"
              call: "visteon-phoenix.get-vehicle-data"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/audio/status
          name: audio-status
          description: "Audio system state"
          operations:
            - method: GET
              name: get-audio-status
              description: "Get current audio playback status"
              call: "visteon-phoenix.get-audio-status"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/audio/volume
          name: volume
          description: "Volume control"
          operations:
            - method: GET
              name: get-volume
              description: "Get current volume level"
              call: "visteon-phoenix.get-volume"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: set-volume
              description: "Set master volume level"
              call: "visteon-phoenix.set-volume"
              with:
                level: "rest.level"
                mute: "rest.mute"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/audio/sources
          name: audio-sources
          description: "Available audio sources"
          operations:
            - method: GET
              name: list-audio-sources
              description: "List all available audio input sources"
              call: "visteon-phoenix.list-audio-sources"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/phone/status
          name: phone-status
          description: "Phone connection status"
          operations:
            - method: GET
              name: get-phone-status
              description: "Get Bluetooth phone connection and call status"
              call: "visteon-phoenix.get-phone-status"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/phone/calls
          name: calls
          description: "Phone call management"
          operations:
            - method: GET
              name: list-calls
              description: "List active phone calls"
              call: "visteon-phoenix.list-calls"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: make-call
              description: "Initiate an outgoing phone call"
              call: "visteon-phoenix.make-call"
              with:
                number: "rest.number"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/media/library
          name: media-library
          description: "Media content library"
          operations:
            - method: GET
              name: browse-media-library
              description: "Browse media library from connected devices"
              call: "visteon-phoenix.browse-media-library"
              with:
                type: "rest.type"
                offset: "rest.offset"
                limit: "rest.limit"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/media/now-playing
          name: now-playing
          description: "Currently playing media"
          operations:
            - method: GET
              name: get-now-playing
              description: "Get currently playing media track"
              call: "visteon-phoenix.get-now-playing"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/navigation/route
          name: navigation-route
          description: "Navigation route management"
          operations:
            - method: GET
              name: get-active-route
              description: "Get active navigation route with ETA"
              call: "visteon-phoenix.get-active-route"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: start-navigation
              description: "Start navigation to a destination"
              call: "visteon-phoenix.start-navigation"
              with:
                destination: "rest.destination"
                avoidTolls: "rest.avoidTolls"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: cancel-navigation
              description: "Cancel the active navigation route"
              call: "visteon-phoenix.cancel-navigation"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/navigation/search
          name: poi-search
          description: "Points of interest search"
          operations:
            - method: GET
              name: search-poi
              description: "Search points of interest near vehicle"
              call: "visteon-phoenix.search-poi"
              with:
                query: "rest.query"
                lat: "rest.lat"
                lon: "rest.lon"
                radius: "rest.radius"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/screen/displays
          name: displays
          description: "Cockpit display management"
          operations:
            - method: GET
              name: list-displays
              description: "List all cockpit display screens"
              call: "visteon-phoenix.list-displays"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: visteon-cockpit-mcp
      transport: http
      description: "MCP server for AI-assisted automotive cockpit control and telemetry."
      tools:
        - name: get-vehicle-data
          description: "Get real-time vehicle telemetry including speed, fuel level, odometer, and HVAC settings"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.get-vehicle-data"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-audio-status
          description: "Get current audio system playback status and active source"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.get-audio-status"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-volume
          description: "Get current volume level and mute state"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.get-volume"
          outputParameters:
            - type: object
              mapping: "$."
        - name: set-volume
          description: "Set the master audio volume level"
          hints:
            readOnly: false
            idempotent: true
          call: "visteon-phoenix.set-volume"
          with:
            level: "tools.level"
            mute: "tools.mute"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-audio-sources
          description: "List all available audio input sources (FM, AM, Bluetooth, USB, aux)"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.list-audio-sources"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-phone-status
          description: "Get Bluetooth phone connection status and active call information"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.get-phone-status"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-calls
          description: "List active and on-hold phone calls"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.list-calls"
          outputParameters:
            - type: object
              mapping: "$."
        - name: make-call
          description: "Initiate an outgoing phone call from the vehicle"
          hints:
            readOnly: false
            idempotent: false
          call: "visteon-phoenix.make-call"
          with:
            number: "tools.number"
          outputParameters:
            - type: object
              mapping: "$."
        - name: browse-media-library
          description: "Browse music, video, and photo media from connected devices"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.browse-media-library"
          with:
            type: "tools.type"
            offset: "tools.offset"
            limit: "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-now-playing
          description: "Get currently playing media track with artist, album, and duration"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.get-now-playing"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-active-route
          description: "Get the active navigation route with ETA and remaining distance"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.get-active-route"
          outputParameters:
            - type: object
              mapping: "$."
        - name: start-navigation
          description: "Start turn-by-turn navigation to a specified destination"
          hints:
            readOnly: false
            idempotent: false
          call: "visteon-phoenix.start-navigation"
          with:
            destination: "tools.destination"
            avoidTolls: "tools.avoidTolls"
          outputParameters:
            - type: object
              mapping: "$."
        - name: cancel-navigation
          description: "Cancel the currently active navigation route"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "visteon-phoenix.cancel-navigation"
          outputParameters:
            - type: object
              mapping: "$."
        - name: search-poi
          description: "Search for points of interest near the vehicle location"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.search-poi"
          with:
            query: "tools.query"
            lat: "tools.lat"
            lon: "tools.lon"
            radius: "tools.radius"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-displays
          description: "List all cockpit display screens and their configuration"
          hints:
            readOnly: true
            idempotent: true
          call: "visteon-phoenix.list-displays"
          outputParameters:
            - type: object
              mapping: "$."