CarsXE

Una API potente y fácil de usar para datos de vehículos, incluyendo especificaciones, valor de mercado, decodificación de matrículas y más.

Documentación

🚗 Servidor MCP CarsXE

Un servidor modular y extensible del Protocolo de Contexto de Modelos (MCP) para consultar y analizar datos de vehículos de la API de CarsXE, con una salida Markdown hermosa y amigable para chats, pensada para LLMs y chatbots.


ℹ️ ¿Qué es el Servidor MCP CarsXE?

El servidor MCP CarsXE es una aplicación Node.js/TypeScript que expone un conjunto de herramientas para consultar datos completos de vehículos desde la API de CarsXE. Está diseñado para una integración perfecta con LLMs (como Anthropic Claude, OpenAI GPT, etc.), chatbots y herramientas de desarrollo, y ofrece:

  • 🧩 Código limpio y modular para cada endpoint de CarsXE
  • 📝 Salida consistente y rica en Markdown para entornos de chat/LLM
  • 🛡️ Manejo robusto de errores y mensajes fáciles de usar
  • 🔌 Extensibilidad sencilla para nuevos endpoints y funciones

💡 ¿Por qué usar CarsXE con MCP?

Conectar CarsXE a tu editor de IA o cliente de chat mediante MCP te brinda una experiencia de datos de vehículos supercargada, directamente dentro de las herramientas que ya usas:

BeneficioDescripción
Pregunta en lenguaje naturalNo necesitas conocer endpoints ni parámetros de la API — solo describe lo que quieres
Respuestas con contextoLa IA combina datos de vehículos en vivo con tu pregunta para respuestas personalizadas y accionables
Sin cambiar de pestañaObtén especificaciones VIN, historial, retiros y valores sin salir de tu editor o chat
Encadena solicitudes sin esfuerzoDecodifica una placa → obtén especificaciones completas → verifica retiros → obtén el valor de mercado, todo en una conversación
Datos siempre en vivoCada consulta accede a la API de CarsXE en tiempo real — sin caché obsoleta ni resultados desactualizados
Funciona en tu editor favoritoClaude Desktop, Cursor, VS Code, Windsurf y cualquier cliente compatible con MCP

✨ Características

  • 🤖 Usa Anthropic Claude para generar respuestas completas y profesionales basadas en los datos de la API y la consulta del usuario
  • 🚙 Consulta especificaciones, historial, imágenes, retiros, valor de mercado y más
  • 🏷️ Decodifica placas de matrícula y VIN (incluido OCR desde imágenes)
  • 🛠️ Decodifica códigos OBD (diagnóstico a bordo)
  • 🎨 Todos los endpoints devuelven Markdown elegante, agrupado y con emojis
  • 🧑‍💻 Código modular: tipos, lógica de API y formateadores están separados para facilitar el mantenimiento
  • 🧪 Sencillo de ejecutar, probar y ampliar

⚙️ Requisitos previos

Clave de API de CarsXE (obtén una aquí)


🖥️ Instalación por editor

Todos los editores usan el mismo endpoint MCP remoto. Reemplaza YOUR_API_KEY con tu clave real de API de CarsXE en cada configuración a continuación.


Claude Desktop

1️⃣ Descarga e instala Claude Desktop

2️⃣ Configura Claude Desktop para usar el servidor MCP CarsXE

a. Abre la configuración de Claude Desktop

  • Inicia la aplicación Claude Desktop
  • Haz clic en Claude en la barra de menú
  • Selecciona Settings
  • En la ventana de Settings, ve a la pestaña Developer (es posible que debas desplazarte o expandir las opciones avanzadas)
  • Haz clic en Edit Config (o Open Config File)

b. Edita el archivo de configuración

  • Esto abrirá el archivo claude_desktop_config.json en tu editor de texto predeterminado.

  • Localiza la sección "mcpServers". Si no existe, agrégala como se muestra a continuación.

  • Agrega o actualiza la siguiente entrada para CarsXE:

    "mcpServers": {
      "carsxe": {
        "command": "npx",
        "args": [
          "mcp-remote@latest",
          "https://mcp.carsxe.com/mcp",
          "--header",
          "X-API-Key: YOUR_API_KEY"
        ]
      }
    },
    
  • Reemplaza YOUR_API_KEY con tu clave real de API de CarsXE

  • Consejo: Puedes agregar varios servidores MCP en "mcpServers" si usas más de uno.

  • Guarda el archivo de configuración y cierra tu editor.

c. Reinicia Claude Desktop

  • Cierra y vuelve a abrir la aplicación Claude Desktop para aplicar la nueva configuración.

    Puede haber una breve demora para que los cambios surtan efecto.

3️⃣ Verifica que el servidor MCP CarsXE esté disponible

  • Después de reiniciar, abre Claude Desktop.
  • Ve a la sección de herramientas o complementos (generalmente en la barra de búsqueda o en un menú de herramientas).
  • Deberías ver CarsXE listado como servidor/herramienta MCP disponible.
  • Prueba ejecutar una herramienta de CarsXE (por ejemplo, get-vehicle-specs) para verificar que todo funcione.

    Esto solo funcionará si tu clave de API está asociada a una suscripción activa.


Cursor

Instala CarsXE MCP para Cursor

El diálogo de instalación se abrirá precargado con:

CampoValor
NombreCarsXE
TipostreamableHttp
URLhttps://mcp.carsxe.com/mcp
EncabezadoX-API-Key: YOUR_API_KEY

Reemplaza YOUR_API_KEY con tu clave de API de CarsXE real y luego haz clic en Instalar.


Visual Studio Code (GitHub Copilot)

Instala CarsXE MCP para VS Code

Después de hacer clic en instalar, deberás agregar tu clave de API manualmente:

  1. Abre la Paleta de comandos (Ctrl+Shift+P / Cmd+Shift+P)
  2. Ejecuta MCP: List Servers
  3. Busca CarsXE en la lista y haz clic en él
  4. Haz clic en Show Configuration
  5. Reemplaza YOUR_API_KEY con tu clave de API de CarsXE real:
   "CarsXE": {
     "type": "http",
     "url": "https://mcp.carsxe.com/mcp",
     "headers": {
       "X-API-Key": "YOUR_ACTUAL_KEY_HERE"
     }
   }
  1. Guarda el archivo: VS Code se conectará automáticamente.

Nota: Asegúrate de tener la extensión GitHub Copilot instalada y el modo agente habilitado (chat.agent.enabled en la configuración de VS Code).


Windsurf

1️⃣ Abre la configuración de MCP

  • Ve a Windsurf SettingsMCP (o presiona Ctrl+, y busca MCP)
  • Haz clic en "Edit Config" para abrir ~/.codeium/windsurf/mcp_config.json

2️⃣ Agrega el servidor CarsXE

{
  "mcpServers": {
    "carsxe": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://mcp.carsxe.com/mcp",
        "--header",
        "X-API-Key: YOUR_API_KEY"
      ]
    }
  }
}

3️⃣ Reinicia Windsurf

Recarga la ventana o reinicia Windsurf. Abre el panel de chat Cascade: las herramientas de CarsXE aparecerán automáticamente.


Otros editores (manual / genérico)

Para cualquier otro cliente compatible con MCP, registra un servidor MCP remoto usando:

  • Endpoint: https://mcp.carsxe.com/mcp
  • Transporte: HTTP (Streamable HTTP)
  • Encabezado de autenticación: X-API-Key: YOUR_API_KEY

Consulta la documentación de MCP de tu editor para conocer el formato de configuración exacto.


🛠️ Herramientas disponibles y ejemplos de prompts

A continuación se muestra una lista de todas las herramientas disponibles de CarsXE, sus parámetros y ejemplos de prompts. Estos prompts funcionan en cualquier cliente conectado a MCP.

1. get-vehicle-specs 🚙

  • Descripción: Obtén especificaciones completas del vehículo por VIN

  • Parámetros:

    • vin (string, obligatorio): Número de identificación del vehículo de 17 caracteres
  • Ejemplos de prompts:

    ¿Cuáles son las especificaciones completas del VIN WBAFR7C57CC811956?

    ¿Es un V6 o un V8? VIN: WBAFR7C57CC811956

    ¿Qué nivel de acabado tiene WBAFR7C57CC811956?

  • Salida: Especificaciones del vehículo en formato Markdown (año, marca, modelo, motor, dimensiones, colores, equipamiento, etc.)


2. decode-vehicle-plate 🏷️

  • Descripción: Decodifica la placa de un vehículo para obtener el VIN e información básica

  • Parámetros:

    • plate (string, obligatorio): Número de placa
    • state (string, opcional): Abreviatura del estado (p. ej., CA)
    • country (string, obligatorio, predeterminado: US): Código de país
  • Ejemplos de prompts:

    ¿Qué auto tiene la placa 7XER187 en California?

    Decodifica la placa 7XER187 estado CA

    Busca la placa ABC1234 en Texas

  • Salida: Resumen en Markdown de la información del vehículo decodificada (VIN, marca, modelo, año, etc.)


3. international-vin-decoder 🌍

  • Descripción: Decodifica un VIN internacional para obtener información detallada

  • Parámetros:

    • vin (string, obligatorio): VIN de 17 caracteres
  • Ejemplos de prompts:

    Decodifica este VIN europeo: WF0MXXGBWM8R43240

    ¿Qué auto es WAUZZZ8K9AA123456? Es un VIN alemán.

  • Salida: Markdown con detalles internacionales del vehículo (fabricante, especificaciones, emisiones, etc.)


4. get-market-value 💰

  • Descripción: Obtén el valor de mercado estimado de un vehículo por VIN

  • Parámetros:

    • vin (string, obligatorio): VIN de 17 caracteres
    • state (string, opcional): Abreviatura del estado de EE. UU.
    • mileage (number, opcional): Kilometraje actual del vehículo para ajustar el valor de mercado
    • condition (string, opcional): Condición general del vehículo: excellent, clean, average o rough
  • Ejemplos de prompts:

    ¿Cuánto vale WBAFR7C57CC811956?

    Estoy pensando en comprar el VIN WBAFR7C57CC811956: ¿cuál es un precio justo?

    ¿Cuál es el valor de intercambio de WBAFR7C57CC811956 en Florida con 45,000 millas en buen estado?

  • Salida: Markdown con desglose del valor de mercado (venta al por menor, intercambio, MSRP, etc.)


5. get-vehicle-history 🕓

  • Descripción: Obtén un informe completo del historial del vehículo por VIN

  • Parámetros:

    • vin (string, obligatorio): VIN de 17 caracteres
    • format (string, opcional): Formato de respuesta (json o xml)
  • Ejemplos de prompts:

    ¿Ha estado WBAFR7C57CC811956 alguna vez en un accidente?

    Muéstrame el historial completo del VIN WBAFR7C57CC811956

    ¿Cuántos propietarios ha tenido WBAFR7C57CC811956?

  • Salida: Markdown con registros del historial (chatarra/salvamento, seguros, marcas, títulos, odómetro, etc.)


6. get-vehicle-images 🖼️

  • Descripción: Obtén imágenes de vehículos por marca, modelo y filtros

  • Parámetros:

    • make (string, obligatorio)
    • model (string, obligatorio)
    • year, trim, color, transparent, angle, photoType, size, license, format (todos opcionales)
  • Ejemplos de prompts:

    Muéstrame fotos de una Toyota Tacoma 2018 azul

    Obtén imágenes de un Ford Mustang GT 2022 rojo

    ¿Cómo se ve un Tesla Model 3 2020 blanco?

  • Salida: Markdown con hasta 5 imágenes (enlaces, miniaturas, detalles)


7. get-vehicle-recalls 🚨

  • Descripción: Obtén información de retiros (recalls) del vehículo por VIN

  • Parámetros:

    • vin (string, obligatorio): VIN de 17 caracteres
  • Ejemplos de prompts:

    ¿Tiene 1C4JJXR64PW696340 algún retiro abierto?

    Acabo de comprar el VIN 1C4JJXR64PW696340: ¿debería preocuparme por los retiros?

    Verifica retiros de seguridad en WBAFR7C57CC811956

  • Salida: Markdown con detalles del retiro (fecha, descripción, riesgo, remedio, estado, etc.)


8. recognize-plate-image 🏷️

  • Descripción: Reconoce y extrae placas de matrícula de la URL de una imagen de vehículo

  • Parámetros:

    • imageUrl (string, obligatorio): URL directa a una imagen de la placa de un vehículo
  • Ejemplos de prompts:

    ¿Cuál es el número de placa en esta imagen? https://api.carsxe.com/img/apis/plate_recognition.JPG

    Lee la placa de esta foto: [image URL]

  • Salida: Markdown con placas detectadas, puntuaciones de confianza, cuadros delimitadores, tipo de vehículo, etc.


9. vin-ocr 🔍

  • Descripción: Extrae el VIN de una imagen de vehículo usando OCR

  • Parámetros:

    • imageUrl (string, obligatorio): URL directa a una imagen del VIN de un vehículo
  • Ejemplos de prompts:

    Extrae el VIN de esta imagen: https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png

    ¿Cuál es el VIN en esta foto? https://res.cloudinary.com/carsxe/image/upload/q_auto/f_auto/v1713204144/base/images/vin-ocr/vin.jpg

  • Salida: Markdown con VIN detectado, confianza, cuadro delimitador y candidatos


10. get-year-make-model 📅

  • Descripción: Obtén información completa del vehículo por año, marca, modelo y acabado opcional

  • Parámetros:

    • year (string, obligatorio)
    • make (string, obligatorio)
    • model (string, obligatorio)
    • trim (string, opcional)
  • Ejemplos de prompts:

    ¿Cuáles son las especificaciones de una Toyota Camry 2020?

    Cuéntame sobre el acabado Sport del Honda Civic 2019

    ¿Qué colores estaban disponibles en la Ford F-150 2021?

  • Salida: Markdown con detalles del vehículo, colores, características, opciones y paquetes


11. decode-obd-code 🛠️

  • Descripción: Descodificar un código OBD y obtener información de diagnóstico

  • Parámetros:

    • code (cadena, obligatorio): Código OBD (p. ej., P0115)
  • Ejemplos de consultas:

    La luz de revisión del motor está encendida con el código P0115 — ¿qué significa?

    Descodificar el código OBD P0300

    Tengo un código C1234 en el tablero — ¿es grave?

  • Salida: Markdown con código, diagnóstico y fecha


12. get-lien-theft 🔒

  • Descripción: Obtener información sobre gravámenes y robo de un vehículo por VIN

  • Parámetros:

    • vin (cadena, obligatorio): Número de identificación vehicular de 17 caracteres
  • Ejemplos de consultas:

    ¿Hay algún gravamen sobre WBAFR7C57CC811956?

    Estoy comprando un auto usado con VIN WBAFR7C57CC811956 — verifica si está robado

    Verifica que el título esté limpio para WBAFR7C57CC811956

  • Salida: Markdown con información del acreedor prendario, registros de robo, fechas de recuperación y estado


🔗 Encadenamiento de herramientas — Ejemplos para usuarios avanzados

El verdadero poder del MCP de CarsXE proviene de encadenar herramientas en una sola conversación:

Escenario 1 — Debida diligencia previa a la compra:

  1. Descodifica la placa 7XER187 en California

  2. Ahora obtén su historial completo

  3. ¿Tiene algún retiro del mercado pendiente?

  4. ¿Cuánto vale si la compro hoy?

Escenario 2 — Viste un auto en la calle:

  1. Lee la placa de esta imagen: [photo URL]

  2. Busca esa placa en Texas

  3. Muéstrame fotos de ese modelo de auto

Escenario 3 — Mecánico / taller de servicio:

  1. Descodifica este VIN desde la foto del tablero: [image URL]

  2. Obtén sus especificaciones completas

  3. Mi cliente dice que el código de revisión del motor es P0300 — ¿qué significa para este vehículo?


🔐 OAuth 2.1 (conector personalizado de Claude.ai)

El servidor alojado en https://mcp.carsxe.com/mcp admite dos métodos de autenticación:

  1. Clave API (sin cambios) — encabezado X-API-Key, Authorization: Bearer <api-key> o parámetro de consulta ?key=. Utilizado por Claude Desktop / mcp-remote y clientes locales.
  2. OAuth 2.1 — utilizado por clientes MCP alojados, como el conector personalizado de Claude.ai. Al hacer clic en Conectar en Claude.ai se ejecuta un flujo estándar de Código de Autorización + PKCE: registro dinámico de clientes (RFC 7591), inicio de sesión en el navegador en la página de consentimiento de CarsXE y luego intercambio de tokens. Los tokens de acceso (mcp_at_*, 1 h) se asignan a la clave API del usuario de CarsXE; los tokens de actualización (mcp_rt_*, 90 días) se rotan en cada renovación.

Cómo está conectado (solo implementación en GCP)

mcp.carsxe.com es el emisor de OAuth, pero la lógica del servidor de autorización vive en la aplicación web de CarsXE junto a los datos de usuario/clave API:

Ruta en mcp.carsxe.comComportamiento
GET /.well-known/oauth-authorization-serverMetadatos RFC 8414, servidos localmente
GET /.well-known/oauth-protected-resourceMetadatos de recursos MCP, servidos localmente
POST /oauth/registerProxy hacia {OAUTH_WEB_BASE}/api/auth/mcp/register
GET /oauth/authorize302 hacia {OAUTH_WEB_BASE}/mcp-auth (página de consentimiento)
POST /oauth/tokenProxy hacia {OAUTH_WEB_BASE}/api/auth/mcp/token

Los tokens Authorization: Bearer mcp_at_* entrantes en /mcp se resuelven a la clave API del usuario mediante el punto de conexión de introspección interno de la aplicación web y se almacenan en caché en memoria durante 60 s. Las solicitudes sin credenciales reciben 401 con un desafío WWW-Authenticate, que es lo que incita a Claude.ai a iniciar el flujo.

Variables de entorno

VariablePredeterminadoPropósito
OAUTH_ISSUERhttps://mcp.carsxe.comBase del emisor / punto de conexión en los metadatos de descubrimiento
OAUTH_WEB_BASEhttps://api.carsxe.comAplicación web de CarsXE que aloja la lógica de OAuth
MCP_OAUTH_INTERNAL_SECRET(sin definir)Secreto compartido para la introspección de tokens. Debe coincidir con el MCP_OAUTH_INTERNAL_SECRET de la aplicación web. Cuando no está definido, los tokens portadores OAuth se rechazan, pero la autenticación con clave API sigue funcionando.

La implementación de Cloudflare Workers (src/index.ts) no sirve la superficie de OAuth — solo la implementación de GCP Cloud Run (src/index.gcp.ts) detrás de mcp.carsxe.com lo hace.