Tessie MCP Server
Tessie MCP Server
Control and monitor your Tesla from any MCP-compatible AI assistant — including Claude, Cursor, and more.
An MCP (Model Context Protocol) server that bridges AI assistants to the Tessie API, giving you natural-language control of your Tesla vehicle. Ask Claude to check your battery, preheat the cabin, lock the car, or pull charging history — all in plain English.
✨ Features
🔋 Battery & Range — level, estimated range, voltage, temperature, health/degradation
📍 Location — GPS coordinates and street address
🌡️ Climate Control — start/stop, set temperature, seat heat/cool, defrost, Keep/Dog/Camp mode, Bioweapon Defense
🔒 Security — lock/unlock, Sentry Mode, Valet Mode, Guest Mode, Speed Limit Mode
⚡ Charging — start/stop, set charge limit %, set amps, charge port control
🚗 Drive Data — history with distance, energy & speed; GPS path per trip; drive tags
📊 Charge History — sessions with cost tracking
🛻 Trunks & Covers — frunk, rear trunk, Cybertruck tonneau
🪟 Windows & Sunroof — vent or close
💡 Lights & Horn — flash lights, honk
🏠 HomeLink — trigger garage door opener
🔑 Remote Start — keyless driving (2-minute window)
📱 Software Updates — schedule or cancel
😴 Auto-Wake — commands automatically wake a sleeping vehicle before executing
💨 Fun — Boombox fart sounds 🐄
⚡ Quick Start
1. Get a Tessie Account & API Token
Tessie is the service that provides secure API access to your Tesla.
👉 Sign up for Tessie: share.tessie.com/v4Gklbe1U0b
Once signed in, get your API token at: dash.tessie.com/settings/api
2. Install & Build
git clone https://github.com/akrowczyk/tessie-mcp-server.git
cd tessie-mcp-server
npm install
npm run build🔧 Configuration
Environment Variables
Authentication and preferences are configured entirely via environment variables — no secrets ever touch source code.
Variable | Required | Description |
| ✅ Yes | Your Tessie API token |
| Optional | Default VIN when not specified per-call |
| Optional |
|
| Optional |
|
| Optional |
|
Per-call parameters always override the env var defaults.
Claude Desktop
Add this block to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"tessie": {
"command": "node",
"args": ["/absolute/path/to/tessie-mcp-server/dist/index.js"],
"env": {
"TESSIE_API_TOKEN": "your-tessie-api-token",
"TESSIE_DEFAULT_VIN": "your-17-digit-vin",
"TESSIE_DISTANCE_FORMAT": "mi",
"TESSIE_TEMP_FORMAT": "f",
"TESSIE_PRESSURE_FORMAT": "psi"
}
}
}
}Note: Replace
/absolute/path/to/tessie-mcp-serverwith the actual path where you cloned this repo.
After saving, restart Claude Desktop.
Claude Code (CLI)
claude mcp add tessie -- node /absolute/path/to/tessie-mcp-server/dist/index.js
export TESSIE_API_TOKEN="your-tessie-api-token"
export TESSIE_DEFAULT_VIN="your-17-digit-vin"
export TESSIE_DISTANCE_FORMAT="mi"
export TESSIE_TEMP_FORMAT="f"
export TESSIE_PRESSURE_FORMAT="psi"Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"tessie": {
"command": "node",
"args": ["/absolute/path/to/tessie-mcp-server/dist/index.js"],
"env": {
"TESSIE_API_TOKEN": "your-tessie-api-token",
"TESSIE_DEFAULT_VIN": "your-17-digit-vin",
"TESSIE_DISTANCE_FORMAT": "mi",
"TESSIE_TEMP_FORMAT": "f",
"TESSIE_PRESSURE_FORMAT": "psi"
}
}
}
}Windsurf
Open Settings → MCP Servers → Add:
{
"tessie": {
"command": "node",
"args": ["/absolute/path/to/tessie-mcp-server/dist/index.js"],
"env": {
"TESSIE_API_TOKEN": "your-tessie-api-token",
"TESSIE_DEFAULT_VIN": "your-17-digit-vin",
"TESSIE_DISTANCE_FORMAT": "mi",
"TESSIE_TEMP_FORMAT": "f",
"TESSIE_PRESSURE_FORMAT": "psi"
}
}
}Continue.dev
In ~/.continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/tessie-mcp-server/dist/index.js"],
"env": {
"TESSIE_API_TOKEN": "your-tessie-api-token",
"TESSIE_DEFAULT_VIN": "your-17-digit-vin",
"TESSIE_DISTANCE_FORMAT": "mi",
"TESSIE_TEMP_FORMAT": "f",
"TESSIE_PRESSURE_FORMAT": "psi"
}
}
}
]
}
}😴 Auto-Wake
All vehicle commands automatically wake a sleeping vehicle before executing — no need to call wake_vehicle manually first.
If the vehicle is already awake, commands execute instantly with zero added latency
If the vehicle is asleep, the server sends a wake command and polls every 3 seconds until the vehicle is awake (up to 90 seconds), then sends your command
Read-only data tools (
get_battery,get_location, etc.) use cached data by default and do not wake the vehicle
📡 MCP Resources
In addition to tools, this server exposes vehicle data as MCP Resources — structured data that AI clients can read as contextual documents:
URI | Description |
| Fleet overview — all vehicles on the account |
| Full live vehicle state (charge, climate, drive, config) |
| Current awake/asleep status |
Resources are accessible in Claude Desktop and other MCP clients that support the resources protocol.
🛠️ Available Tools
Vehicle Data
Tool | Description |
| List all vehicles on the account |
| Full state — drive, charge, climate, config |
| Check if vehicle is awake/asleep |
| Combined battery + location + state in one call |
| Battery level, range, voltage, temperature |
| Battery degradation over time |
| GPS coordinates and street address |
| Weather at the vehicle's current location |
| All four tire pressures |
| Energy usage since last charge |
| Vehicle firmware alerts |
Drives & Charges
Tool | Description |
| Drive history with distance, energy, speed |
| GPS path for drives |
| Tag drives as business/personal |
| Charging session history |
| Set cost for a charge session |
| Idle periods (parked, not charging) |
Commands (all auto-wake)
Tool | Description |
| Explicitly wake from sleep |
| Door locks |
| Trunk controls |
| Window controls |
| Sunroof controls |
| Cybertruck tonneau cover |
| Lights and horn |
| Garage door opener |
| Keyless driving (2-min window) |
| External speaker fart sound 🐄 |
Climate (all auto-wake)
Tool | Description |
| Climate system |
| Set cabin temp (15–28°C) |
| Seat heating/cooling (0–3) |
| Max defrost mode |
| Steering wheel heater |
| Cabin Overheat Protection |
| Keep / Dog / Camp mode |
| Bioweapon Defense Mode |
Charging (all auto-wake)
Tool | Description |
| Start/stop charging |
| Set charge limit (50–100%) |
| Set charging amperage |
| Charge port door |
Modes (all auto-wake)
Tool | Description |
| Sentry Mode |
| Valet Mode |
| Guest Mode |
| Speed Limit Mode |
Software (all auto-wake)
Tool | Description |
| Schedule a software update |
| Cancel a scheduled update |
💬 Example Prompts
Once configured, try asking your AI assistant:
"How is my Tesla doing right now?" → uses
get_full_status"What's my battery level and estimated range?"
"Where is my car parked right now?"
"Start the climate and set it to 72°F" (auto-wakes if needed)
"Lock the car and turn on Sentry Mode" (auto-wakes if needed)
"Show me my drives from this week"
"Open the frunk"
"What's the tire pressure on all four tires?"
"Set my charge limit to 80%"
"Tag all my drives this month as business"
🔒 Security Notes
Your Tessie API token is passed as an environment variable — never stored in code or config files
The
.gitignorein this repo explicitly excludes.envfilesIf your token has been exposed, rotate it immediately at dash.tessie.com/settings/api
All vehicle commands are authenticated with your personal token — only you can control your vehicle
🛠️ Development
npm install # Install dependencies
npm run build # Compile TypeScript
npm run dev # Watch mode (auto-rebuild on changes)
npm start # Run the compiled serverRequirements: Node.js 18+
🔗 Referrals & Links
If this project is useful to you, consider using these referral links:
Tessie — The vehicle API that powers this server. Sign up here: share.tessie.com/v4Gklbe1U0b
Buying a Tesla? Use my referral code for exclusive deals and rewards: ts.la/andrew80231
📄 License
MIT © 2026 Andrew Krowczyk
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/akrowczyk/tessie-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server