Servidor Tesla MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que se conecta a la API de Tesla Fleet, lo que le permite controlar su vehículo Tesla utilizando Claude y otros asistentes de IA que admiten MCP.
Características
Activar vehículos : Activa tu Tesla del modo de suspensión
Información del vehículo : obtenga información detallada sobre sus vehículos Tesla
Actualizaciones en tiempo real : actualice los datos del vehículo a pedido
Herramientas de depuración : acceda a información detallada del vehículo para ayudar con la resolución de problemas
Related MCP server: Hass-MCP
Requisitos
Node.js 18+
pnpm (preferido) o npm
Cuenta Tesla con al menos un vehículo
Credenciales de la API de Tesla (ID de cliente y secreto de cliente)
Ngrok (para desarrollo y registro)
Mejores prácticas de seguridad
Este proyecto gestiona credenciales confidenciales de la API de Tesla. Siga estas prácticas de seguridad:
Nunca confirmes credenciales : el archivo
.gitignoreexcluye.envykeys/pero siempre verifica dos vecesUtilice el verificador de seguridad : ejecute
./check-secrets.shantes de confirmar para detectar credenciales potencialmente filtradasProteja sus claves privadas : mantenga seguro el contenido del directorio
keys/Revise el código antes de compartirlo : asegúrese de que no haya credenciales codificadas en ningún archivo fuente
Al bifurcar o compartir este proyecto:
Asegúrese de que el archivo
.envno esté incluidoCompruebe que no haya claves privadas comprometidas
Verifique que el archivo
.gitignoreesté configurado correctamente
Inicio rápido
Clonar el repositorio
git clone https://github.com/yourusername/tesla-mcp.git cd tesla-mcpInstalar dependencias
pnpm installConfigurar variables de entorno Cree un archivo
.enven el directorio raíz:TESLA_CLIENT_ID=your_client_id TESLA_CLIENT_SECRET=your_client_secret TESLA_REFRESH_TOKEN=your_refresh_tokenObtén un token de actualización (si no tienes uno)
pnpm get-tokenRegistra tu aplicación con la API de Tesla
pnpm registerSiga las instrucciones proporcionadas por el script.
Construir el servidor
pnpm buildEjecutar el servidor
pnpm start
Autenticación y registro
Este proyecto utiliza el flujo de autenticación oficial OAuth 2.0 de la API de Flota de Tesla para conectarse de forma segura a su cuenta Tesla. El proceso completo consta de dos pasos:
Autenticación : obtención de un token de actualización a través del flujo OAuth 2.0
Registro : Cómo registrar su aplicación con Tesla a través de la API de cuentas de socios
Autenticación
La autenticación requiere:
ID de cliente y secreto de cliente del Portal para desarrolladores de Tesla
Un token de actualización obtenido a través del flujo de código de autorización OAuth 2.0
La utilidad pnpm get-token incluida simplifica este proceso al:
Abrir un navegador para que inicies sesión con las credenciales de tu cuenta Tesla
Ejecución del flujo PKCE (clave de prueba para intercambio de código) de OAuth
Intercambio del código de autorización por tokens de actualización y acceso
Almacenar el token de actualización en su archivo
.env
Registro
La API de Flotas de Tesla requiere que las aplicaciones se registren antes de poder acceder a los datos del vehículo. El servidor de registro ( pnpm register ) automatiza este proceso:
Genera el par de claves EC requerido
Utiliza ngrok para crear una URL pública temporal para el desarrollo
Aloja la clave pública en la ruta requerida
Maneja la llamada API de registro con Tesla
Configuración de Ngrok (necesaria para el registro)
Instale ngrok desde ngrok.com/download
Crea una cuenta gratuita en ngrok.com
Obtén tu token de autorización desde el panel de ngrok
Autenticar ngrok:
ngrok authtoken YOUR_AUTH_TOKEN
Herramientas MCP disponibles
El servidor proporciona las siguientes herramientas que Claude puede utilizar:
wake_up: despierta un vehículo Tesla del modo de suspensiónToma
vehicle_idcomo parámetro obligatorioDevuelve el estado actual del vehículo.
refresh_vehicles: Actualiza la lista de vehículos TeslaNo se requieren parámetros
Actualiza el caché interno de los vehículos.
debug_vehicles: muestra información detallada sobre los vehículos disponiblesNo se requieren parámetros
Devuelve ID, id del vehículo, VIN e información del estado
Configuración de Claude para utilizar el servidor MCP
Cree el directorio de configuración de Claude:
mkdir -p ~/Library/Application\ Support/ClaudeCrear o editar el archivo de configuración:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAgregue la siguiente configuración (ajuste la ruta según sea necesario):
{ "mcpServers": { "tesla-mcp-server": { "command": "/absolute/path/to/tesla-mcp/run-mcp.js" } } }Haga que el script run-mcp.js sea ejecutable:
chmod +x run-mcp.jsReiniciar Claude por completo
Usando el servidor MCP con Claude
Una vez que el servidor esté en funcionamiento y Claude esté configurado, puedes pedirle que:
"¿Qué vehículos Tesla tengo?"
"¿Puedes despertar mi Tesla?"
"Muéstrame información de depuración sobre mis vehículos Tesla"
Solución de problemas
Si encuentra problemas:
Variables de entorno
Asegúrese de que su archivo
.envcontenga credenciales válidasEjecute
pnpm get-tokenpara actualizar su token si es necesario
Conexión al servidor
Compruebe que el servidor esté en ejecución (
pnpm start)Verifique que la configuración de Claude apunte a la ruta de archivo correcta
Conectividad del vehículo
El vehículo podría estar fuera de línea o inactivo
Intente despertar el vehículo primero con el comando
wake_up
Modo de depuración
Utilice el comando
debug_vehiclespara obtener información detallada sobre sus vehículosVerifique los registros del servidor en la terminal donde está ejecutando el servidor MCP
Herramientas de línea de comandos
El servidor incluye varios scripts útiles:
pnpm build: Compilar el código TypeScriptpnpm start: ejecuta el servidor usando el script run-mcp.jspnpm register: Registra tu aplicación con la API de Teslapnpm get-token: obtiene un token de actualización de Teslapnpm test-api: prueba tu conexión a la API de Teslapnpm inspector: ejecuta el servidor con el inspector MCP para depurar
Limitaciones de la API
A partir del 9 de octubre de 2023, Tesla ha descontinuado muchos puntos de comando de vehículos en su API REST. Comandos como tocar la bocina ahora requieren el Protocolo de Comando de Vehículos de Tesla en lugar de la API REST. Este servidor MCP actualmente solo admite puntos de comando de la API REST que siguen funcionando.
Mejoras futuras
Las posibles mejoras futuras incluyen:
Integración con el Protocolo de Comando de Vehículos de Tesla para comandos adicionales
Compatibilidad con más puntos finales de información del vehículo
Interfaz de usuario para configuración y monitorización