
Mcp Tesla
io.github.jlestelPublished by GitHub account jlestelv1.0.0Updated Oct 24, 2026
MCP server wrapping the Tesla Fleet API and TeslaMate API
Overview
Hosted MCP server that wraps the Tesla Fleet API and TeslaMate API, letting an assistant read vehicle, energy and charging data and send remote vehicle commands
- What you can do
- Read vehicle data: list vehicles, live status, metadata, service data, alerts, warranty and upgrade eligibility, plus drivers and share invitations, fleet telemetry and push subscriptions, and signed commands. Send vehicle commands: lock and unlock, trunk, climate and seats, charging schedules and limits, windows, lights and horn, media, navigation, Sentry and valet mode, speed limits, software updates and remote start. Read and control energy products: Powerwall and solar status, history, backup reserve, operation mode, storm watch and grid import/export settings. Review charging history and invoices, and query TeslaMate data such as drives and efficiency. Build on-demand charts and dash-bo
- When to use it
- Useful when you want to ask about your Tesla in plain language, check battery, charging or Sentry status, compare energy use over time, or issue remote commands such as locking, pre-conditioning or scheduling charging, without opening an app.
- Requirements
- Remote endpoint at mcp.myteslamate.com over streamable HTTP; no local install. OAuth sign-in with a Tesla account is required, and a MyTeslaMate account is needed for SSO. Clients without OAuth can use a MyTeslaMate API token in the Authorization header. Self-hosting needs Python dependencies or Docker, and the official Fleet API needs a Tesla Developer account and Fleet API registration.
Installation
In SourceWeft
- Open Mcp Tesla in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.jlestel%2Fmcp-tesla/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"tesla": {
"type": "http",
"url": "https://mcp.myteslamate.com/mcp"
}
}
}README
Tesla MCP Server: https://mcp.myteslamate.com/mcp
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.
✨ What You Can Do
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.
⚡ Energy Optimization
"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.
🚗 Smart Vehicle Management
"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."
📊 Data & Insights (with TeslaMate API)
"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?"
🔐 Security & Peace of Mind
"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."
🎨 Generative UI — Custom dashboards on demand
Beyond pre-built widgets, the server exposes a Generative UI capability so the AI can build interactive Prefab UI components on the fly to answer with charts, tables and metric cards — not just text.
"Show me a bar chart of my charging cost per location for last month."
"Build a dashboard for this car: current SoC, last 7 drives, and battery health degradation."
"Compare my efficiency this winter vs last summer with two side-by-side metric cards."
The AI uses generative_generate_prefab_ui to author Python code in a sandbox (Pyodide + Deno on the server); the resulting widget is rendered directly in your chat through a Skybridge-mime iframe — no template authoring on your side, no extra round-trip. The companion generative_search_prefab_components lookup tool keeps the LLM honest about component signatures.
It works equally well for Tesla Fleet API and TeslaMate users — the same generative tool is gated by either subscription.
Skills — pre-framed analytical workflows
The server also ships MCP Skills: markdown workflows the LLM reads on demand to chain tools into a coherent answer. The first one available is drive-efficiency-coach:
"Run the drive efficiency coach for the last 30 days and show it as a report."
The skill walks the AI through fetching your TeslaMate drives, computing Wh/km percentiles, identifying outliers, cross-referencing speed/temperature/trip-length, and rendering a Generative UI report (metric cards + outliers table + 1–3 actionable coaching insights anchored in your own numbers).
🤝 Contribute a skill
Skills are the easiest way to extend this server without touching Python. Pull requests welcome — drop a new directory under tesla_mcp/skills/ and SkillsDirectoryProvider picks it up automatically.
A good skill is:
- Specific — answers one concrete question well rather than trying to do everything (e.g. "summarize my charging cost by location for a period" beats "manage my charging").
- Tool-aware — names the exact MCP tools to call (
teslamate_get_car_drives,energy_live_status, …) and the right arguments. - Numerically anchored — the coaching/insights step quotes numbers derived from the user's own data, not generic platitudes.
- Visual when it helps — wraps up with a
generative_generate_prefab_uirender for analytics/reports; plain text for one-shot questions. - Honest about pitfalls — calls out unit ambiguities, data gaps, edge cases the LLM should handle.
Minimal layout:
SKILL.md starts with YAML frontmatter (name, description) followed by the workflow. See drive-efficiency-coach/SKILL.md as a reference.
Ideas waiting for an author:
charging-cost-breakdown— group last month's charges by location, surface cost-per-100kmweekly-tesla-digest— drives + charges + battery snapshot + software updates as a Monday-morning email-style reportrange-anxiety-checker— given a destination, cross-reference SoC, weather, elevation and recent efficiency to call out a stop or reassurehome-charging-window-finder— using TOU settings + recent charge sessions, find the cheapest 4-hour window to plug in tonight
Available capabilities (98 tools for Tesla Fleet API + 9 for TeslaMate API + 2 Generative UI tools + skills):
- Vehicle control: lock/unlock, climate, trunk, windows, lights, horn
- Charging: start/stop, set limits, schedule, charging amps, charge history
- Powerwall & Solar: live status, energy history, backup reserve, storm mode, grid import/export, time-of-use settings
- Navigation: send destinations, find nearby Superchargers
- Security: Sentry mode, valet mode, speed limits, PIN to drive
- Data & analytics: vehicle data, trip history, drive statistics (TeslaMate API)
- Generative UI: on-demand Prefab dashboards (charts, metrics, tables) authored by the AI in a sandboxed Pyodide runtime
- Skills: pre-framed analytical workflows (e.g.
drive-efficiency-coach) the AI reads on demand to chain tools into a coherent answer
🔐 One-Click SSO — Connect with Your Tesla Account
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.
The 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.
🤖 Setup on ChatGPT (Apps / MCP Connector)
ChatGPT supports native MCP connectors via Settings → Apps.
- In chat.openai.com, open Settings → Apps.
- Click Create app.
- Enter the MCP server URL:
- ChatGPT will auto-discover the OAuth metadata and prompt you to Connect.
- Sign in with your Tesla account — the authorization is handled automatically.
- The connector appears in your Enabled apps list and is available in all your chats.
🧠 Setup on Claude.ai (MCP Connector)
- Open claude.ai → Settings → Connectors.
- Click Add custom connector.
- Enter a name (e.g.
Tesla) and the MCP server URL: - Click Add — Claude will auto-discover the OAuth metadata and show a Connect button.
- Click Connect — you'll be redirected to Tesla's login page.
- After authorization, Claude will have access to all Tesla MCP tools.
Note: OAuth-based SSO requires a MyTeslaMate account. The server validates your Tesla token and links it to your MTM subscription automatically.
🤖 Claude Code Skills
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:
🚀 Quick Start - Use Directly in VS Code, Claude Desktop, etc.
No installation required! Use the hosted MCP server directly. Two authentication options:
Option A — SSO (Recommended for Claude.ai & ChatGPT)
Simply provide the server URL and let the client handle the OAuth flow automatically (see sections above).
Option B — Manual Token (VS Code, Cursor, Claude Desktop)
For clients that don't support OAuth, use your MyTeslaMate API token directly in the Authorization header.
For VS Code / Cursor (with MCP Extension) and Other MCP Clients
Add both endpoints to your .vscode/mcp.json configuration to choose your preferred integration:
- Use
tesla_fleet_apifor direct access to Tesla's official Fleet API. - Use
teslamatefor integration via TeslaMate API.
For Claude Desktop
Add endpoints in the MCP Connector configuration with the same URLs and headers as above.:
Select the server according to your authentication method and API preference.
🔑 Getting Your Token (Manual Mode Only)
- Visit MyTeslaMate.com
- Sign in with your Tesla account
- Navigate to the API section in your dashboard
- Copy your personal API token
- Use it in your MCP configuration
🔧 Self-Hosting (Advanced)
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).
Features
- Modular package under
tesla_mcpwith a reusableTeslaClient. - Vehicle endpoints (29 read-only endpoints):
- Core Vehicle Info:
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 subscriptions
- Drivers & Sharing (6 endpoints):
GET /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 invite
- Fleet Telemetry (4 endpoints):
GET /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 errors
- Push Notification Subscriptions (4 endpoints):
GET /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 subscriptions
- Warranty & Signed Commands (2 endpoints):
GET /api/1/dx/warranty/details?vin={vin}- Get warranty informationPOST /api/1/vehicles/{vehicle_tag}/signed_command- Execute signed command (Tesla Vehicle Command Protocol)
- Core Vehicle Info:
- Vehicle commands (64 control endpoints):
- Doors & Access: door_lock, door_unlock, actuate_trunk
- Climate: auto_conditioning_start/stop, set_temps, set_climate_keeper_mode, set_bioweapon_mode, set_cabin_overheat_protection, set_cop_temp, set_preconditioning_max
- Seat & Steering: remote_seat_heater_request, remote_seat_cooler_request, remote_auto_seat_climate_request, remote_steering_wheel_heater_request, remote_steering_wheel_heat_level_request, remote_auto_steering_wheel_heat_climate_request
- Charging: charge_start, charge_stop, charge_port_door_open/close, set_charge_limit, charge_standard, charge_max_range, set_charging_amps, set_scheduled_charging, add/remove_charge_schedule, add/remove_precondition_schedule
- Windows & Sunroof: window_control, sun_roof_control
- Lights & Horn: flash_lights, honk_horn
- Media: adjust_volume, media_toggle_playback, media_next/prev_track, media_next/prev_fav, media_volume_down
- Navigation: navigation_request, navigation_gps_request, navigation_sc_request
- Security: set_sentry_mode, set_valet_mode, reset_valet_pin, speed_limit_set_limit, speed_limit_activate/deactivate/clear_pin, speed_limit_clear_pin_admin, set_pin_to_drive, reset_pin_to_drive_pin, clear_pin_to_drive_admin
- Software: schedule_software_update, cancel_software_update
- Misc: remote_start_drive, trigger_homelink, remote_boombox, set_vehicle_name, guest_mode, erase_user_data
- Energy endpoints (12 endpoints for Powerwall/Solar control):
- Information: energy_products (list all products), energy_site_info (site configuration), energy_live_status (real-time power/energy data)
- History: energy_history (energy measurements over time), energy_backup_history (off-grid events), energy_charge_history (wall connector usage)
- Control: energy_operation (set mode: autonomous/self_consumption), energy_backup (set backup reserve %), energy_off_grid_vehicle_charging_reserve (reserve for EV charging during outage)
- Grid Settings: energy_storm_mode (enable/disable storm watch), energy_grid_import_export (control grid charging/exporting), energy_time_of_use_settings (configure utility rate plans)
- Charging endpoints (3 endpoints for charging history and invoices):
- charging_history (paginated charging history with filters)
- charging_invoice (download PDF invoice for a charging event)
- charging_sessions (session information with pricing and energy data - business accounts only)
- Centralised error handling and basic logging so MCP clients surface useful diagnostics.
Configuration
API Endpoint Configuration
Configure the Tesla API base URL using the TESLA_BASE_URL environment variable:
For MyTeslaMate API (Default)
For Tesla Fleet API (Official)
Choose your regional endpoint:
Note: When using the official Tesla Fleet API, ensure you have:
- A registered Tesla Developer Account
- Proper Fleet API access permissions
- Valid OAuth 2.0 bearer tokens
Installation
Install the Python dependencies once:
Running the MCP server
You can start the server in multiple ways:
Option 1: Using uvicorn (Recommended)
Option 2: Docker compose method
Option 3: Legacy method
The 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.
Usage Examples
Quick Start with MyTeslaMate
Using Tesla Fleet API (Official)
Docker Usage
Adding new modules
- Create a file under
tesla_mcp/modules/inheriting fromTeslaModule. - Register the module in
tesla_mcp/modules/__init__.py. - Expose new MCP tools inside
server.pythat 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.
Source: README.md at commit 224b935
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts