developer_board MCP for Tesla-aware agents and remote vehicle workflows

Tesla MCP

Connect Tesla account, vehicle, and remote-command workflows to ChatGPT, Claude, Gemini, and internal copilots with a single OAuth-protected MCP.

  • check_circle Vehicle list, battery, range, charging, climate, locks, and location
  • check_circle Remote commands for wake, HVAC, locks, windows, horn, lights, and boombox
  • check_circle Navigation tools for GPS coordinates, Google Place IDs, and multi-stop routes
vehicle_list vehicle_status_overview vehicle_auto_conditioning_start

Typical flow

  1. 1. Resolve the Tesla vehicle id

    Call vehicle_list first when the user has not already selected a vehicle.

  2. 2. Wake the car only when needed

    Use vehicle_wake_up as a prerequisite before command tools when the vehicle may be asleep.

  3. 3. Run the user’s real action

    Continue to a final tool like status, climate, lock, navigation, or boombox instead of stopping at wake-up.

Tools

Tezla exposes a broad but clean Tesla control surface. Every public tool is OAuth-protected and uses real Tesla vehicle identifiers from vehicle_list.

Account + Status

vehicle_list returns the available Tesla vehicles. vehicle_status_overview returns battery, range, charging, location, locks, windows, doors, firmware, and alerts.

Door + Locate

vehicle_door_lock, vehicle_door_unlock, vehicle_flash_lights, and vehicle_honk_horn support common parked-car and access actions.

Climate + Wake

vehicle_wake_up is a prerequisite tool. vehicle_auto_conditioning_start and vehicle_auto_conditioning_stop are the final climate actions.

Windows + Roof

vehicle_window_control supports vent and close. vehicle_sun_roof_control supports sunroof vent and close where Tesla hardware allows it.

Navigation

vehicle_navigation_gps_request, vehicle_navigation_placeid_request, and vehicle_navigation_waypoints_request cover coordinates, Google Place IDs, and multi-stop routes.

Boombox

vehicle_remote_boombox plays an external boombox sound by sound_id on supported Tesla vehicles with external speakers.

Response JSON

The highest-value read path is usually vehicle_status_overview. It returns the runtime state an agent actually needs before deciding whether to wake, warm, navigate, or lock the vehicle.

battery_level + battery_range_mi

Immediate energy and range context for travel planning, charging prompts, and status summaries.

charging_state

Lets the agent distinguish parked, charging, and driving-adjacent states without another lookup.

location

Useful for vehicle visibility, commute planning, and “where is my car?” style interactions.

locked + windows_open + doors_open

State fields that make follow-up command decisions safer and more context-aware.

{
  "battery_level": 68,
  "battery_range_mi": 214.7,
  "charging_state": "Disconnected",
  "odometer_mi": 18241.3,
  "inside_temp_f": 72.1,
  "outside_temp_f": 56.8,
  "locked": true,
  "windows_open": false,
  "doors_open": false,
  "location": {
    "latitude": 47.6097,
    "longitude": -122.3331
  },
  "firmware_version": "2026.8.4",
  "service_alerts": []
}

Quickstart + Code

Most command flows begin by resolving the Tesla vehicle id, then optionally waking the car before running the final tool.

Common command flow

  1. 1. Call vehicle_list if the user has not already selected a vehicle.
  2. 2. Call vehicle_wake_up only if the vehicle may be asleep and the final action is a remote command.
  3. 3. Call the real final tool, such as vehicle_auto_conditioning_start or vehicle_status_overview.
const vehicles = await mcp.callTool("vehicle_list", {
  action: "list-vehicles"
});

const vehicleId = vehicles.vehicles[0].id;

await mcp.callTool("vehicle_wake_up", { vehicle_id: vehicleId });

const status = await mcp.callTool("vehicle_status_overview", {
  action: "get-vehicle-status",
  vehicle_id: vehicleId
});

return {
  battery: status.battery_level,
  range: status.battery_range_mi,
  charging: status.charging_state
};

Access

Tezla is a user-account MCP. Every tool is protected by OAuth and runs against the authenticated Tesla account connected through Infoseek auth.

shield_lock

OAuth Required

All public tools in this MCP declare securitySchemes: oauth2. That is what enables live Tesla account access and remote vehicle actions.

directions_car

User-Scoped Vehicle Access

The MCP is designed for user-authorized vehicle operations, not anonymous or shared developer-token calls.

Why These Outputs Matter

Real Vehicle State

Battery, range, charging, climate, and lock state give an agent enough context to answer most Tesla questions in one turn.

Safer Command Sequencing

The wake-up plus final-command contract helps builders chain remote actions correctly instead of treating wake-up as the user’s end goal.

Vehicle-Scoped Navigation

GPS, Place ID, and waypoint tools let an agent bridge trip planning and the in-car navigation surface without leaving the MCP.

Use Cases

battery_full

Tesla Status Copilots

Build chat experiences that answer battery, range, charging, climate, and parked-car state questions from live Tesla data.

mode_fan

Remote Preconditioning

Trigger wake-up plus HVAC workflows so users can warm or cool the car from natural-language requests.

map

Connected Drive Workflows

Pass route coordinates, Google Place IDs, or waypoint lists directly to the vehicle from a planning assistant or ops workflow.