tesla-fleet-mcp
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 |
| Vehículos de la cuenta |
| Estado económico ( |
| Datos en vivo. Facturables. Predeterminado = carga completa (sin filtro |
| Puntos de carga cercanos |
| Despertar del sueño |
| Requiere proxy de comandos |
| Requiere proxy de comandos |
| 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 ;.
Related MCP server: mcp-teslamate-fleet
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.pemPOST /api/1/partner_accountsde socio en cada región que usesMé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 |
| sí | ID de cliente de la aplicación de desarrollador |
| sí | Secreto de la aplicación de desarrollador |
| sí | Debe coincidir con la redirección permitida de la aplicación (p. ej. |
| sí | URL base de Fleet para tu región (ejemplo UE en |
| no | Ruta de caché de tokens (predeterminado: |
| no |
|
| no | Vehículo predeterminado si las herramientas omiten |
| no | Origen del proxy, p. ej. |
| 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)
Crea la aplicación de desarrollador de Tesla. Tipo de concesión: código de autorización y máquina a máquina.
Origen permitido:
https://your.domain. Redirección permitida:https://your.domain/callback.Ámbitos que necesites, típicamente:
openid,offline_access,vehicle_device_data, másvehicle_cmds/vehicle_charging_cmds/vehicle_locationsi usas esas herramientas.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.pemAloja solo la clave pública en:
https://your.domain/.well-known/appspecific/com.tesla.3p.public-key.pem
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>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.shrun.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.
Ejecuta
tesla-http-proxycon tu clave privada, TLS, solo localhost.Vincula la llave virtual (app de Tesla, coche en línea):
https://tesla.com/_ak/your.domainDefine
TESLA_COMMAND_BASE=https://127.0.0.1:4443(yNODE_EXTRA_CA_CERTSsi el certificado del proxy es autofirmado).
No publiques el proxy en internet.
Desarrollo
npm test
npx tsc --noEmitLicencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server wrapping the Tesla Fleet API and TeslaMate API
Control your Tesla - wake it, warm it up, unlock and more. Get your developer token at https://Infoseek.ai/mcp. Also requires your own Tesla developer token which is tied to your car/fleet.
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Ovanek MCP: Model Context Protocol server for Ovanek platform tools; writes are dry-run by default.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn 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
- AlicenseBqualityDmaintenanceMCP server combining TeslaMate historical analytics with Fleet API live data and commands. Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.292MIT
- AlicenseAqualityAmaintenanceLocal MCP server for Hey.com email - read, search, send, reply, and manage the screener via stored session cookies. Runs over stdio, stores no credentials.3713MIT
- AlicenseBqualityDmaintenanceProduction-ready TypeScript MCP server exposing utility, GitHub, and Microsoft Teams tools over stdio.141MIT