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.

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

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server wrapping the Tesla Fleet API and TeslaMate API

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • Tailscale device, route, DNS, key, user, and ACL management over MCP and CLI.

View all MCP Connectors

Latest Blog Posts

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/supervised-nl/tesla-fleet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server