Skip to main content
Glama

tesla-fleet-mcp

MCP stdio mínimo para la Fleet API de Tesla. TypeScript. Un solo proceso, secretos basados en variables de entorno, sin demonios adicionales para lectura/activación.

Los comandos (clima, carga, bloqueo) requieren el tesla-http-proxy oficial de Tesla más una llave virtual en el coche. Ese proxy no está incluido aquí.

Nombre del servidor Hermes: tesla-fleet. Las herramientas aparecen como mcp__tesla_fleet__*.

Herramientas

Herramienta

Notas

vehicles_list

Vehículos de la cuenta

vehicle_get

Estado económico (online / asleep / offline)

vehicle_data

Datos en vivo. Facturables. Predeterminado = carga completa (sin filtro endpoints). Lista endpoints opcional; Tesla espera ; (las comas son aceptadas por este MCP y reescritas). location_data para GPS

nearby_chargers

Puntos de carga cercanos

wake_up

Despertar del sueño

climate_start / climate_stop / set_temps

Requiere proxy de comandos

charge_start / charge_stop / set_charge_limit

Requiere proxy de comandos

door_lock / door_unlock

Requiere proxy de comandos

No sondees vehicle_data. Tesla factura por llamada. Comprueba vehicle_get primero.

Una consulta endpoints separada por comas devuelve solo metadatos (sin charge_state). Este servidor reescribe las comas a ;.

Requisitos

  • Node 20+

  • Una aplicación de desarrollador de Tesla (panel)

  • Un nombre de host HTTPS que poseas (no debe contener la palabra tesla)

  • Clave pública en https://<your-domain>/.well-known/appspecific/com.tesla.3p.public-key.pem

  • POST /api/1/partner_accounts de socio en cada región que uses

  • Método de pago + límite de facturación (la Fleet API es de pago por uso; ~$10/mes de crédito)

Entorno

Copia env.example y apunta TESLA_CACHE_PATH a un archivo 0600 fuera de git.

Variable

Requerida

Significado

TESLA_CLIENT_ID

ID de cliente de la aplicación de desarrollador

TESLA_CLIENT_SECRET

Secreto de la aplicación de desarrollador

TESLA_REDIRECT_URI

Debe coincidir con la redirección permitida de la aplicación (p. ej. https://your.domain/callback)

TESLA_AUDIENCE

URL base de Fleet para tu región (ejemplo UE en env.example)

TESLA_CACHE_PATH

no

Ruta de caché de tokens (predeterminado: ./token-cache.json)

TESLA_REGION

no

eu (predeterminado) o na

TESLA_VIN

no

Vehículo predeterminado si las herramientas omiten vin

TESLA_COMMAND_BASE

no

Origen del proxy, p. ej. https://127.0.0.1:4443

NODE_EXTRA_CA_CERTS

no

CA TLS del proxy si usas un certificado localhost autofirmado

Nunca hagas commit de secretos. Nunca pegues tokens de refresco o secretos de cliente en el chat.

Configuración (una vez)

  1. Crea la aplicación de desarrollador de Tesla. Tipo de concesión: código de autorización y máquina a máquina.

  2. Origen permitido: https://your.domain. Redirección permitida: https://your.domain/callback.

  3. Ámbitos que necesites, típicamente: openid, offline_access, vehicle_device_data, más vehicle_cmds / vehicle_charging_cmds / vehicle_location si usas esas herramientas.

  4. Genera un par de claves P-256:

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

Aloja solo la clave pública en:

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

  1. Registra la cuenta de socio (ejemplo UE):

# 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. Inicio de sesión del usuario (propietario del coche):

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=...."

El host de devolución de llamada solo necesita aceptar la visita del navegador; este CLI lee la URL que pegues. Una página en blanco está bien.

Hermes

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

run.sh carga .env en el directorio del repositorio o $TESLA_ENV si está definido. Reinicia el proceso/puerta de enlace de Hermes después de añadirlo. Habilita/deshabilita herramientas en el cliente (tools.include / exclude), no con banderas adicionales del servidor.

Comandos (opcional)

Model 3 / Y y S/X recientes requieren el Protocolo de Comandos de Vehículo. Las llamadas de comandos Fleet sin firmar son rechazadas.

  1. Ejecuta tesla-http-proxy con tu clave privada, TLS, solo localhost.

  2. Vincula la llave virtual (app de Tesla, coche en línea): https://tesla.com/_ak/your.domain

  3. Define TESLA_COMMAND_BASE=https://127.0.0.1:4443 (y NODE_EXTRA_CA_CERTS si el certificado del proxy es autofirmado).

No publiques el proxy en internet.

Desarrollo

npm test
npx tsc --noEmit

Licencia

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