Skip to main content
Glama
thachdoSC

Smartcar MCP Server

by thachdoSC

Smartcar MCP-Server

Ein MCP (Model Context Protocol)-Server, der die Fahrzeug-API von Smartcar als Tools für KI-Agenten bereitstellt. Ermöglicht es Claude, ChatGPT und anderen MCP-kompatiblen Clients, Fahrzeugtelemetrie abzufragen und Befehle in natürlicher Sprache zu senden.

Übersicht

Dieser Server kapselt die M2M-API (Machine-to-Machine) von Smartcar unter Verwendung von OAuth2-Client-Anmeldeinformationen. Er übernimmt die Token-Beschaffung und das Caching automatisch, sodass KI-Agenten mit Fahrzeugen interagieren können, ohne die Authentifizierung verwalten zu müssen.

16 Tools in 4 Kategorien:

Kategorie

Tools

Verbindungen

list_connections, get_connection, delete_connection, delete_user

Signale (Telemetrie)

get_signals, get_signal

Fahrzeugbefehle

lock_vehicle, unlock_vehicle, start_charge, stop_charge, set_charge_limit, set_navigation_destination

Verwaltung

list_applications, get_application, list_application_secrets

Related MCP server: agentforge

Verwendung

Keine Installation erforderlich. Fügen Sie dies zu Ihrer claude_desktop_config.json (oder einer entsprechenden MCP-Client-Konfiguration) hinzu:

{
  "mcpServers": {
    "smartcar": {
      "command": "npx",
      "args": ["-y", "smartcar-mcp"],
      "env": {
        "SMARTCAR_CLIENT_ID": "your-client-id",
        "SMARTCAR_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Umgebungsvariablen

Variable

Erforderlich

Standard

Beschreibung

SMARTCAR_CLIENT_ID

Ja

—

Ihre Smartcar M2M-Client-ID

SMARTCAR_CLIENT_SECRET

Ja

—

Ihr Smartcar M2M-Client-Geheimnis

SMARTCAR_API_URL

Nein

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

Basis-URL der Fahrzeug-API

SMARTCAR_AUTH_URL

Nein

https://iam.smartcar.com

Endpunkt für Authentifizierungs-Token

SMARTCAR_MANAGEMENT_API_URL

Nein

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

Basis-URL der Management-API

Entwicklung

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/

Tool-Referenz

Verbindungen

list_connections — Auflisten von Fahrzeugverbindungen mit optionalen Filtern.

Parameter

Typ

Beschreibung

userId

string?

Nach Benutzer-ID filtern

vehicleId

string?

Nach Fahrzeug-ID filtern

vehicleMode

live

simulated?

Nach Fahrzeugmodus filtern

pageNumber

number?

Seitennummer

pageSize

number?

Ergebnisse pro Seite

get_connection — Abrufen einer einzelnen Verbindung nach ID.

delete_connection — Löschen einer Verbindung nach ID.

delete_user — Löschen eines Benutzers und aller zugehörigen Daten.


Signale (Telemetrie)

get_signals — Auflisten aller verfügbaren Signale für ein Fahrzeug.

Parameter

Typ

Beschreibung

vehicle_id

string

Fahrzeug-ID

user_id

string

Benutzer-ID

pageNumber

number?

Seitennummer

pageSize

number?

Ergebnisse pro Seite

get_signal — Abrufen des aktuellen Werts eines bestimmten Signals.

Parameter

Typ

Beschreibung

vehicle_id

string

Fahrzeug-ID

user_id

string

Benutzer-ID

signal_code

string

Signalcode (siehe unten)

Laden: 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

Klima: climate.externaltemperature, climate.internaltemperature

Verschluss: closure.door, closure.lock, closure.window, closure.sunroof, closure.fronttrunk, closure.reartrunk, closure.chargeport

Konnektivität: connectivity.firmware, connectivity.isonline, connectivity.sleepstate, connectivity.lastseenat

Diagnose: 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 (Verbrennungsmotor): ice.fuel.level, ice.fuel.range, ice.fuel.percentremaining, ice.oillife

Standort: location.precise, location.ishome

Niederspannungsbatterie: lowvoltagebattery.stateofcharge, lowvoltagebattery.status

Bewegung: motion.speed

Kilometerzähler: odometer.distance

Service: service.isinservice, service.records

Überwachung: surveillance.brand, surveillance.isenabled

Traktionsbatterie: tractionbattery.stateofcharge, tractionbattery.range, tractionbattery.heating, tractionbattery.capacity.kwh, tractionbattery.capacity.usableKwh, tractionbattery.limit, tractionbattery.temperature, tractionbattery.chargecompletiontime, tractionbattery.fullchargetime

Getriebe: transmission.drivemode, transmission.gear

Fahrzeug-ID: vehicleid.vin, vehicleid.color, vehicleid.trim, vehicleid.packages, vehicleid.nickname

Fahrzeugbenutzerkonto: vehicleuseraccount.grantedpermissions, vehicleuseraccount.role

Rad: wheel.style, wheel.tires


Fahrzeugbefehle

Alle Befehls-Tools erfordern vehicle_id und user_id.

lock_vehicle — Fahrzeugtüren verriegeln.

unlock_vehicle — Fahrzeugtüren entriegeln.

start_charge — EV-Ladevorgang starten.

stop_charge — EV-Ladevorgang stoppen.

set_charge_limit — Maximalen Ladestand festlegen.

Parameter

Typ

Beschreibung

percent

number

Ziel-Ladestand % (50–100)

set_navigation_destination — Ein GPS-Ziel an das Navigationssystem des Fahrzeugs senden.

Parameter

Typ

Beschreibung

latitude

number

Breitengrad (-90 bis 90)

longitude

number

Längengrad (-180 bis 180)


Verwaltung

list_applications — Alle Smartcar-Anwendungen in Ihrer Organisation auflisten.

get_application — Details für eine bestimmte Anwendung nach ID abrufen.

list_application_secrets — Anmeldeinformationen für eine Anwendung auflisten (geheime Werte werden nicht zurückgegeben).

Projektstruktur

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

Authentifizierung

Der Server verwendet OAuth2-Client-Anmeldeinformationen (M2M-Flow). Token werden im Arbeitsspeicher zwischengespeichert und 60 Sekunden vor Ablauf automatisch aktualisiert. Es ist keine manuelle Token-Verwaltung erforderlich.

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