Tesla Motors · Capability

Tesla Motors Vehicle Management

Unified workflow capability for Tesla electric vehicle management and monitoring. Enables fleet operators, vehicle owners, and IoT integrations to monitor vehicle telemetry (charge, climate, location, physical state), execute remote commands (wake, lock/unlock, climate control, charging), and manage vehicle settings.

Run with Naftiko TeslaElectric VehiclesAutomobilesIoTSmart VehiclesRemote CommandsTelemetry

What You Can Do

GET
List vehicles — List all Tesla vehicles in the account
/v1/vehicles
GET
Get vehicle — Get specific vehicle details
/v1/vehicles/{vehicle_id}
GET
Get vehicle data — Get all vehicle telemetry data
/v1/vehicles/{vehicle_id}/data
GET
Get charge state — Get battery level and charging status
/v1/vehicles/{vehicle_id}/charge-state
GET
Get climate state — Get climate settings and temperatures
/v1/vehicles/{vehicle_id}/climate-state
GET
Get drive state — Get GPS location and driving state
/v1/vehicles/{vehicle_id}/drive-state
POST
Wake up vehicle — Wake the vehicle from sleep mode
/v1/vehicles/{vehicle_id}/wake-up
POST
Lock doors — Lock all vehicle doors
/v1/vehicles/{vehicle_id}/doors/lock
POST
Unlock doors — Unlock all vehicle doors
/v1/vehicles/{vehicle_id}/doors/unlock
POST
Start climate — Start auto conditioning
/v1/vehicles/{vehicle_id}/climate/start
POST
Start charging — Start vehicle charging
/v1/vehicles/{vehicle_id}/charging/start
POST
Stop charging — Stop vehicle charging
/v1/vehicles/{vehicle_id}/charging/stop

MCP Tools

list-vehicles

List all Tesla vehicles in the owner account

read-only
get-vehicle

Get details and status for a specific Tesla vehicle

read-only
get-vehicle-data

Get complete telemetry snapshot for a Tesla vehicle

read-only
get-charge-state

Get battery percentage, charging status, and charge limit for a Tesla

read-only
get-climate-state

Get interior temperature and climate control settings for a Tesla

read-only
get-drive-state

Get GPS location, heading, and speed for a Tesla vehicle

read-only
get-vehicle-state

Get physical state of a Tesla (doors, windows, trunk, odometer)

read-only
wake-up-vehicle

Wake a sleeping Tesla from sleep mode to enable commands

idempotent
lock-doors

Lock all doors on a Tesla vehicle

idempotent
unlock-doors

Unlock all doors on a Tesla vehicle

idempotent
start-climate

Start climate control (pre-conditioning) on a Tesla vehicle

idempotent
stop-climate

Stop climate control on a Tesla vehicle

idempotent
start-charging

Start charging a Tesla vehicle

idempotent
stop-charging

Stop charging a Tesla vehicle

idempotent
flash-lights

Flash Tesla headlights to visually locate the vehicle

honk-horn

Honk the Tesla horn to audibly locate the vehicle

set-sentry-mode

Enable or disable Tesla Sentry Mode for security monitoring

idempotent

APIs Used

tesla-motors

Capability Spec

vehicle-management.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Tesla Motors Vehicle Management"
  description: >-
    Unified workflow capability for Tesla electric vehicle management and monitoring.
    Enables fleet operators, vehicle owners, and IoT integrations to monitor vehicle
    telemetry (charge, climate, location, physical state), execute remote commands
    (wake, lock/unlock, climate control, charging), and manage vehicle settings.
  tags:
    - Tesla
    - Electric Vehicles
    - Automobiles
    - IoT
    - Smart Vehicles
    - Remote Commands
    - Telemetry
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      TESLA_ACCESS_TOKEN: TESLA_ACCESS_TOKEN

capability:
  consumes:
    - import: tesla-motors
      location: ./shared/tesla-motors.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: tesla-vehicle-management-api
      description: "Unified REST API for Tesla vehicle telemetry and remote management."
      resources:
        - path: /v1/vehicles
          name: vehicles
          description: "Vehicle fleet listing"
          operations:
            - method: GET
              name: list-vehicles
              description: "List all Tesla vehicles in the account"
              call: "tesla-motors.list-vehicles"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}
          name: vehicle
          description: "Single vehicle details"
          operations:
            - method: GET
              name: get-vehicle
              description: "Get specific vehicle details"
              call: "tesla-motors.get-vehicle"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/data
          name: vehicle-data
          description: "Full vehicle telemetry"
          operations:
            - method: GET
              name: get-vehicle-data
              description: "Get all vehicle telemetry data"
              call: "tesla-motors.get-vehicle-data"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/charge-state
          name: charge-state
          description: "Battery and charging status"
          operations:
            - method: GET
              name: get-charge-state
              description: "Get battery level and charging status"
              call: "tesla-motors.get-charge-state"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/climate-state
          name: climate-state
          description: "Climate and temperature status"
          operations:
            - method: GET
              name: get-climate-state
              description: "Get climate settings and temperatures"
              call: "tesla-motors.get-climate-state"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/drive-state
          name: drive-state
          description: "Location and driving state"
          operations:
            - method: GET
              name: get-drive-state
              description: "Get GPS location and driving state"
              call: "tesla-motors.get-drive-state"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/wake-up
          name: wake-up
          description: "Wake vehicle from sleep"
          operations:
            - method: POST
              name: wake-up-vehicle
              description: "Wake the vehicle from sleep mode"
              call: "tesla-motors.wake-up-vehicle"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/doors/lock
          name: doors-lock
          description: "Lock vehicle doors"
          operations:
            - method: POST
              name: lock-doors
              description: "Lock all vehicle doors"
              call: "tesla-motors.lock-doors"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/doors/unlock
          name: doors-unlock
          description: "Unlock vehicle doors"
          operations:
            - method: POST
              name: unlock-doors
              description: "Unlock all vehicle doors"
              call: "tesla-motors.unlock-doors"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/climate/start
          name: climate-start
          description: "Start climate control"
          operations:
            - method: POST
              name: start-climate
              description: "Start auto conditioning"
              call: "tesla-motors.start-climate"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/charging/start
          name: charging-start
          description: "Start charging"
          operations:
            - method: POST
              name: start-charging
              description: "Start vehicle charging"
              call: "tesla-motors.start-charging"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vehicles/{vehicle_id}/charging/stop
          name: charging-stop
          description: "Stop charging"
          operations:
            - method: POST
              name: stop-charging
              description: "Stop vehicle charging"
              call: "tesla-motors.stop-charging"
              with:
                vehicle_id: "rest.vehicle_id"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: tesla-vehicle-management-mcp
      transport: http
      description: "MCP server for AI-assisted Tesla vehicle management and monitoring."
      tools:
        - name: list-vehicles
          description: "List all Tesla vehicles in the owner account"
          hints:
            readOnly: true
            openWorld: true
          call: "tesla-motors.list-vehicles"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-vehicle
          description: "Get details and status for a specific Tesla vehicle"
          hints:
            readOnly: true
            openWorld: false
          call: "tesla-motors.get-vehicle"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-vehicle-data
          description: "Get complete telemetry snapshot for a Tesla vehicle"
          hints:
            readOnly: true
            openWorld: false
          call: "tesla-motors.get-vehicle-data"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-charge-state
          description: "Get battery percentage, charging status, and charge limit for a Tesla"
          hints:
            readOnly: true
            openWorld: false
          call: "tesla-motors.get-charge-state"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-climate-state
          description: "Get interior temperature and climate control settings for a Tesla"
          hints:
            readOnly: true
            openWorld: false
          call: "tesla-motors.get-climate-state"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-drive-state
          description: "Get GPS location, heading, and speed for a Tesla vehicle"
          hints:
            readOnly: true
            openWorld: false
          call: "tesla-motors.get-drive-state"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-vehicle-state
          description: "Get physical state of a Tesla (doors, windows, trunk, odometer)"
          hints:
            readOnly: true
            openWorld: false
          call: "tesla-motors.get-vehicle-state"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: wake-up-vehicle
          description: "Wake a sleeping Tesla from sleep mode to enable commands"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.wake-up-vehicle"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: lock-doors
          description: "Lock all doors on a Tesla vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.lock-doors"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: unlock-doors
          description: "Unlock all doors on a Tesla vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.unlock-doors"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: start-climate
          description: "Start climate control (pre-conditioning) on a Tesla vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.start-climate"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: stop-climate
          description: "Stop climate control on a Tesla vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.stop-climate"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: start-charging
          description: "Start charging a Tesla vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.start-charging"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: stop-charging
          description: "Stop charging a Tesla vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.stop-charging"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: flash-lights
          description: "Flash Tesla headlights to visually locate the vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "tesla-motors.flash-lights"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: honk-horn
          description: "Honk the Tesla horn to audibly locate the vehicle"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "tesla-motors.honk-horn"
          with:
            vehicle_id: "tools.vehicle_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: set-sentry-mode
          description: "Enable or disable Tesla Sentry Mode for security monitoring"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "tesla-motors.set-sentry-mode"
          with:
            vehicle_id: "tools.vehicle_id"
            on: "tools.on"
          outputParameters:
            - type: object
              mapping: "$."