Skip to main content
Glama

tesla-fleet-mcp

Minimaler stdio MCP für die Tesla Fleet API. TypeScript. Ein Prozess, Geheimnisse über Umgebungsvariablen, keine zusätzlichen Dienste für Lesen/Aufwecken.

Die Befehle (Klima, Laden, Verriegeln) benötigen den offiziellen tesla-http-proxy von Tesla sowie einen virtuellen Schlüssel im Fahrzeug. Dieser Proxy ist hier nicht enthalten.

Hermes-Servername: tesla-fleet. Die Tools erscheinen als mcp__tesla_fleet__*.

Tools

Tool

Hinweise

vehicles_list

Fahrzeuge des Kontos

vehicle_get

Günstiger Status (online / asleep / offline)

vehicle_data

Live-Daten. Abrechenbar. Standard = vollständige Nutzlast (kein endpoints-Filter). Optionale endpoints-Liste; Tesla erwartet ; (Kommas werden von diesem MCP akzeptiert und umgeschrieben). location_data für GPS

nearby_chargers

Nahegelegene Ladestationen

wake_up

Aus dem Schlaf aufwecken

climate_start / climate_stop / set_temps

Benötigt Befehlsproxy

charge_start / charge_stop / set_charge_limit

Benötigt Befehlsproxy

door_lock / door_unlock

Benötigt Befehlsproxy

vehicle_data nicht pollen. Tesla rechnet pro Aufruf ab. Prüfen Sie zuerst vehicle_get.

Eine kommagetrennte endpoints-Abfrage liefert nur Metadaten (kein charge_state). Dieser Server schreibt Kommas in ; um.

Related MCP server: mcp-teslamate-fleet

Anforderungen

  • Node 20+

  • Eine Tesla-Entwicklungsanwendung (Dashboard)

  • Ein HTTPS-Hostname, der Ihnen gehört (darf das Wort tesla nicht enthalten)

  • Öffentlicher Schlüssel unter https://<your-domain>/.well-known/appspecific/com.tesla.3p.public-key.pem

  • Partner-POST /api/1/partner_accounts in jeder Region, die Sie nutzen

  • Zahlungsmethode + Abrechnungskonto (Fleet API ist Pay-as-you-go; ~10 $/Monat Guthaben)

Umgebung

Kopieren Sie env.example und richten Sie TESLA_CACHE_PATH auf eine 0600-Datei außerhalb von git.

Variable

Erforderlich

Bedeutung

TESLA_CLIENT_ID

ja

Client-ID der Entwicklungsanwendung

TESLA_CLIENT_SECRET

ja

Geheimnis der Entwicklungsanwendung

TESLA_REDIRECT_URI

ja

Muss mit dem erlaubten Redirect der App übereinstimmen (z. B. https://your.domain/callback)

TESLA_AUDIENCE

ja

Fleet-Basis-URL für Ihre Region (EU-Beispiel in env.example)

TESLA_CACHE_PATH

nein

Pfad für den Token-Cache (Standard: ./token-cache.json)

TESLA_REGION

nein

eu (Standard) oder na

TESLA_VIN

nein

Standardfahrzeug, wenn Tools vin weglassen

TESLA_COMMAND_BASE

nein

Proxy-Ursprung, z. B. https://127.0.0.1:4443

NODE_EXTRA_CA_CERTS

nein

Proxy-TLS-CA, wenn Sie ein selbstsigniertes Localhost-Zertifikat verwenden

Committen Sie niemals Geheimnisse. Fügen Sie niemals Refresh-Tokens oder Client-Secrets in den Chat ein.

Einrichtung (einmalig)

  1. Erstellen Sie die Tesla-Entwicklungsanwendung. Grant-Typ: Autorisierungscode und Maschine-zu-Maschine.

  2. Erlaubter Ursprung: https://your.domain. Erlaubter Redirect: https://your.domain/callback.

  3. Scopes, die Sie benötigen, in der Regel: openid, offline_access, vehicle_device_data, plus vehicle_cmds / vehicle_charging_cmds / vehicle_location, wenn Sie diese Tools verwenden.

  4. Generieren Sie ein P-256-Schlüsselpaar:

openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem
openssl ec -in private-key.pem -pubout -out public-key.pem

Hostieren Sie nur den öffentlichen Schlüssel unter:

https://your.domain/.well-known/appspecific/com.tesla.3p.public-key.pem

  1. Registrieren Sie das Partnerkonto (EU-Beispiel):

# partner token
curl -s --data-urlencode grant_type=client_credentials \
  --data-urlencode client_id="$TESLA_CLIENT_ID" \
  --data-urlencode client_secret="$TESLA_CLIENT_SECRET" \
  --data-urlencode audience="$TESLA_AUDIENCE" \
  --data-urlencode scope='openid vehicle_device_data vehicle_cmds' \
  https://fleet-auth.prd.vn.cloud.tesla.com/oauth2/v3/token

# then POST {"domain":"your.domain"} to $TESLA_AUDIENCE/api/1/partner_accounts
# with Authorization: Bearer <partner access_token>
  1. Benutzeranmeldung (Besitzer des Fahrzeugs):

set -a && source .env && set +a
npm install
npm run login
# open the printed URL, approve, paste the full https://your.domain/callback?code=... URL:
npm run login -- "https://your.domain/callback?code=...."

Der Callback-Host muss nur den Browser-Treffer akzeptieren; diese CLI liest die URL, die Sie einfügen. Eine leere Seite ist in Ordnung.

Hermes

# example wrapper: source your env file, then tsx
hermes mcp add tesla-fleet --command /path/to/tesla-fleet-mcp/run.sh

run.sh lädt .env aus dem Repository-Verzeichnis oder $TESLA_ENV, falls gesetzt. Starten Sie den Hermes-Prozess/Gateway nach dem Hinzufügen neu. Aktivieren/deaktivieren Sie Tools im Client (tools.include / exclude), nicht mit zusätzlichen Server-Flags.

Befehle (optional)

Model 3 / Y und neuere S/X erfordern das Vehicle Command Protocol. Unsignedierte Fleet-Befehlsaufrufe werden abgelehnt.

  1. Führen Sie tesla-http-proxy mit Ihrem privaten Schlüssel, TLS, nur localhost aus.

  2. Koppeln Sie den virtuellen Schlüssel (Tesla-App, Fahrzeug online): https://tesla.com/_ak/your.domain

  3. Setzen Sie TESLA_COMMAND_BASE=https://127.0.0.1:4443 (und NODE_EXTRA_CA_CERTS, wenn das Proxy-Zertifikat selbstsigniert ist).

Veröffentlichen Sie den Proxy nicht im Internet.

Entwicklung

npm test
npx tsc --noEmit

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that connects to the Tesla Fleet API, allowing users to control vehicles and retrieve real-time status updates through Claude and other AI assistants. It supports functions such as waking up vehicles, viewing detailed vehicle information, and debugging via both stdio and HTTP/SSE transports.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    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.
    29
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Local MCP server for Hey.com email - read, search, send, reply, and manage the screener via stored session cookies. Runs over stdio, stores no credentials.
    37
    13
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Production-ready TypeScript MCP server exposing utility, GitHub, and Microsoft Teams tools over stdio.
    14
    1
    MIT