tesla-fleet-mcp
tesla-fleet-mcp
Минимальный stdio MCP для Tesla Fleet API. TypeScript. Один процесс, секреты на основе переменных окружения, без дополнительных демонов для чтения/пробуждения.
Команды (climate, charge, lock) требуют официальный tesla-http-proxy от Tesla, а также виртуальный ключ в автомобиле. Этот прокси не включён в комплект.
Имя сервера Hermes: tesla-fleet. Инструменты отображаются как mcp__tesla_fleet__*.
Инструменты
Инструмент | Примечания |
| Автомобили аккаунта |
| Дешёвое состояние ( |
| Живые данные. Платные. По умолчанию — полная полезная нагрузка (без фильтра |
| Ближайшие зарядные станции |
| Пробуждение из сна |
| Требуется прокси команд |
| Требуется прокси команд |
| Требуется прокси команд |
Не опрашивайте vehicle_data в цикле. Tesla выставляет счёт за каждый вызов. Сначала проверяйте vehicle_get.
Запрос endpoints через запятую возвращает только метаданные (без charge_state). Этот сервер переписывает запятые в ;.
Related MCP server: mcp-teslamate-fleet
Требования
Node 20+
Приложение разработчика Tesla (dashboard)
HTTPS-домен в вашей собственности (не должен содержать слово
tesla)Публичный ключ по адресу
https://<your-domain>/.well-known/appspecific/com.tesla.3p.public-key.pemПартнёрский
POST /api/1/partner_accountsв каждом используемом регионеСпособ оплаты + лимит биллинга (Fleet API оплачивается по мере использования; ~$10/мес кредита)
Окружение
Скопируйте env.example и укажите TESLA_CACHE_PATH на файл с правами 0600 вне git.
Переменная | Обязательная | Значение |
| да | Идентификатор клиента приложения разработчика |
| да | Секрет приложения разработчика |
| да | Должен совпадать с разрешённым редиректом приложения (например, |
| да | Базовый URL Fleet для вашего региона (пример для ЕС в |
| нет | Путь к кэшу токенов (по умолчанию: |
| нет |
|
| нет | Автомобиль по умолчанию, если инструменты не указывают |
| нет | Origin прокси, например |
| нет | TLS CA прокси, если вы используете самоподписанный сертификат localhost |
Никогда не коммитьте секреты. Никогда не вставляйте refresh-токены или секреты клиента в чат.
Настройка (однократно)
Создайте приложение разработчика Tesla. Тип гранта: authorization code и machine-to-machine.
Разрешённый origin:
https://your.domain. Разрешённый редирект:https://your.domain/callback.Нужные вам scopes, как правило:
openid,offline_access,vehicle_device_data, плюсvehicle_cmds/vehicle_charging_cmds/vehicle_location, если вы используете эти инструменты.Сгенерируйте пару ключей P-256:
openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem
openssl ec -in private-key.pem -pubout -out public-key.pemРазместите только публичный ключ по адресу:
https://your.domain/.well-known/appspecific/com.tesla.3p.public-key.pem
Зарегистрируйте партнёрский аккаунт (пример для ЕС):
# partner token
curl -s --data-urlencode grant_type=client_credentials \
--data-urlencode client_id="$TESLA_CLIENT_ID" \
--data-urlencode client_secret="$TESLA_CLIENT_SECRET" \
--data-urlencode audience="$TESLA_AUDIENCE" \
--data-urlencode scope='openid vehicle_device_data vehicle_cmds' \
https://fleet-auth.prd.vn.cloud.tesla.com/oauth2/v3/token
# then POST {"domain":"your.domain"} to $TESLA_AUDIENCE/api/1/partner_accounts
# with Authorization: Bearer <partner access_token>Вход пользователя (владельца автомобиля):
set -a && source .env && set +a
npm install
npm run login
# open the printed URL, approve, paste the full https://your.domain/callback?code=... URL:
npm run login -- "https://your.domain/callback?code=...."Хост обратного вызова должен лишь принять запрос браузера; этот CLI читает URL, который вы вставляете. Пустая страница — нормально.
Hermes
# example wrapper: source your env file, then tsx
hermes mcp add tesla-fleet --command /path/to/tesla-fleet-mcp/run.shrun.sh подключает .env в каталоге репозитория или $TESLA_ENV, если он задан. Перезапустите процесс/шлюз Hermes после добавления. Включайте/отключайте инструменты в клиенте (tools.include / exclude), а не дополнительными флагами сервера.
Команды (необязательно)
Model 3 / Y и новые S/X требуют Vehicle Command Protocol. Неподписанные вызовы команд Fleet отклоняются.
Запустите
tesla-http-proxyс вашим приватным ключом, TLS, только localhost.Сопрягите виртуальный ключ (приложение Tesla, автомобиль онлайн):
https://tesla.com/_ak/your.domainЗадайте
TESLA_COMMAND_BASE=https://127.0.0.1:4443(иNODE_EXTRA_CA_CERTS, если сертификат прокси самоподписанный).
Не публикуйте прокси в интернете.
Разработка
npm test
npx tsc --noEmitЛицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server wrapping the Tesla Fleet API and TeslaMate API
Control your Tesla - wake it, warm it up, unlock and more. Get your developer token at https://Infoseek.ai/mcp. Also requires your own Tesla developer token which is tied to your car/fleet.
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Ovanek MCP: Model Context Protocol server for Ovanek platform tools; writes are dry-run by default.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn 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
- AlicenseBqualityDmaintenanceMCP server combining TeslaMate historical analytics with Fleet API live data and commands. Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.292MIT
- AlicenseAqualityAmaintenanceLocal MCP server for Hey.com email - read, search, send, reply, and manage the screener via stored session cookies. Runs over stdio, stores no credentials.3713MIT
- AlicenseBqualityDmaintenanceProduction-ready TypeScript MCP server exposing utility, GitHub, and Microsoft Teams tools over stdio.141MIT