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 ;.
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 installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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