Smartcar MCP Server
Servidor MCP de Smartcar
Un servidor MCP (Model Context Protocol) que expone la API de vehículos de Smartcar como herramientas para agentes de IA. Permite a Claude, ChatGPT y otros clientes compatibles con MCP consultar la telemetría del vehículo y enviar comandos mediante lenguaje natural.
Descripción general
Este servidor envuelve la API M2M (máquina a máquina) de Smartcar utilizando credenciales de cliente OAuth2. Gestiona la adquisición y el almacenamiento en caché de tokens automáticamente, por lo que los agentes de IA interactúan con los vehículos sin necesidad de gestionar la autenticación.
16 herramientas en 4 categorías:
Categoría | Herramientas |
Conexiones |
|
Señales (telemetría) |
|
Comandos del vehículo |
|
Gestión |
|
Related MCP server: agentforge
Uso
No requiere instalación. Añada esto a su claude_desktop_config.json (o configuración equivalente del cliente MCP):
{
"mcpServers": {
"smartcar": {
"command": "npx",
"args": ["-y", "smartcar-mcp"],
"env": {
"SMARTCAR_CLIENT_ID": "your-client-id",
"SMARTCAR_CLIENT_SECRET": "your-client-secret"
}
}
}
}Variables de entorno
Variable | Requerido | Predeterminado | Descripción |
| Sí | — | Su ID de cliente M2M de Smartcar |
| Sí | — | Su secreto de cliente M2M de Smartcar |
| No |
| URL base de la API de vehículos |
| No |
| Punto final del token de autenticación |
| No |
| URL base de la API de gestión |
Desarrollo
git clone https://github.com/thachdoSC/smartcar-mcp-test
cd smartcar-mcp
npm install
npm run dev # run from source
npm run build # compile to dist/Referencia de herramientas
Conexiones
list_connections — Lista las conexiones de vehículos con filtros opcionales.
Parámetro | Tipo | Descripción | |
| string? | Filtrar por ID de usuario | |
| string? | Filtrar por ID de vehículo | |
|
|
| Filtrar por modo de vehículo |
| number? | Número de página | |
| number? | Resultados por página |
get_connection — Obtiene una única conexión por ID.
delete_connection — Elimina una conexión por ID.
delete_user — Elimina un usuario y todos los datos asociados.
Señales (Telemetría)
get_signals — Lista todas las señales disponibles para un vehículo.
Parámetro | Tipo | Descripción |
| string | ID del vehículo |
| string | ID del usuario |
| number? | Número de página |
| number? | Resultados por página |
get_signal — Obtiene el valor actual de una señal específica.
Parámetro | Tipo | Descripción |
| string | ID del vehículo |
| string | ID del usuario |
| string | Código de señal (ver abajo) |
Carga: charge.ischarging, charge.voltage, charge.wattage, charge.amperage, charge.limit, charge.estimation.durationtocompletion, charge.estimation.distance_added, charge.estimation.kwh_added, charge.estimation.percent_added, charge.session.id, charge.session.starttime, charge.session.endtime, charge.session.kwhadded, charge.session.milesadded, charge.session.porttype, charge.session.cost, charge.schedule.type, charge.schedule.starttime, charge.schedule.day, charge.schedule.enabled, charge.porttype, charge.portstatus
Climatización: climate.externaltemperature, climate.internaltemperature
Cierres: closure.door, closure.lock, closure.window, closure.sunroof, closure.fronttrunk, closure.reartrunk, closure.chargeport
Conectividad: connectivity.firmware, connectivity.isonline, connectivity.sleepstate, connectivity.lastseenat
Diagnóstico: diagnostics.faultcodes, diagnostics.oil, diagnostics.emissions, diagnostics.abs, diagnostics.airbag, diagnostics.battery.maintenancestatus, diagnostics.battery.range, diagnostics.battery.soc, diagnostics.brakebooster, diagnostics.brakefluid, diagnostics.collision, diagnostics.coolant, diagnostics.cruisecontrol, diagnostics.enginelight, diagnostics.hazardlights, diagnostics.headlights, diagnostics.park, diagnostics.stabilitycontrol, diagnostics.steeringlock, diagnostics.transmission, diagnostics.washerfluid
HVAC: hvac.cabintemperature, hvac.defroster, hvac.heater, hvac.temperatureset, hvac.ventilation
ICE (Motor de combustión interna): ice.fuel.level, ice.fuel.range, ice.fuel.percentremaining, ice.oillife
Ubicación: location.precise, location.ishome
Batería de bajo voltaje: lowvoltagebattery.stateofcharge, lowvoltagebattery.status
Movimiento: motion.speed
Odómetro: odometer.distance
Servicio: service.isinservice, service.records
Vigilancia: surveillance.brand, surveillance.isenabled
Batería de tracción: tractionbattery.stateofcharge, tractionbattery.range, tractionbattery.heating, tractionbattery.capacity.kwh, tractionbattery.capacity.usableKwh, tractionbattery.limit, tractionbattery.temperature, tractionbattery.chargecompletiontime, tractionbattery.fullchargetime
Transmisión: transmission.drivemode, transmission.gear
ID del vehículo: vehicleid.vin, vehicleid.color, vehicleid.trim, vehicleid.packages, vehicleid.nickname
Cuenta de usuario del vehículo: vehicleuseraccount.grantedpermissions, vehicleuseraccount.role
Ruedas: wheel.style, wheel.tires
Comandos del vehículo
Todas las herramientas de comando requieren vehicle_id y user_id.
lock_vehicle — Bloquea las puertas del vehículo.
unlock_vehicle — Desbloquea las puertas del vehículo.
start_charge — Inicia la carga del vehículo eléctrico.
stop_charge — Detiene la carga del vehículo eléctrico.
set_charge_limit — Establece el nivel máximo de carga.
Parámetro | Tipo | Descripción |
| number | % de carga objetivo (50–100) |
set_navigation_destination — Envía un destino GPS al sistema de navegación del vehículo.
Parámetro | Tipo | Descripción |
| number | Latitud (-90 a 90) |
| number | Longitud (-180 a 180) |
Gestión
list_applications — Lista todas las aplicaciones de Smartcar en su organización.
get_application — Obtiene detalles de una aplicación específica por ID.
list_application_secrets — Lista las credenciales de una aplicación (los valores secretos no se devuelven).
Estructura del proyecto
src/
├── index.ts # Server entry point — wires up tools and transport
├── auth.ts # OAuth2 token manager with in-memory caching
├── client.ts # HTTP client for Smartcar REST APIs
└── tools/
├── connections.ts # Connection and user management tools
├── signals.ts # Vehicle telemetry tools
├── commands.ts # Vehicle control command tools
└── management.ts # Application management toolsAutenticación
El servidor utiliza credenciales de cliente OAuth2 (flujo M2M). Los tokens se almacenan en memoria y se actualizan automáticamente 60 segundos antes de su caducidad. No se necesita gestión manual de tokens.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceAn MCP server that connects Bouncie OBD2 vehicle tracking data to AI assistants. It enables users to retrieve real-time vehicle stats, health diagnostics, and detailed trip history through the Bouncie API.-
- FlicenseAqualityFmaintenanceMCP server that exposes 300+ AI agents as tools via a single API key. Supports listing agents, invoking any agent with chat-completion style messages, checking agent health, and retrieving platform statistics.54-

VoIPbin MCP Serverofficial
AlicenseBqualityCmaintenanceAn MCP server that enables AI assistants to interact with the VoIPbin CPaaS platform, exposing tools for managing calls, flows, messaging, conferencing, and more.5826 PyPI1MIT- AlicenseNot gradedqualityDmaintenanceAn MCP (Model Context Protocol) server that exposes Polestar 2 vehicle data to AI assistants like Claude. Query your car's battery status, vehicle info, and health data through natural conversation.1MIT