Skip to main content
Glama
thachdoSC

Smartcar MCP Server

by thachdoSC

MCP-сервер Smartcar

Сервер MCP (Model Context Protocol), который предоставляет API транспортных средств Smartcar в качестве инструментов для ИИ-агентов. Позволяет Claude, ChatGPT и другим MCP-совместимым клиентам запрашивать телеметрию автомобиля и отправлять команды с помощью естественного языка.

Обзор

Этот сервер оборачивает M2M (machine-to-machine) API Smartcar с использованием учетных данных клиента OAuth2. Он автоматически обрабатывает получение и кэширование токенов, поэтому ИИ-агенты взаимодействуют с транспортными средствами без необходимости управления аутентификацией.

16 инструментов в 4 категориях:

Категория

Инструменты

Подключения

list_connections, get_connection, delete_connection, delete_user

Сигналы (телеметрия)

get_signals, get_signal

Команды автомобиля

lock_vehicle, unlock_vehicle, start_charge, stop_charge, set_charge_limit, set_navigation_destination

Управление

list_applications, get_application, list_application_secrets

Related MCP server: agentforge

Использование

Установка не требуется. Добавьте это в ваш claude_desktop_config.json (или эквивалентный конфиг MCP-клиента):

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

Переменные окружения

Переменная

Обязательно

По умолчанию

Описание

SMARTCAR_CLIENT_ID

Да

—

Ваш ID клиента Smartcar M2M

SMARTCAR_CLIENT_SECRET

Да

—

Ваш секрет клиента Smartcar M2M

SMARTCAR_API_URL

Нет

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

Базовый URL API транспортных средств

SMARTCAR_AUTH_URL

Нет

https://iam.smartcar.com

Эндпоинт токена аутентификации

SMARTCAR_MANAGEMENT_API_URL

Нет

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

Базовый URL API управления

Разработка

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/

Справочник инструментов

Подключения

list_connections — Список подключений транспортных средств с дополнительными фильтрами.

Параметр

Тип

Описание

userId

string?

Фильтр по ID пользователя

vehicleId

string?

Фильтр по ID транспортного средства

vehicleMode

live

simulated?

Фильтр по режиму транспортного средства

pageNumber

number?

Номер страницы

pageSize

number?

Результатов на страницу

get_connection — Получить одно подключение по ID.

delete_connection — Удалить подключение по ID.

delete_user — Удалить пользователя и все связанные данные.


Сигналы (Телеметрия)

get_signals — Список всех доступных сигналов для транспортного средства.

Параметр

Тип

Описание

vehicle_id

string

ID транспортного средства

user_id

string

ID пользователя

pageNumber

number?

Номер страницы

pageSize

number?

Результатов на страницу

get_signal — Получить текущее значение конкретного сигнала.

Параметр

Тип

Описание

vehicle_id

string

ID транспортного средства

user_id

string

ID пользователя

signal_code

string

Код сигнала (см. ниже)

Зарядка: 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

Климат: climate.externaltemperature, climate.internaltemperature

Закрытие: closure.door, closure.lock, closure.window, closure.sunroof, closure.fronttrunk, closure.reartrunk, closure.chargeport

Связь: connectivity.firmware, connectivity.isonline, connectivity.sleepstate, connectivity.lastseenat

Диагностика: 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.fuel.level, ice.fuel.range, ice.fuel.percentremaining, ice.oillife

Местоположение: location.precise, location.ishome

Низковольтная батарея: lowvoltagebattery.stateofcharge, lowvoltagebattery.status

Движение: motion.speed

Одометр: odometer.distance

Сервис: service.isinservice, service.records

Наблюдение: surveillance.brand, surveillance.isenabled

Тяговая батарея: tractionbattery.stateofcharge, tractionbattery.range, tractionbattery.heating, tractionbattery.capacity.kwh, tractionbattery.capacity.usableKwh, tractionbattery.limit, tractionbattery.temperature, tractionbattery.chargecompletiontime, tractionbattery.fullchargetime

Трансмиссия: transmission.drivemode, transmission.gear

ID транспортного средства: vehicleid.vin, vehicleid.color, vehicleid.trim, vehicleid.packages, vehicleid.nickname

Учетная запись пользователя: vehicleuseraccount.grantedpermissions, vehicleuseraccount.role

Колеса: wheel.style, wheel.tires


Команды автомобиля

Все инструменты команд требуют vehicle_id и user_id.

lock_vehicle — Заблокировать двери автомобиля.

unlock_vehicle — Разблокировать двери автомобиля.

start_charge — Начать зарядку электромобиля.

stop_charge — Остановить зарядку электромобиля.

set_charge_limit — Установить максимальный уровень заряда.

Параметр

Тип

Описание

percent

number

Целевой % заряда (50–100)

set_navigation_destination — Отправить пункт назначения GPS в навигационную систему автомобиля.

Параметр

Тип

Описание

latitude

number

Широта (от -90 до 90)

longitude

number

Долгота (от -180 до 180)


Управление

list_applications — Список всех приложений Smartcar в вашей организации.

get_application — Получить детали конкретного приложения по ID.

list_application_secrets — Список учетных данных для приложения (секретные значения не возвращаются).

Структура проекта

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

Аутентификация

Сервер использует учетные данные клиента OAuth2 (поток M2M). Токены кэшируются в памяти и автоматически обновляются за 60 секунд до истечения срока действия. Ручное управление токенами не требуется.

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