Solo lectura sobre BMW CarData: mantenimiento, neumaticos y bateria de 12V. No afiliado a BMW AG.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Servidor MCP local, de solo lectura, sobre la API BMW CarData de un BMW X1 sDrive18i (U11, gasolina, España).
Proyecto no afiliado a BMW AG. "BMW" y "CarData" son marcas de sus respectivos propietarios. Este proyecto no está respaldado, patrocinado ni revisado por BMW.
Le da a un asistente acceso a los datos de mantenimiento del coche — kilometraje, avisos CBS, presiones de neumáticos, baterÃa de 12 V — sin que pueda tocar nada del vehÃculo, y sin agotar la cuota diaria de la API.
Le preguntas al asistente "¿qué le toca al coche?" y contesta con esto. Es una respuesta real, de la lectura del 16 de septiembre de 2026, recortada:
FÃjate en lo que hace esa respuesta además de dar números: avisa de que la cifra global esconde lo urgente, traduce "1.600 km" a una fecha, admite que dos cifras de BMW no cuadran en vez de elegir una, y dice de cuándo es el dato más viejo que ha usado.
SÃ:
No, y no lo hará:
get_software_version: ese descriptor no existe en el catálogo de
BMW. Lo único disponible es puStep, el paso de actualización de producto.La API REST de CarData está limitada a 50 peticiones cada 24 h y por cuenta.
Pasarse devuelve 403 CU-429 hasta el dÃa siguiente, y el contador es de BMW:
incluye cualquier otra aplicación que use la misma cuenta.
Por eso:
search_descriptors y get_api_quota no gastan cuota nunca.Consulta get_api_quota antes de encadenar llamadas.
| Dato | TTL |
|---|---|
/telematicData (contenedor de mantenimiento) | 12 h |
/smartMaintenanceTyreDiagnosis | 7 dÃas |
/basicData | 30 dÃas |
/mappings | 30 dÃas |
La app te enseña el estado de hoy. Esto guarda cada lectura, asà que puede comparar. Cuatro cosas concretas que salen de ahÃ, todas vistas en este coche:
PENDING a
1.900 km, serviceDistance.next marcaba 13.560. Quedarse con ese número
habrÃa escondido lo único urgente, asà que toda partida que BMW no marque
OK sale con un aviso propio.Y lo que no aporta, para que no haya malentendidos:
-NA- son tres cosas distintas, y las herramientas las distinguen en vez de
enseñar un cero. De los 42 descriptores del contenedor, en la última lectura
llegaron 28 con valor y 14 vacÃos.| Herramienta | Gasta cuota | Estado |
|---|---|---|
search_descriptors(query, limit, include_electric) | no | funciona |
get_api_quota() | no | funciona |
list_vehicles() | sà (1/mes con caché) | funciona |
get_vehicle_basic_data() | sà (1/mes con caché) | funciona |
report_product_update_step() | sà (comparte caché con basicData) | funciona, pero este vehÃculo no devuelve puStep |
get_telematic_data() | sà (2/dÃa con caché) | funciona |
get_vehicle_status() | sà (comparte caché) | funciona |
get_tyre_diagnosis() | sà (1/semana con caché) | funciona, pero este vehÃculo devuelve la estructura vacÃa |
get_maintenance_summary() | sà (compuesta) | funciona |
diagnose_software_update() | sà (compuesta, comparte caché) | funciona, con veredicto acotado |
get_fuel_status() | sà (comparte caché) | funciona |
get_fault_memory() | sà (comparte caché) | funciona; no traduce los códigos |
Las dos herramientas marcadas con una reserva funcionan y declaran la
ausencia: no rellenan el hueco con ceros ni con un valor plausible. puStep
no llega en /basicData para este coche, y el diagnóstico de neumáticos vuelve
con etiquetas y ceros de relleno que no son medidas.
get_vehicle_status() y get_maintenance_summary() muestran también los avisos
Check Control, y añaden una lÃnea OJO cuando alguna partida CBS deja de
estar en OK. La cifra global de próximo servicio no basta: con los frenos
delanteros en PENDING a 1.900 km, marcaba 13.560.
get_maintenance_summary() añade además, sin gastar peticiones, una
previsión en semanas y fechas y la tendencia de presiones por eje. Las dos salen
del histórico local, y el porqué de cada una está en
Por qué esto y no la app oficial. La
previsión usa la media semanal de BMW o la del histórico, la mayor de las dos,
para no quedarse corta, y avisa cuando una partida vence antes por kilómetros
que por fecha.
Dos herramientas más con datos que la app oficial no enseña:
get_fuel_status(): depósito y autonomÃa, los repostajes que detecta en
el histórico y el consumo real desde el último. Solo da el consumo a partir de
300 km, y siempre con su margen, porque el aforador puede desviarse hasta 6 L.
Muestra también el consumo homologado (OBFCM), pero como lo que es: una cifra
de por vida que en este coche no se mueve desde octubre de 2024, no el consumo
de hoy.get_fault_memory(): la memoria de averÃas que el coche guarda para el
taller, agrupada por centralita, y qué códigos aparecen o desaparecen entre
lecturas. No traduce ningún código: su significado no está en el catálogo
de BMW, y darlo serÃa inventarlo.No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/pitwall-mcp)<a href="https://allmcps.com/mcp/pitwall-mcp"><img src="https://allmcps.com/api/badge/pitwall-mcp?style=directory" alt="Pitwall MCP on AllMCPs" /></a>