The mcp-teslamate-fleet server combines TeslaMate historical analytics with Tesla Fleet API live data and remote commands, providing comprehensive monitoring and control of your Tesla vehicle through MCP-compatible clients (Claude Code, Claude Desktop, Cursor, etc.).
Status & History (via TeslaMate)
tesla_status— Current battery, range, location, climate, and odometertesla_drives— Recent drives with distance, duration, efficiency, and locationstesla_charging_history— Charging sessions with energy added, duration, and locationtesla_battery_health— Battery degradation trends over timetesla_efficiency— Energy consumption trends (Wh/mi)tesla_location_history/tesla_top_destinations— Location history and most-visited placestesla_state_history— Vehicle state transitions (online/asleep/offline)tesla_software_updates— Firmware version history
Analytics (via TeslaMate)
tesla_savings— Gas savings vs. an equivalent gas vehicletesla_trip_cost— Estimated cost and range feasibility for a destinationtesla_efficiency_by_temp— How temperature affects energy consumptiontesla_charging_by_location— Charging patterns and costs by locationtesla_longest_trips— Longest road trips ranked by distancetesla_monthly_summary— Monthly miles, kWh, cost, and efficiencytesla_vampire_drain— Overnight battery loss while parked
Live Data (via Fleet API)
tesla_live— Real-time battery, charging, climate, locks, and Sentry Mode status
Remote Commands (via Fleet API)
Climate:
tesla_climate_on/off,tesla_set_tempCharging:
tesla_charge_start/stop,tesla_set_charge_limit(50–100%)Security:
tesla_lock/tesla_unlock(unlock requires confirmation)Alerts:
tesla_honk,tesla_flashtesla_trunk— Open/close trunk or frunk (requires confirmation)tesla_sentry— Enable/disable Sentry Mode
Commands are rate-limited to 40 per day for safety. The server requires a TeslaMate Postgres database for historical tools and Tesla Fleet API OAuth tokens for live data and commands.
Combines TeslaMate historical analytics with Tesla Fleet API live data and commands, allowing for monitoring vehicle status, analyzing driving/charging history, and executing remote commands like climate control and charging management.
TeslaMate + Fleet API MCP Server
MCP server combining TeslaMate historical analytics with Fleet API live data and commands. Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.
The first MCP server to bring both data sources together — use TeslaMate for deep analytics and Fleet API for real-time control, or configure just one.
Features
29 tools across four categories:
Category | Tools | Backend |
Status & History |
| TeslaMate |
Analytics |
| TeslaMate |
Live Data |
| Fleet API |
Commands |
| Fleet API |
Safety: unlock and trunk commands require confirm=True. All commands are rate-limited to 40/day.
Quick Start
Claude Code (.mcp.json)
{
"mcpServers": {
"tesla": {
"command": "uvx",
"args": ["--from", "git+https://github.com/lodordev/mcp-teslamate-fleet", "mcp-teslamate-fleet"],
"env": {
"TESLAMATE_DB_HOST": "localhost",
"TESLAMATE_DB_PASS": "your_password",
"TESLA_VIN": "your_vin",
"TESLA_TOKEN_FILE": "/path/to/tokens.json",
"TESLA_CLIENT_ID": "your_client_id",
"TESLA_CLIENT_SECRET": "your_client_secret",
"TESLA_PROXY_URL": "https://localhost:4443",
"TESLA_VERIFY_SSL": "false"
}
}
}
}Claude Desktop (claude_desktop_config.json)
Same structure — add under mcpServers.
Local install
git clone https://github.com/lodordev/mcp-teslamate-fleet
cd tesla-mcp
pip install -e .Prerequisites
You need at least one of these backends configured. Both is ideal.
TeslaMate (analytics + history)
TeslaMate is an open-source Tesla data logger. It records driving, charging, and vehicle state to a Postgres database.
If you already run TeslaMate, you just need the database connection details. If not, see the TeslaMate installation guide.
Fleet API (live data + commands)
Tesla's Fleet API provides real-time vehicle data and remote commands. Setup requires:
Register an app at developer.tesla.com
Generate OAuth tokens — use Tesla's token generation flow
Set up the HTTP proxy — commands must be signed using the Tesla Vehicle Command Protocol. Deploy the
tesla-http-proxyfrom that repo
The proxy is only needed for commands (tesla_climate_on, tesla_lock, etc.). tesla_live works with just a token.
Tesla provides a $10/month free credit for Fleet API, which is more than enough for personal MCP use.
Configuration
All configuration is via environment variables.
TeslaMate Database
Variable | Default | Description |
| (required) | Postgres host |
|
| Postgres port |
|
| Postgres user |
| (required) | Postgres password |
|
| Database name |
Fleet API
Variable | Default | Description |
| (required) | Vehicle VIN |
| (required) | Path to |
| Fleet API client ID (for token refresh) | |
| Fleet API client secret (for token refresh) | |
| HTTP proxy URL for commands | |
| NA region | Fleet API endpoint (regional options) |
|
| Set |
Vehicle Configuration
Variable | Default | Description |
|
| TeslaMate car ID (for multi-car instances) |
|
| Usable battery capacity in kWh |
|
| EPA range at 100% in km |
Energy consumption is estimated from ideal range deltas using these values. Adjust for your vehicle:
Vehicle | Battery (kWh) | Range (km) |
Model 3 Standard Range | 54 | 350 |
Model 3 Long Range | 75 | 500 |
Model Y Long Range | 75 | 525 |
Model S Long Range | 100 | 650 |
Model X Long Range | 100 | 560 |
Cost Defaults
These are defaults — tesla_savings and tesla_trip_cost accept per-call overrides.
Variable | Default | Description |
|
| Electricity cost in $/kWh |
|
| Gas price in $/gallon (for comparison) |
|
| Comparable gas vehicle MPG |
Architecture
Single-file Python server (~1400 lines) using FastMCP. Two data paths:
┌─────────────┐ ┌──────────────┐
│ TeslaMate │────▶│ Postgres │──┐
│ (logger) │ │ (telemetry) │ │
└─────────────┘ └──────────────┘ │ ┌───────────┐ ┌────────────┐
├──▶│ tesla.py │────▶│ MCP Client │
┌─────────────┐ ┌──────────────┐ │ │ (server) │ │ (Claude, │
│ Tesla │────▶│ HTTP Proxy │──┘ └───────────┘ │ Cursor) │
│ Fleet API │ │ (commands) │ └────────────┘
└─────────────┘ └──────────────┘Limitations
Single vehicle — queries use a configurable
car_idbut tools don't accept it as a parameter. Multi-car users should run separate server instances.Imperial units — output is in miles, °F, and PSI. Metric support is planned.
Estimated kWh — TeslaMate's
drivestable doesn't include energy consumed directly. We estimate from ideal range deltas using your configured battery capacity. Accuracy is ~90-95%.
Credits
Inspired by cobanov/teslamate-mcp. Built with FastMCP and TeslaMate.
License
MIT