naftiko: 1.0.0-alpha2 info: label: Tesla Vehicle Monitoring and Control description: Workflow capability for Tesla vehicle monitoring and remote control via the Tesla Owner API. Enables fleet managers, IoT integrations, and personal vehicle owners to monitor battery, climate, location, and physical state, and execute remote commands including wake-up, lock/unlock, climate control, charging management, sentry mode, and charging site discovery. tags: - Tesla - Electric Vehicles - Automobiles - IoT - Smart Vehicles - Remote Commands - Fleet Management created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: TESLA_ACCESS_TOKEN: TESLA_ACCESS_TOKEN capability: consumes: - type: http namespace: tesla baseUri: https://owner-api.teslamotors.com description: Tesla Owner API for vehicle telemetry and remote commands authentication: type: bearer token: '{{TESLA_ACCESS_TOKEN}}' resources: - name: vehicles path: /api/1/vehicles description: List all vehicles in owner account operations: - name: list-vehicles method: GET description: List all owned Tesla vehicles outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vehicle path: /api/1/vehicles/{vehicle_id} description: Get specific vehicle details operations: - name: get-vehicle method: GET description: Retrieve a specific vehicle inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vehicle-data path: /api/1/vehicles/{vehicle_id}/vehicle_data description: Get all vehicle data operations: - name: get-vehicle-data method: GET description: Get all vehicle data including charge, climate, drive, and state inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charge-state path: /api/1/vehicles/{vehicle_id}/data_request/charge_state description: Get battery and charge state operations: - name: get-charge-state method: GET description: Get battery level and charging status inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: climate-state path: /api/1/vehicles/{vehicle_id}/data_request/climate_state description: Get climate and temperature state operations: - name: get-climate-state method: GET description: Get temperature and climate settings inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: drive-state path: /api/1/vehicles/{vehicle_id}/data_request/drive_state description: Get drive and position state operations: - name: get-drive-state method: GET description: Get location, speed, and drive state inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vehicle-state path: /api/1/vehicles/{vehicle_id}/data_request/vehicle_state description: Get physical vehicle state operations: - name: get-vehicle-state method: GET description: Get physical state (doors, windows, trunk) inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: wake-up path: /api/1/vehicles/{vehicle_id}/wake_up description: Wake up vehicle operations: - name: wake-up-vehicle method: POST description: Wake the vehicle from sleep inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: door-unlock path: /api/1/vehicles/{vehicle_id}/command/door_unlock description: Unlock vehicle doors operations: - name: unlock-doors method: POST description: Unlock all vehicle doors inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: door-lock path: /api/1/vehicles/{vehicle_id}/command/door_lock description: Lock vehicle doors operations: - name: lock-doors method: POST description: Lock all vehicle doors inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: climate-start path: /api/1/vehicles/{vehicle_id}/command/auto_conditioning_start description: Start climate control operations: - name: start-climate method: POST description: Start auto conditioning inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: climate-stop path: /api/1/vehicles/{vehicle_id}/command/auto_conditioning_stop description: Stop climate control operations: - name: stop-climate method: POST description: Stop auto conditioning inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charge-start path: /api/1/vehicles/{vehicle_id}/command/charge_start description: Start charging operations: - name: start-charging method: POST description: Start vehicle charging inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charge-stop path: /api/1/vehicles/{vehicle_id}/command/charge_stop description: Stop charging operations: - name: stop-charging method: POST description: Stop vehicle charging inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sentry-mode path: /api/1/vehicles/{vehicle_id}/command/set_sentry_mode description: Control sentry mode operations: - name: set-sentry-mode method: POST description: Enable or disable Sentry Mode inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID body: type: json data: true: '{{tools.on}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: nearby-charging path: /api/1/vehicles/{vehicle_id}/nearby_charging_sites description: Get nearby charging sites operations: - name: get-nearby-charging-sites method: GET description: Get nearby Superchargers and destination chargers inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: tesla-vehicle-api description: Unified REST API for Tesla vehicle monitoring and control. resources: - path: /v1/vehicles name: vehicles description: Vehicle fleet listing operations: - method: GET name: list-vehicles description: List all Tesla vehicles call: tesla.list-vehicles 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 data call: tesla.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 charge state call: tesla.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 operations: - method: GET name: get-climate-state description: Get climate state call: tesla.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 drive state and location call: tesla.get-drive-state with: vehicle_id: rest.vehicle_id outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vehicle_id}/nearby-charging name: nearby-charging description: Nearby charging sites operations: - method: GET name: get-nearby-charging-sites description: Find nearby charging sites call: tesla.get-nearby-charging-sites with: vehicle_id: rest.vehicle_id outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vehicle_id}/commands/wake-up name: wake-up description: Wake vehicle from sleep operations: - method: POST name: wake-up-vehicle description: Wake vehicle call: tesla.wake-up-vehicle with: vehicle_id: rest.vehicle_id outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vehicle_id}/commands/lock name: lock description: Lock doors operations: - method: POST name: lock-doors description: Lock all doors call: tesla.lock-doors with: vehicle_id: rest.vehicle_id outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vehicle_id}/commands/unlock name: unlock description: Unlock doors operations: - method: POST name: unlock-doors description: Unlock all doors call: tesla.unlock-doors with: vehicle_id: rest.vehicle_id outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: tesla-vehicle-mcp transport: http description: MCP server for AI-assisted Tesla vehicle monitoring and control. tools: - name: list-vehicles description: List all Tesla vehicles in the owner account hints: readOnly: true openWorld: true call: tesla.list-vehicles outputParameters: - type: object mapping: $. - name: get-vehicle-data description: Get complete telemetry snapshot for a Tesla vehicle hints: readOnly: true openWorld: false call: tesla.get-vehicle-data with: vehicle_id: tools.vehicle_id outputParameters: - type: object mapping: $. - name: get-charge-state description: Get battery percentage, charging status, and range estimate hints: readOnly: true openWorld: false call: tesla.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 hints: readOnly: true openWorld: false call: tesla.get-climate-state with: vehicle_id: tools.vehicle_id outputParameters: - type: object mapping: $. - name: get-drive-state description: Get vehicle GPS location, heading, and speed hints: readOnly: true openWorld: false call: tesla.get-drive-state with: vehicle_id: tools.vehicle_id outputParameters: - type: object mapping: $. - name: get-vehicle-state description: Get physical state of the vehicle (doors, windows, trunk, odometer) hints: readOnly: true openWorld: false call: tesla.get-vehicle-state with: vehicle_id: tools.vehicle_id outputParameters: - type: object mapping: $. - name: get-nearby-charging-sites description: Find nearby Superchargers and destination chargers with availability hints: readOnly: true openWorld: true call: tesla.get-nearby-charging-sites with: vehicle_id: tools.vehicle_id outputParameters: - type: object mapping: $. - name: wake-up-vehicle description: Wake a sleeping Tesla to enable remote commands hints: readOnly: false destructive: false idempotent: true call: tesla.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.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.unlock-doors with: vehicle_id: tools.vehicle_id outputParameters: - type: object mapping: $. - name: start-climate description: Start climate pre-conditioning (heating/cooling) on a Tesla hints: readOnly: false destructive: false idempotent: true call: tesla.start-climate with: vehicle_id: tools.vehicle_id outputParameters: - type: object mapping: $. - name: stop-climate description: Stop climate control on a Tesla hints: readOnly: false destructive: false idempotent: true call: tesla.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.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.stop-charging 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.set-sentry-mode with: vehicle_id: tools.vehicle_id true: tools.on outputParameters: - type: object mapping: $.