naftiko: 1.0.0-alpha2 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-06' binds: - namespace: env keys: TESLA_ACCESS_TOKEN: TESLA_ACCESS_TOKEN capability: consumes: - type: http namespace: tesla-motors baseUri: https://owner-api.teslamotors.com description: Tesla Motors 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 associated with the 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 details for a specific vehicle operations: - name: get-vehicle method: GET description: Retrieve details for 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 in one call operations: - name: get-vehicle-data method: GET description: Get all vehicle data (charge, climate, drive, state, config) 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 vehicle battery and charge state operations: - name: get-charge-state method: GET description: Get battery level, charging status, and charge settings 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 vehicle climate and temperature state operations: - name: get-climate-state method: GET description: Get current temperature and climate control 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 vehicle driving and GPS position state operations: - name: get-drive-state method: GET description: Get location, speed, and driving 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 (doors, windows, trunk) operations: - name: get-vehicle-state method: GET description: Get physical state including doors, windows, and 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 a sleeping vehicle operations: - name: wake-up-vehicle method: POST description: Wake the vehicle from sleep mode 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 (climate control) 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 (climate control) 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: flash-lights path: /api/1/vehicles/{vehicle_id}/command/flash_lights description: Flash vehicle lights operations: - name: flash-lights method: POST description: Flash the vehicle's headlights inputParameters: - name: vehicle_id in: path type: string required: true description: Vehicle ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: honk-horn path: /api/1/vehicles/{vehicle_id}/command/honk_horn description: Honk vehicle horn operations: - name: honk-horn method: POST description: Honk the vehicle's horn 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: $. 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 true: tools.on outputParameters: - type: object mapping: $.