Car Dealer Tracker MCP
Acceso de solo lectura MCP al inventario, ganancias, gastos, ventas, deudas y efectivo de un concesionario de autos usados.
Servidor MCP alojado
npx add-mcp 'https://mcp.cardealertracker.app/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Tu lote dentro de ChatGPT, Claude o Gemini — no un chatbot añadido al sitio web.
Úsalo cuando ya gestiones el lote en Car Dealer Tracker y quieras que el asistente responda con tus números y luego haga un cambio confirmado sin abrir la aplicación.
El agente puede (disponible hoy)
- Leer unidades en stock, capital invertido, días promedio en inventario y la retención más larga.
- Buscar un vehículo por marca, modelo, VIN, número de stock o estado.
- Resumir ingresos, ganancias y gastos de un período, y listar ventas, deudas y efectivo.
- Preparar una actualización confirmada de vehículo o gasto una vez que las escrituras controladas lleguen a tu cuenta (consulta la nota de despliegue de escrituras abajo).
El agente no puede
- Cerrar una venta, cambiar el costo de compra o marcar un vehículo como vendido — eso permanece en el flujo de ventas de la aplicación.
- Crear, editar o eliminar deudas, pagos, cuentas financieras, recibos o totales calculados de informes.
- Conectarse en el plan gratuito, ni con una sesión de invitado / anónima.
- Omitir permisos de equipo, ver otro concesionario o aplicar un cambio sin tu confirmación.
- Aplicar una escritura hoy: las escrituras controladas se están desplegando gradualmente tras la validación de seguridad y aún no están habilitadas para la mayoría de las cuentas.
Diseñado para concesionarios que ya viven en el chat.
Los mismos números que confías en la aplicación — antigüedad del inventario, ganancia real, efectivo, deudas — más ediciones confirmadas de vehículos y gastos en el asistente que ya usas.
Vista previa, luego confirmas
Cada escritura muestra el registro exacto y los valores antes/después. Nada se aplica hasta que digas sí a esa vista previa.
Solo tu concesionario
Inicia sesión con la cuenta de Car Dealer Tracker. Los tokens están vinculados a tu usuario y organización.
Desconexión con un toque
Cada conexión aparece en Cuenta → Integraciones de IA. Revócala allí y el asistente pierde el acceso.
Restringido a Pro
Las conexiones de IA son parte de Dealer Pro. Mejora en la aplicación o en la página de precios, y luego conéctate.
Añade el plugin de Car Dealer Tracker a ChatGPT, Claude o Gemini.
La misma URL MCP alimenta los plugins de ChatGPT, Claude y Gemini, además de Cursor y Claude Code. Después de añadirlo, inicia sesión con el correo y la contraseña de la aplicación y toca Permitir.
- Abre Plugins en la barra lateral de ChatGPT (chatgpt.com/plugins) y busca Car Dealer Tracker.
- Añade Car Dealer Tracker, luego inicia sesión con tu correo y contraseña de concesionario, Google o Apple.
- Toca Permitir y activa el plugin en el chat. ChatGPT ahora puede leer el lote. Las actualizaciones confirmadas de vehículos y gastos llegan con el despliegue de escrituras controladas.
- Si tu plan o espacio de trabajo no muestra plugins, elige Configuración → Aplicaciones y conectores → Crear y pega la URL MCP en su lugar.
https://mcp.cardealertracker.app/mcp
- En Claude: Configuración → Conectores. Añade Car Dealer Tracker si aparece listado, o Añadir conector personalizado y pega la URL MCP.
- Guarda, luego Conectar e inicia sesión.
- En Claude Code, ejecuta el comando a la derecha y completa el inicio de sesión en el navegador cuando se te solicite.
claude mcp add --transport http car-dealer-tracker https://mcp.cardealertracker.app/mcp
- Abre Configuración de Cursor → MCP.
- Añade un nuevo servidor con el JSON a la derecha.
- Reinicia Cursor si es necesario y completa el inicio de sesión de Car Dealer Tracker en el navegador.
{
"mcpServers": {
"car-dealer-tracker": {
"url": "https://mcp.cardealertracker.app/mcp"
}
}
}
- Añade Car Dealer Tracker si Gemini lista el plugin, o añade un servidor MCP personalizado y pega la misma URL.
- Completa el inicio de sesión de Car Dealer Tracker y toca Permitir.
- Haz preguntas de inventario y ganancias, o solicita un cambio confirmado de vehículo o gasto, en ese chat de Gemini o Gem.
https://mcp.cardealertracker.app/mcp
Lee el lote en vivo. Las escrituras esperan una vista previa y tu sí explícito.
Las lecturas son en vivo desde tu concesionario. Las escrituras controladas (vista previa, tu confirmación, luego aplicar) están en un despliegue controlado tras la validación de seguridad — cuando tu cuenta las reciba, cada escritura aún muestra primero los valores exactos antes/después. Si un permiso en la aplicación oculta costo o ganancia a un rol de equipo, MCP respeta las mismas reglas. Ventas, deudas, cuentas y pagos permanecen en la aplicación.
get_inventory_summary
Conteos por estado, capital en stock, días promedio y más largos en inventario, y tasa de venta a 90 días.
list_vehicles
Busca en el lote por marca, modelo, VIN, número de stock o estado. Más recientes primero.
get_vehicle
Un vehículo por UUID exacto, incluido updated_at, antes de un cambio confirmado.
get_profit_summary
Ingresos, ganancias y gastos de los últimos 30/90/180 días, este mes, este año o un rango personalizado.
list_sales
Ventas recientes de vehículos con monto, ganancia (si está permitido) y el nombre del vehículo. Solo lectura.
list_expenses
Gastos de reacondicionamiento y operativos, más recientes primero, filtrables por categoría y fecha.
get_expense
Un gasto por UUID exacto, incluido updated_at, antes de un cambio confirmado.
list_debts
Cuentas por pagar y por cobrar con saldo restante, fechas de vencimiento y banderas de morosidad. Solo lectura.
get_accounts_overview
Saldos de efectivo y cuentas financieras agrupados por tipo de cuenta. Solo lectura.
preview_vehicle_update / apply_vehicle_update
Despliegue controlado: actualiza campos de vehículo en lista blanca después de confirmar el antes/después exacto. No puede marcar un vehículo como vendido.
preview_expense_create / apply_expense_create
Despliegue controlado: añade un gasto después de confirmar el monto, la fecha, la categoría y el vehículo. Sin vinculación de cuenta ni recibos.
preview_expense_update / apply_expense_update
Despliegue controlado: edita un gasto no vinculado después de confirmar el antes/después. Los gastos vinculados a cuentas permanecen en la aplicación.
preview_expense_delete / apply_expense_delete
Despliegue controlado: elimina suavemente un gasto no vinculado después de confirmar el registro exacto.
Endpoint, herramientas, errores y límites.
Para desarrolladores y revisores de conectores. Esto describe el servidor de producción en mcp.cardealertracker.app a partir del 6 de octubre de 2026. Las nueve herramientas públicas son de solo lectura.
Conexión
Endpoint
https://mcp.cardealertracker.app/mcp
Transporte
MCP Streamable HTTP: JSON-RPC 2.0 sobre POST, mensajes individuales o por lotes. Versiones de protocolo 2025-06-18 (predeterminada), 2025-03-26 y 2024-11-05.
Autorización
Código de autorización OAuth 2.1 con PKCE (S256). Descubrimiento en /.well-known/oauth-protected-resource y /.well-known/oauth-authorization-server en mcp.cardealertracker.app. Registro dinámico de clientes en /register; autenticación de endpoint de token none o client_secret_post.
Alcance
dealer:read. El alcance dealer:write pertenece al despliegue de escrituras controladas y se emite solo a concesionarios habilitados en él.
Tokens
Token de acceso: 1 hora. Token de actualización: 30 días, reemplazado en cada actualización. Revocación en /revoke.
Inicio de sesión
Correo y contraseña de Car Dealer Tracker, Google o Apple. Las cuentas de invitado no pueden conectarse.
Cuenta
El usuario debe pertenecer a un concesionario con un plan Dealer Pro activo. La membresía se verifica en cada solicitud; un cambio de plan tiene efecto en aproximadamente un minuto.
Herramientas
Cada herramienta devuelve un objeto JSON. Sin período o desde, get_profit_summary, list_sales y list_expenses cubren los últimos 90 días.
Permiso de equipo
view_inventory
Entradas
- estado: cadena, opcional. owned, on_sale, available, reserved, in_transit, under_service o sold
- búsqueda: cadena, opcional. Marca, modelo, VIN o número de stock, hasta 80 caracteres
- límite: entero 1–100, predeterminado 50
Devuelve
count y vehicles[], más recientes primero: id, inventory_id (número de stock), name, trim, year, vin, mileage, status, exterior_color, purchase_date, purchase_price, asking_price, sale_price, sale_date, days_in_stock.
Permiso de equipo
view_inventory
Entradas
- vehicle_id: UUID, obligatorio
Devuelve
vehicle: id, updated_at, inventory_id, vin, make, model, trim, engine, exterior_color, year, mileage, status, notes, asking_price, retail_value, wholesale_value, purchase_price, purchase_date.
Permiso de equipo
view_inventory
Entradas
Ninguna
Devuelve
total_vehicles, active_inventory, by_status, capital_invested_in_active_inventory, average_days_in_stock, longest_days_in_stock, sold_last_90_days, average_days_to_sell_last_90_days. Cuenta los 2,000 registros de vehículos más recientes.
Permiso de equipo
view_financials
Entradas
- período: last_30_days, last_90_days, last_180_days, this_month, this_year o all
- desde, hasta: AAAA-MM-DD, opcional. desde anula el período; hasta se predetermina a hoy
Devuelve
period, from, to, sales_count, vehicle_sales_count, part_sales_count, total_revenue, vehicle_revenue, part_revenue, part_profit, total_profit, vehicle_profit, average_profit_per_sale, best_sale, worst_sale, total_expenses.
Permiso de equipo
view_financials
Entradas
- desde, hasta: AAAA-MM-DD, opcional
- límite: entero 1–200, predeterminado 50
Devuelve
count y sales[], más recientes primero: id, date, amount, profit, vehicle, buyer_name, notes.
Permiso de equipo
view_expenses
Entradas
- categoría: cadena, opcional, coincidencia parcial hasta 60 caracteres
- desde, hasta: AAAA-MM-DD, opcional
- límite: entero 1–200, predeterminado 50
Devuelve
count y expenses[], más recientes primero: id, date, amount, category, description, vehicle_id.
Permiso de equipo
view_expenses
Entradas
- expense_id: UUID, obligatorio
Devuelve
expense: id, updated_at, amount, date, description, category, expense_type, vehicle_id.
Permiso de equipo
view_financials
Entradas
- unpaid_only: booleano, predeterminado true
- límite: entero 1–200, predeterminado 100
Devuelve
count, total_payable_remaining, total_receivable_remaining, overdue_count y debts[] por fecha de vencimiento: id, counterparty, direction, amount, remaining, paid, due_date, overdue, notes.
Permiso de equipo
view_financials
Entradas
Ninguna
Devuelve
count, total_balance, balance_by_type y accounts[]: id, type, balance. Hasta 200 cuentas.
Herramientas de escritura (despliegue controlado)
- Las ocho herramientas preview_* y apply_* no están en tools/list para conexiones públicas. Aparecen solo cuando el concesionario está habilitado en el despliegue controlado y la conexión aprobó dealer:write.
- Las herramientas preview_* no cambian nada. Devuelven el registro exacto, valores antes/después, advertencias y un token de vista previa válido por 10 minutos.
- Las herramientas apply_* son escrituras. Necesitan el token de vista previa sin modificar y una clave de idempotencia de 8–128 caracteres, y el asistente debe obtener una nueva confirmación explícita del usuario primero. apply_vehicle_update, apply_expense_update y apply_expense_delete están marcadas como destructivas; eliminar un gasto es una eliminación suave.
- Ninguna herramienta procesa pagos, envía mensajes o mueve dinero.
Errores
Los errores HTTP se devuelven antes de que se ejecute cualquier herramienta. Una herramienta fallida devuelve un resultado JSON-RPC normal con isError: true y un mensaje corto.
401 invalid_token
El token de acceso falta, expiró, fue revocado o se emitió para otro recurso. WWW-Authenticate apunta a los metadatos del recurso protegido: actualiza el token o inicia sesión nuevamente.
403 access_revoked
El usuario ya no pertenece al concesionario.
403 pro_required
El concesionario no tiene un plan Dealer Pro activo.
503 pro_check_unavailable
La verificación del plan no está disponible temporalmente. Reintenta más tarde.
400 · -32700 / -32600
El cuerpo no es JSON, o no es una solicitud JSON-RPC.
-32601
Método JSON-RPC desconocido.
permission_denied: <permission>
El rol de equipo del usuario no permite estos datos: view_inventory, view_expenses o view_financials.
vehicle_id_must_be_a_uuid · expense_id_must_be_a_uuid
El ID no es un UUID. Encuéntralo con list_vehicles o list_expenses primero.
vehicle_not_found · expense_not_found
No existe tal registro en este concesionario. Los registros de otros concesionarios se informan de la misma manera.
vehicle_lookup_failed · expense_lookup_failed
Error temporal de base de datos. Reintenta.
Unknown tool: <name>
La herramienta no está disponible para esta conexión.
Los campos que el rol del usuario no puede ver se omiten del resultado, no se establecen en cero: costo de compra y capital (view_vehicle_cost), ganancia (view_vehicle_profit, view_part_profit) y totales de gastos (view_expenses).
Límites de tasa
Vistas de página de autorización
60 por hora
Intentos de inicio de sesión con correo y contraseña
20 por hora
Intentos de inicio de sesión con Google o Apple
20 por hora
Solicitudes de token (/token)
60 por minuto
Revocación (/revoke)
60 por minuto
Los límites se cuentan por dirección de red del cliente. Al superar un límite, el servidor responde 429; si el límite no se puede verificar, responde 503 y no deja pasar nada. Las llamadas de herramientas en /mcp no tienen cuota separada; cada resultado está limitado por su parámetro de límite.
Convenciones de datos
- Los montos son números en la moneda local del concesionario, redondeados a dos decimales. El servidor no convierte monedas.
- Las fechas tienen formato AAAA-MM-DD. Los conteos de días y los períodos predefinidos usan UTC.
- Los resultados se devuelven tanto como structuredContent como texto JSON en content.
- Cada herramienta declara readOnlyHint, destructiveHint, idempotentHint y openWorldHint: false, y su alcance OAuth en securitySchemes.
- Las herramientas de lectura nunca modifican los registros del concesionario. Una solicitud solo actualiza la hora del último uso de la conexión.
Copia un prompt. Pégalo en el chat conectado.
Estos prompts le indican al agente qué herramientas llamar y cómo responder, como un vendedor de autos usados con experiencia, no como un chatbot genérico.
Informe del lote
Abre el día con existencias, antigüedad y efectivo en una sola respuesta.
You are connected to Car Dealer Tracker over MCP. Do not guess numbers.
Give me this morning's dealership briefing:
1. Call get_inventory_summary. Report units in stock, capital invested, average days in stock, and the longest hold.
2. Call list_vehicles with status owned (or available/on_sale if that is how my lot is tagged) limited to 20. Flag anything over 40 days.
3. Call get_accounts_overview and list_debts with unpaid_only true. Note overdue items.
4. Answer in a tight dealer briefing: what needs a price cut, what is healthy, and what cash pressure exists today.
Diagnóstico de inventario envejecido
Encuentra autos que están inmovilizando dinero y qué hacer con ellos.
Using Car Dealer Tracker MCP tools only:
Call get_inventory_summary, then list_vehicles with a high limit.
Identify the slowest units (longest days in stock / held). For each, state make, model, year if present, days held, and a recommended action: keep, cut price, wholesale, or recon-check.
Do not invent asking prices. If a field is missing, say so. End with the three cars that most need a decision this week.
El P&L real de este mes
Ingresos, ganancias y gastos, no una historia de precios de venta.
Using Car Dealer Tracker MCP:
Call get_profit_summary for this_month and last_30_days.
Call list_sales for this month and list_expenses for this month.
Summarize: revenue, expenses, profit, number of deals, and average profit per deal if the data allows.
Call out the best and worst deals by profit. If profit is hidden by my role, say that instead of estimating.
Efectivo, deudas, vencidos
Lo que debemos, lo que nos deben y lo que está atrasado.
Using Car Dealer Tracker MCP:
Call get_accounts_overview and list_debts with unpaid_only true.
Split money we owe vs money owed to us. Flag overdue items with due dates.
Tell me the cash picture in plain dealer language: can I buy another car this week, or should I collect first?
Caza de fugas de gastos
Dónde la reacondicionamiento y los gastos generales están comiendo el margen.
Using Car Dealer Tracker MCP:
Call list_expenses for last_30_days (use from/to as YYYY-MM-DD for the last 30 days) with a high limit, and get_profit_summary for last_30_days.
Group spend by category. Point at the three categories that moved the most money.
If a vehicle is attached to a large expense, name it. Suggest one cost to question this week. Do not invent receipts.
Qué impulsar hoy
Una lista corta para el piso de ventas.
Using Car Dealer Tracker MCP:
Call get_inventory_summary and list_vehicles for on_sale and owned/available stock.
Build a sales-floor list of 5 vehicles to push today. Prefer aging units and anything that has been sitting.
For each: why this one, who it might fit (body style / likely buyer if the record supports it), and one talking point from the record.
If data is thin, say so. Do not invent buyers or prices.
Velocidad de ventas
Qué tan rápido estamos vendiendo autos ahora mismo.
Using Car Dealer Tracker MCP:
Call get_inventory_summary and list_sales for last_90_days with a high limit.
Report units sold, average days-to-sell if present, and whether the last 30 days looks faster or slower than the 90-day picture.
Name the last five sales. Keep it numeric and honest.
Informe semanal del propietario
Una página que un propietario pueda leer el domingo por la noche.
Using Car Dealer Tracker MCP, write a one-page weekly owner report.
Call get_inventory_summary, get_profit_summary for last_30_days, list_sales (last 14 days), list_expenses (last 14 days), get_accounts_overview, and list_debts unpaid_only.
Structure:
- Stock: units, capital, aging risk
- Profit: last 30 days
- Cash & debts
- Three decisions for next week
No filler. If a tool errors, report the error instead of filling gaps.
Un vehículo, historia completa
Pega un VIN, número de stock o "BMW 320".
Using Car Dealer Tracker MCP, look up this vehicle: [PASTE VIN, STOCK NUMBER, OR YEAR/MAKE/MODEL]
Call list_vehicles with that search string.
If you find it, tell me status, days held if present, and any linked economics you are allowed to see.
Then call list_expenses filtered to the same period if useful, and list_sales if it is sold.
Give me the complete story of this unit in 10 lines or fewer.
Cambiar precio de venta
Vista previa primero. Aplica solo después de que digas sí. Disponible una vez que las escrituras controladas lleguen a tu cuenta.
Using Car Dealer Tracker MCP, update this vehicle: [PASTE VIN, STOCK NUMBER, OR YEAR/MAKE/MODEL]
1. Call list_vehicles with that search, then get_vehicle for the exact UUID.
2. Call preview_vehicle_update changing only asking_price to [AMOUNT]. Do not set status to sold. Do not change purchase cost.
3. Show dealership, vehicle ID, and the complete before/after. Wait for my explicit yes.
4. Only then call apply_vehicle_update with the unmodified preview token and a unique idempotency key.
If anything is ambiguous, ask. A preview is not permission to apply.
Pega esto una vez para que el agente instale y use MCP correctamente.
Colócalo en las instrucciones personalizadas de ChatGPT, un Proyecto de Claude, un Gem o una regla de Cursor. Luego agrega la URL del plugin o conector si aún no está conectado.
You are the operations assistant for my used-car dealership.
Connect to Car Dealer Tracker using the MCP server:
https://mcp.cardealertracker.app/mcp
Rules:
- Never invent inventory, prices, profit, expenses, sales, debts, or cash. Call tools first.
- Before every write: fetch the exact record, call the matching preview tool, show dealership, record ID and complete before/after, then wait for my explicit confirmation before apply. A preview is not permission to apply.
- Vehicle updates: allowlisted fields only. Never set status=sold. Never change purchase cost. Sales stay in the app.
- Expenses: create, update, or soft-delete unlinked expenses after confirmation. Do not attach accounts or receipts.
- Sales, debts, accounts, payments, receipts, and calculated totals are read-only.
- If a tool errors or a field is missing, say so. If profit or cost is hidden by my role, do not estimate it.
- Answer like an experienced independent dealer: short, numeric, actionable.
Default tool map:
- Lot health → get_inventory_summary, then list_vehicles
- Money / month → get_profit_summary
- A specific car → list_vehicles, then get_vehicle
- Spend → list_expenses / get_expense
- Deals → list_sales
- What we owe / are owed → list_debts
- Cash → get_accounts_overview
- Change a vehicle → preview_vehicle_update, wait, apply_vehicle_update
- Add/edit/remove an expense → matching preview_expense_* then apply_expense_*
When I say “briefing”, run the morning briefing workflow. When I paste a VIN, look that unit up.
El mismo arrendamiento y permisos que la aplicación.
OAuth, no claves API
Los asistentes se registran dinámicamente e inician sesión con PKCE. Nunca pegas un secreto de larga duración en ChatGPT.
Tokens con hash
Los tokens de acceso y actualización se almacenan como hashes con sal. Los tokens de actualización rotan. Desconectar invalida la conexión.
Vista previa y confirmación explícita
Cada escritura muestra primero el registro exacto y los valores antes/después. Nada se aplica hasta que confirmes esa vista previa exacta. Sigues siendo responsable de revisar y aprobar lo que el asistente propone.
La plataforma sigue siendo responsable de la seguridad
Car Dealer Tracker aplica aislamiento de arrendamiento, autorización, alcances, verificaciones de obsolescencia, idempotencia y auditoría. La responsabilidad sobre cómo se comporta la plataforma en sí no puede transferirse a ti.
Sin acceso anónimo
Las sesiones de invitado/anónimo de la aplicación no pueden conectarse. Usa el correo y la contraseña reales del concesionario.
Revoca en cualquier momento
Cuenta → Integraciones de IA lista cada asistente. Desconectar elimina el acceso de inmediato.
Lo que los concesionarios suelen preguntar.
¿Puede ChatGPT ver mi inventario y ganancias del concesionario?
Sí, en Dealer Pro. Agrega el plugin de ChatGPT o conecta https://mcp.cardealertracker.app/mcp, inicia sesión con tu cuenta de Car Dealer Tracker y pregunta. El asistente lee inventario, ganancias, gastos, ventas, deudas y efectivo en vivo. Configuración: https://cardealertracker.app/mcp/
¿Qué aplicación de concesionario conecta ChatGPT o Claude a datos de lote en vivo?
Car Dealer Tracker. Los concesionarios independientes en Dealer Pro agregan el plugin de ChatGPT, Claude o Gemini, o pegan una URL de MCP en Cursor o Claude Code. El asistente entonces trabaja solo en ese concesionario.
¿Funciona en el plan gratuito?
No. Las conexiones MCP son parte de Dealer Pro. Mejora en la aplicación iOS o Android, o en la página de precios, y luego conecta.
¿Puede el asistente cambiar mis datos?
Las escrituras controladas están en un despliegue controlado después de la validación de seguridad y aún no están habilitadas generalmente. Cuando tu cuenta las reciba, las actualizaciones funcionan solo después de una vista previa de los valores exactos antes/después y tu confirmación explícita, limitadas a campos de vehículos en lista blanca y gastos no vinculados. Ventas, deudas, cuentas, pagos, recibos y costo de compra permanecen en la aplicación. Las sesiones de invitado no pueden conectarse.
¿Qué plan de ChatGPT necesito?
Los plugins y conectores personalizados de ChatGPT dependen del plan y la región de ChatGPT. Si no ves Apps y Conectores, usa Claude, Gemini, Cursor o Claude Code con la misma URL de MCP.
¿Qué pasa si el inicio de sesión falla?
Usa el mismo correo y contraseña que en la aplicación Car Dealer Tracker. La cuenta debe ser propietaria o pertenecer a un concesionario y tener Pro. Restablece la contraseña en la aplicación bajo Configuración → Cuenta si es necesario.
¿Dónde gestiono las conexiones?
En la aplicación iOS o Android: Cuenta → Integraciones de IA. La misma pantalla muestra la URL del conector en vivo y una acción de Desconectar por asistente.