Skip to main content
Glama
thachdoSC

Smartcar MCP Server

by thachdoSC

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

list_connections, get_connection, delete_connection, delete_user

Señales (telemetría)

get_signals, get_signal

Comandos del vehículo

lock_vehicle, unlock_vehicle, start_charge, stop_charge, set_charge_limit, set_navigation_destination

Gestión

list_applications, get_application, list_application_secrets

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

SMARTCAR_CLIENT_ID

Sí

—

Su ID de cliente M2M de Smartcar

SMARTCAR_CLIENT_SECRET

Sí

—

Su secreto de cliente M2M de Smartcar

SMARTCAR_API_URL

No

https://vehicle.api.smartcar.com/v3

URL base de la API de vehículos

SMARTCAR_AUTH_URL

No

https://iam.smartcar.com

Punto final del token de autenticación

SMARTCAR_MANAGEMENT_API_URL

No

https://management.api.smartcar.com/v3

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

userId

string?

Filtrar por ID de usuario

vehicleId

string?

Filtrar por ID de vehículo

vehicleMode

live

simulated?

Filtrar por modo de vehículo

pageNumber

number?

Número de página

pageSize

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

vehicle_id

string

ID del vehículo

user_id

string

ID del usuario

pageNumber

number?

Número de página

pageSize

number?

Resultados por página

get_signal — Obtiene el valor actual de una señal específica.

Parámetro

Tipo

Descripción

vehicle_id

string

ID del vehículo

user_id

string

ID del usuario

signal_code

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

percent

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

latitude

number

Latitud (-90 a 90)

longitude

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 tools

Autenticació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.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    F
    maintenance
    MCP 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.
    5
    4
    -
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that enables AI assistants to interact with the VoIPbin CPaaS platform, exposing tools for managing calls, flows, messaging, conferencing, and more.
    58
    26 PyPI
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    1
    MIT