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
ykeys/
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:
- Asegúrese de que el archivo
.env
no esté incluido - Compruebe que no haya claves privadas comprometidas
- Verifique que el archivo
.gitignore
esté configurado correctamente
Inicio rápido
- Clonar el repositorio
- Instalar dependencias
- Configurar variables de entorno Cree un archivo
.env
en el directorio raíz: - Obtén un token de actualización (si no tienes uno)
- Registra tu aplicación con la API de TeslaSiga las instrucciones proporcionadas por el script.
- Construir el servidor
- Ejecutar el servidor
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:
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.
- Toma
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
- Cree el directorio de configuración de Claude:
- Crear o editar el archivo de configuración:
- Agregue la siguiente configuración (ajuste la ruta según sea necesario):
- Haga que el script run-mcp.js sea ejecutable:
- 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 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
Licencia
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
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.
- Características
- Requisitos
- Mejores prácticas de seguridad
- Inicio rápido
- Autenticación y registro
- Herramientas MCP disponibles
- Configuración de Claude para utilizar el servidor MCP
- Usando el servidor MCP con Claude
- Solución de problemas
- Herramientas de línea de comandos
- Limitaciones de la API
- Mejoras futuras
- Licencia
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to interact directly with Home Assistant, allowing them to query device states, control smart home entities, and perform automation tasks.Last updated -15PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to interact with Zulip workspaces, supporting capabilities such as posting messages, listing channels, sending direct messages, and accessing conversation history.Last updated -JavaScriptApache 2.0
- -securityFlicense-qualityA Model Context Protocol server that connects AI assistants like Claude to Notion workspaces, enabling them to view, search, create, and update Notion databases, pages, and content blocks.Last updated -275JavaScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Bluesky/ATProtocol, providing authentication, timeline access, post creation, and social features like likes and follows.Last updated -1810TypeScript