MCP Server for Tesla Fleet API and Teslamate API
This repository provides a Model Context Protocol server that wraps both the Tesla Fleet API and the TeslaMate API. It includes vehicle endpoints, vehicle commands, energy endpoints (Powerwall/Solar), and charging endpoints. The implementation is modular and fully featured, exposing 98 MCP tools for the Tesla Fleet API and 9 MCP tools for the TeslaMate API.
This isn't just remote control — it's a conversational interface to your entire Tesla ecosystem. Express your use cases directly to your AI — describe what you want in plain language and let it figure out which tools to call, in what order, and with what parameters. No app to open, no menu to navigate.
"My Powerwall is at 40%. Should I charge my car now or wait for solar production this afternoon?"
"Analyze my last 30 days of energy data — am I losing money by exporting to the grid while paying to charge at night?"
"Set the Powerwall backup reserve to 20% and schedule the car to charge from 2am to 6am at 16A."
The AI can cross-reference your solar production, Powerwall state, grid rates, and vehicle battery level to give you a recommendation — and act on it immediately.
"I have a road trip to Lyon next Thursday. Based on my usual efficiency, will I need to stop for charging? Find the best Supercharger on the route."
"Compare my energy consumption this month vs last month. What changed?"
"Pre-condition the car at 7:45am every weekday and set the charge limit back to 80% — it's currently at 100% from the trip."
"What's my average km/kWh over the last 3 months? Is it getting worse?"
"Show me my most expensive charging sessions this year and where they happened."
"How many hours per week is the car sitting with climate running? What's the energy cost?"
"Is my car locked and is Sentry mode on? I forgot to check before my flight."
"My car is parked downtown. Turn on Sentry mode and send me the current location."
Available capabilities (98 tools for Tesla Fleet API + 9 for TeslaMate API):
The hosted server supports OAuth 2.0 Single Sign-On via Tesla's official authorization server. Compatible clients (ChatGPT, Claude.ai, VS Code…) trigger an automatic sign-in flow — no token copy-paste required.
MCP server URL: https://mcp.myteslamate.com/mcpThe server proxies the OAuth flow to
auth.tesla.com, then exchanges your Tesla token for a MyTeslaMate token transparently. Your Tesla credentials never touch this server.
ChatGPT supports native MCP connectors via Settings → Apps.
https://mcp.myteslamate.com/mcpTesla) and the MCP server URL:https://mcp.myteslamate.com/mcpNote: OAuth-based SSO requires a MyTeslaMate account. The server validates your Tesla token and links it to your MTM subscription automatically.
Ready-to-use Claude Code skills for this MCP server are available in myteslamate/tesla-skills.
Install the /tesla slash command in one step:
Then in Claude Code:
/tesla what is my battery level?
/tesla lock my car
/tesla how much did I charge last month?No installation required! Use the hosted MCP server directly. Two authentication options:
Simply provide the server URL and let the client handle the OAuth flow automatically (see sections above).
For clients that don't support OAuth, use your MyTeslaMate API token directly in the Authorization header.
Add both endpoints to your .vscode/mcp.json configuration to choose your preferred integration:
{
"servers": {
"tesla": {
"type": "http",
"url": "https://mcp.myteslamate.com/mcp"
}
}
}tesla_fleet_api for direct access to Tesla's official Fleet API.teslamate for integration via TeslaMate API.Add endpoints in the MCP Connector configuration with the same URLs and headers as above.:
claude mcp add --transport http tesla-api "https://mcp.myteslamate.com/mcp"Select the server according to your authentication method and API preference.
If you prefer to run your own instance, this repository also support TeslaMate API and Tesla Fleet API (Requires Tesla Developer Account and proper Fleet API registration).
tesla_mcp with a reusable TeslaClient.GET /api/1/vehicles - List vehiclesGET /api/1/vehicles/{vehicle_tag} - Get vehicle metadataGET /api/1/vehicles/{vehicle_tag}/vehicle_data - Get live vehicle dataPOST /api/1/vehicles/{vehicle_tag}/wake_up - Wake sleeping vehiclePOST /api/1/vehicles/fleet_status - Fleet statusGET /api/1/vehicles/{vehicle_tag}/mobile_enabled - Check mobile accessGET /api/1/vehicles/{vehicle_tag}/nearby_charging_sites - Nearby chargingGET /api/1/vehicles/{vehicle_tag}/service_data - Service dataGET /api/1/vehicles/{vehicle_tag}/release_notes - Firmware release notesGET /api/1/vehicles/{vehicle_tag}/recent_alerts - Recent alertsGET /api/1/dx/vehicles/options?vin={vin} - Vehicle optionsGET /api/1/dx/vehicles/upgrades/eligibility?vin={vin} - Eligible upgradesGET /api/1/dx/vehicles/subscriptions/eligibility?vin={vin} - Eligible subscriptionsGET /api/1/vehicles/{vehicle_tag}/drivers - List allowed drivers (owner only)DELETE /api/1/vehicles/{vehicle_tag}/drivers - Remove driver accessGET /api/1/vehicles/{vehicle_tag}/invitations - List active share invites (paginated)POST /api/1/vehicles/{vehicle_tag}/invitations - Create share invite (24hr expiry, single-use)POST /api/1/invitations/redeem - Redeem share invitePOST /api/1/vehicles/{vehicle_tag}/invitations/{id}/revoke - Revoke share inviteGET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config - Get fleet telemetry configPOST /api/1/vehicles/fleet_telemetry_config - Configure self-hosted fleet-telemetry serverDELETE /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config - Remove fleet telemetry configGET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_errors - Recent fleet telemetry errorsGET /api/1/subscriptions - Get subscriptions for mobile devicePOST /api/1/subscriptions - Set subscriptions for mobile deviceGET /api/1/vehicle_subscriptions - Get vehicle subscriptionsPOST /api/1/vehicle_subscriptions - Set vehicle subscriptionsGET /api/1/dx/warranty/details?vin={vin} - Get warranty informationPOST /api/1/vehicles/{vehicle_tag}/signed_command - Execute signed command (Tesla Vehicle Command Protocol)Configure the Tesla API base URL using the TESLA_BASE_URL environment variable:
# No configuration needed - uses default
# Or explicitly set:
export TESLA_BASE_URL=https://api.myteslamate.comChoose your regional endpoint:
# North America, Asia-Pacific (excluding China)
export TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com
# Europe, Middle East, Africa
export TESLA_BASE_URL=https://fleet-api.prd.eu.vn.cloud.tesla.com
# China
export TESLA_BASE_URL=https://fleet-api.prd.cn.vn.cloud.tesla.cnNote: When using the official Tesla Fleet API, ensure you have:
Install the Python dependencies once:
pip install -r requirements.txtYou can start the server in multiple ways:
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000 --reloadmake uppython server.pyThe server will start using HTTP Streaming on http://0.0.0.0:8084. Connect your MCP-compatible
client (such as Cursor or VS Code with the MCP extension) and configure a server
entry that points to this endpoint.
# 1. Start the server (uses MyTeslaMate API by default)
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000
# 2. Configure your MCP client with:
# URL: http://localhost:8000/sse
# Authorization: Bearer YOUR_MYTESLAMATE_TOKEN# 1. Set your regional endpoint
export TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com
# 2. Start the server
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000
# 3. Configure your MCP client with:
# URL: http://localhost:8000/sse
# Authorization: Bearer YOUR_TESLA_FLEET_TOKEN# Build the image
docker build -t tesla-mcp .
# Run with MyTeslaMate (default)
docker run -p 8000:8000 tesla-mcp
# Run with Tesla Fleet API
docker run -p 8000:8000 -e TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com tesla-mcptesla_mcp/modules/ inheriting from TeslaModule.tesla_mcp/modules/__init__.py.server.py that delegate to the module methods.This structure keeps the MCP layer thin while centralising all Tesla Fleet API
and TeslaMate API logic in the tesla_mcp package.
MyTeslaMate/mcp-tesla
October 10, 2025
April 13, 2026
Python