
This connects Claude to the Tessie API for Tesla vehicle control and telemetry. You get six tools: roster and state snapshots, battery details, drive history with coordinate paths, and a unified command interface for locks, charging, climate, sentry mode, and cabin overheat protection. Destructive operations require explicit confirmation flags. The developer ships both stdio and streamable HTTP transports, includes live smoke tests against the real API, and caches read requests with short TTLs to keep token usage reasonable. Reach for this when you want an LLM to monitor charging costs, pull trip data, or issue commands without opening the Tesla app.
Personal, self-hosted MCP access to Tessie. It is a Streamable HTTP server at /mcp, designed for one owner and protected by a static bearer token.
.env from .env.example and generate MCP_AUTH_TOKEN with openssl rand -base64 48.docker compose up -d --build.http://127.0.0.1:3000/mcp and header Authorization: Bearer <MCP_AUTH_TOKEN>.TESSIE_API_KEY never leaves the server. Passing vin to get_vehicle selects and persists the default vehicle; later calls can omit it.
list_vehicles, get_vehicle, analyze_history, get_driving_path, and vehicle_command. History analysis defaults to 90 days. Autopilot/FSD values are Tessie's native autopilot_distance and historical autopilot telemetry; they do not uniquely prove FSD usage.
For a temporary URL without a tunnel token, run the app locally then execute cloudflared tunnel --url http://127.0.0.1:3000. For a stable named tunnel, set TUNNEL_TOKEN in .env and run docker compose -f docker-compose.yml -f docker-compose.tunnel.yml up -d.
The app bearer token remains required even behind Cloudflare.
Use examples/nginx.conf; preserve the Authorization header, disable buffering, and use long timeouts.
Use examples/Caddyfile; it forwards headers and supports streaming by default.
curl http://127.0.0.1:3000/healthz verifies liveness. The server has no command-line operation that invokes vehicle commands.