Tesla MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Connects to the Tesla Fleet API to retrieve vehicle information and control Tesla vehicles, providing functionality to wake up vehicles from sleep mode and get detailed vehicle information

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

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 .gitignore excluye .env y keys/ pero siempre verifica dos veces
  • Utilice el verificador de seguridad : ejecute ./check-secrets.sh antes de confirmar para detectar credenciales potencialmente filtradas
  • Proteja 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:

  1. Asegúrese de que el archivo .env no esté incluido
  2. Compruebe que no haya claves privadas comprometidas
  3. Verifique que el archivo .gitignore esté configurado correctamente

Inicio rápido

  1. Clonar el repositorio
    git clone https://github.com/yourusername/tesla-mcp.git cd tesla-mcp
  2. Instalar dependencias
    pnpm install
  3. Configurar variables de entorno Cree un archivo .env en el directorio raíz:
    TESLA_CLIENT_ID=your_client_id TESLA_CLIENT_SECRET=your_client_secret TESLA_REFRESH_TOKEN=your_refresh_token
  4. Obtén un token de actualización (si no tienes uno)
    pnpm get-token
  5. Registra tu aplicación con la API de Tesla
    pnpm register
    Siga las instrucciones proporcionadas por el script.
  6. Construir el servidor
    pnpm build
  7. Ejecutar 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:

  1. Autenticación : obtención de un token de actualización a través del flujo OAuth 2.0
  2. 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:

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)

  1. Instale ngrok desde ngrok.com/download
  2. Crea una cuenta gratuita en ngrok.com
  3. Obtén tu token de autorización desde el panel de ngrok
  4. 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ón
    • Toma vehicle_id como parámetro obligatorio
    • Devuelve el estado actual del vehículo.
  • refresh_vehicles : Actualiza la lista de vehículos Tesla
    • No se requieren parámetros
    • Actualiza el caché interno de los vehículos.
  • debug_vehicles : muestra información detallada sobre los vehículos disponibles
    • No 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

  1. Cree el directorio de configuración de Claude:
    mkdir -p ~/Library/Application\ Support/Claude
  2. Crear o editar el archivo de configuración:
    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
  3. Agregue la siguiente configuración (ajuste la ruta según sea necesario):
    { "mcpServers": { "tesla-mcp-server": { "command": "/absolute/path/to/tesla-mcp/run-mcp.js" } } }
  4. Haga que el script run-mcp.js sea ejecutable:
    chmod +x run-mcp.js
  5. Reiniciar 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 .env contenga credenciales válidas
  • Ejecute pnpm get-token para 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_vehicles para obtener información detallada sobre sus vehículos
  • Verifique 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 TypeScript
  • pnpm start : ejecuta el servidor usando el script run-mcp.js
  • pnpm register : Registra tu aplicación con la API de Tesla
  • pnpm get-token : obtiene un token de actualización de Tesla
  • pnpm test-api : prueba tu conexión a la API de Tesla
  • pnpm 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

Licencia

Licencia MIT

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor de protocolo de contexto de modelo que se conecta a la API de Tesla Fleet, lo que permite a los asistentes de IA como Claude controlar vehículos Tesla y acceder a la información del vehículo a través de comandos de lenguaje natural.

  1. Features
    1. Requirements
      1. Security Best Practices
        1. Quick Start
          1. Authentication & Registration
            1. Authentication
            2. Registration
          2. Available MCP Tools
            1. Setting Up Claude to Use the MCP Server
              1. Using the MCP Server with Claude
                1. Troubleshooting
                  1. Environment Variables
                  2. Server Connection
                  3. Vehicle Connectivity
                  4. Debug Mode
                2. Command Line Tools
                  1. API Limitations
                    1. Future Enhancements
                      1. License
                        ID: t0ako8h64j