Skip to main content
Glama

StarLine MCP

MCP-сервер для управления автосигнализацией StarLine через ИИ-агента (Claude и др.).

Агент вызывает понятные инструменты (list_devices, get_status, set_engine…), а сервер прячет всю «грязь»: 4-шаговую авторизацию StarLineID, кэш токенов и маппинг команд в облачный API.

AI-агент (Claude) ──tools──► StarLine MCP ──REST──► облако StarLine ──GSM──► блок в машине

Архитектура

Слой

Файл

Ответственность

Конфиг

config.py

учётные данные из .env

Авторизация

auth.py

getCode → getToken → user/login → auth.slid, кэш slnet (24ч)

Клиент API

client.py

список/статус устройств, отправка команд, авто-переавторизация

MCP-сервер

server.py

инструменты для агента

Related MCP server: Smartcar MCP Server

Безопасность

Инструменты разделены на два класса:

  • read-only (list_devices, get_status, get_location) — выполняются свободно.

  • команды управления (set_security, set_engine, set_heater, set_channel) — отказывают без confirm=true. Агент не должен подставлять confirm сам — подтверждение исходит от человека. Рекомендуется дополнительно требовать approval на эти инструменты в настройках хоста (Claude Desktop / Claude Code permissions).

⚠️ Запуск двигателя и снятие с охраны — физические действия с реальной машиной. Относитесь к ним как к необратимым.

Установка

Изолированный venv обязателен: на машине бывает несколько Python, а голый python в конфиге MCP-хоста резолвится непредсказуемо (главная причина «не запускается»).

cd "C:/GIT/StarLine MCP"
py -3.12 -m venv .venv
.venv/Scripts/python.exe -m pip install -e .   # ставит пакет + зависимости в venv
cp .env.example .env                            # затем заполнить

После -e . пакет импортируется из venv — PYTHONPATH задавать не нужно.

Самодиагностика (проверяет импорты и конфиг, печатает в stderr):

.venv/Scripts/python.exe -m starline_mcp.server --healthcheck

.env:

STARLINE_APP_ID=...         # из https://my.starline.ru/developer
STARLINE_APP_SECRET=...
STARLINE_LOGIN=...          # аккаунт my.starline.ru
STARLINE_PASSWORD=...

Проверка доступа

.venv/Scripts/python.exe -m starline_mcp.check_auth

Залогинится и выведет список ваших устройств со статусом. Это лучший первый шаг — убедиться, что API-доступ реально работает, до подключения к агенту.

Запуск MCP-сервера

.venv/Scripts/python.exe -m starline_mcp.server

Подключение к Claude Code: в корне уже лежит .mcp.json с абсолютным путём к venv (не голый python — это принципиально):

{
  "mcpServers": {
    "starline": {
      "command": "C:/GIT/StarLine MCP/.venv/Scripts/python.exe",
      "args": ["-m", "starline_mcp.server"],
      "cwd": "C:/GIT/StarLine MCP",
      "env": { "PYTHONIOENCODING": "utf-8" }
    }
  }
}

Если хост (Hermes/Claude Code) «не видит модуль» — почти всегда это голый python в команде вместо абсолютного пути к .venv/Scripts/python.exe. Не подмешивай PYTHONPATH и не плоди wrapper-скрипты — после pip install -e . это не нужно.

Подключение к Claude Code

В корне лежит .mcp.json — Claude Code подхватит сервер автоматически при запуске в этой папке. Список инструментов появится после подтверждения подключения MCP-сервера.

Рекомендация: в настройках прав потребуй approval на инструменты set_* (команды управления), чтобы каждое физическое действие с машиной подтверждалось вручную.

Статус

  • Авторизация (4 шага) + кэш токенов

  • Чтение: список устройств, статус, GPS, баланс SIM

  • Команды с подтверждением: охрана, двигатель, подогреватель, доп. канал, поиск авто

  • Проверено на живом аккаунте

  • Авто-выбор команды под модель блока (ign vs ign_start/ign_stop)

  • Проверка поддержки команды конкретным блоком (по controls)

  • Кэш списка устройств (TTL 15с)

  • Конфиг .mcp.json для Claude Code

  • Боевая проверка отправки команд (требует согласия владельца — физическое действие)

  • Обработка 2FA в интерактиве (если включится на аккаунте)

Источники

Эндпоинты и алгоритмы сверены по:

Available Tools

8 tools
find_carB

Найти автомобиль — короткий сигнал клаксоном и моргание (poke). Безопасно.

Inputs: device_id (required). Returns: object

get_locationC

Координаты GPS устройства.

Inputs: device_id (required). Returns: object

get_statusC

Подробный статус устройства: охрана, двигатель, температура, АКБ, GSM, GPS.

Inputs: device_id (required). Returns: object

list_devicesB

Список автомобилей/устройств StarLine на аккаунте с кратким статусом.

Inputs: no named parameters. Returns: result

set_channelA

Включить/выключить дополнительный канал (реле). Требует confirm=true.

Inputs: on (required), device_id (required), confirm. Returns: object

set_engineA

Запустить (on=true) или заглушить (on=false) двигатель. Требует confirm=true.

Сам выбирает команду под блок: ign (если поддерживается) либо ign_start/ign_stop (как у части моделей).

Inputs: on (required), device_id (required), confirm. Returns: object

set_heaterB

Включить/выключить предпусковой подогреватель (Webasto). Требует confirm=true.

Inputs: on (required), device_id (required), confirm. Returns: object

set_securityA

Поставить (on=true) или снять (on=false) автомобиль с охраны. Требует confirm=true.

Inputs: on (required), device_id (required), confirm. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: locating, status, listing, engine, security, heater, channel, and a find signal. No overlap between them.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case, e.g., find_car, get_location, set_engine. No deviations.

    Tool Count5/5

    8 tools is an appropriate number for a car control server, covering essential operations without being overwhelming or too sparse.

    Completeness4/5

    Covers major functions like location, status, engine, security, heater, and channel. Missing door lock/unlock control, which is a common feature, but core workflows are well-covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that connects to the Tesla Fleet API, allowing users to control vehicles and retrieve real-time status updates through Claude and other AI assistants. It supports functions such as waking up vehicles, viewing detailed vehicle information, and debugging via both stdio and HTTP/SSE transports.
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that exposes Smartcar's vehicle API as tools, enabling AI agents to query vehicle telemetry and send commands using natural language.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Universal MCP server that wraps any CLI tool, enabling AI assistants to run commands via natural language.
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for Claude Code to interact with OpenClaw AI agents (Daemon, Soren, Ash, etc.) via the gateway API, providing tools to ask agents, list them, and check their status.
      3
      959 npm
      MIT