ESPHome MCP
ESPHome MCP
MCP-сервер для панели управления ESPHome 2026.6+ «Device Builder». Он позволяет MCP-клиенту (Claude и др.) просматривать список устройств, читать/редактировать/проверять YAML устройств, транслировать логи и компилировать/прошивать прошивку — используя новый протокол WebSocket-команд панели управления.
Почему существует этот форк. ESPHome 2026.6 заменил устаревший HTTP API панели управления единым протоколом WebSocket-команд. Существующие MCP-серверы (
kdkavanagh/esphome-mcp,b2un0/esphome-mcp,jrigling/esphome-mcp-integration) все используют старый протокол, поэтому чтение/редактирование/проверка конфигурации возвращают мусор при работе с сервером 2026.6. Этот проект сохраняет чистый слой инструментов изkdkavanagh/esphome-mcpи переписывает транспорт для нового протокола. Подробности см. вDECISIONS.md.
Версии панели управления. Device Builder поставляется из
esphome/device-builderпо собственному графику выпуска, поэтому егоserver_versionне зависит от версии ESPHome — 2026.8.0 поставляется с Device Builder 1.12.x, 2026.7.3 — с 1.7.0. Этот сервер написан для протокола 1.12.x и использует форму устройства до 1.5.0 в тех местах, где они различаются. В качестве справочника по протоколу используютсяdocs/API.mdиmodels/devices.pyиз этого репозитория.
Обновляетесь с 2026.06.0? На ESPHome 2026.7 или новее он показывал каждое устройство как
unknownбез развёрнутой версии и мог сообщить об успешной установке прошивки, которую на самом деле не прошивал. Обе проблемы исправлены в 2026.08.0 — см. журнал изменений.
Инструменты
Tool | Что делает |
| Перечень настроенных устройств |
| Доступно ли обновление прошивки? |
| Онлайн/офлайн + адрес |
| Развёрнутая и текущая версия |
| Чтение YAML устройства |
| Сохранение YAML (с последующей автоматической проверкой) |
| Полная проверка ESPHome без сохранения |
| Переименование устаревших ключей YAML под установленный ESPHome (по умолчанию пробный прогон) |
| Поиск строки в YAML всех устройств |
| Потоковая передача последних логов устройства |
| Живая проверка подключения (DNS, mDNS, ping) |
| Декодирование backtrace сбоя в исходные позиции |
| Схема компонента для версии |
| Компиляция + OTA-прошивка (разрушающее действие) |
| Перекомпиляция + OTA-прошивка до последней версии (разрушающее действие) |
Офлайн-устройства. Если устройство офлайн, панель управления компилирует прошивку и подготавливает её к прошивке при следующем обращении устройства.
install_device_configurationиupdate_deviceсообщают об этом какCOMPILED, FLASH DEFERRED— а не об успехе.
Related MCP server: websocat-mcp
Конфигурация
Конфигурация задаётся через переменные окружения (12-factor). Скопируйте .env.example в .env:
Переменная | Обязательная | Описание |
| да | Базовый URL панели управления, например |
| нет | Пользователь панели управления. Обязателен, если панель сообщает |
| нет | Пароль панели управления. |
| нет |
|
Запуск с Docker
cp .env.example .env # then edit ESPHOME_DASHBOARD_URL
docker compose up -d --build
docker compose ps # STATUS should become "healthy"Сервер слушает порт :8080 и предоставляет MCP через Streamable HTTP по адресу http://<host>:8080/mcp. Контейнерный HEALTHCHECK выполняет полное MCP-рукопожатие и вызывает list_device_names, поэтому он сообщает о здоровом состоянии только тогда, когда панель управления действительно доступна.
Когда образ реестра будет опубликован, зафиксируйте его в compose.yaml:
image: ghcr.io/loryanstrant/esphome-mcp:latestПодключение MCP-клиента
Направьте вашего клиента на конечную точку Streamable HTTP:
{
"mcpServers": {
"esphome": { "type": "http", "url": "http://<host>:8080/mcp" }
}
}Для stdio-клиента запустите esphome-mcp (вместо веб-точки входа) с теми же переменными окружения.
Разработка
make install-dev # venv + deps
make check # lint + format-check + typecheck + test
# live tests against a real 2026.6 dashboard:
ESPHOME_DASHBOARD_URL=https://esphome.example.com .venv/bin/pytest -m liveБлагодарности
Этот проект опирается на работы других авторов (все под лицензией MIT):
kdkavanagh/esphome-mcp — оригинальный MCP-сервер ESPHome. Этот форк сохраняет его слой инструментов FastMCP, обработку схем, упаковку и CI почти без изменений; основное изменение здесь — переписанный транспорт.
b2un0/esphome-mcp — за публикацию готового образа и выявление поломки healthcheck / инструментов конфигурации, которая мотивировала эту работу.
jrigling/esphome-mcp-integration — интеграция Home Assistant, использованная как справочник при изучении протокола панели управления ESPHome.
Новый протокол WebSocket 2026.6 был восстановлен из фронтенда ESPHome Device Builder и проверен на живой панели управления 2026.6.
Лицензия
MIT.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for full Home Assistant control, enabling AI agents to manage dashboards, automations, files, apps, entities, and more via REST API, WebSocket, and SSH.66116MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for WebSocket operations, enabling connect, send, receive, and manage WebSocket connections and servers.MIT
- FlicenseNot gradedqualityDmaintenanceEnables monitoring and management of tasks via WebSocket events and authorization requests through MCP tools.
- FlicenseNot gradedqualityBmaintenanceEnables control of external Home Assistant devices via an MCP control layer and frontend system page.
Related MCP Connectors
MCP server wrapping the Tesla Fleet API and TeslaMate API
Remote MCP server for RunComfy Serverless API (ComfyUI): deployments and async inference.
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/loryanstrant/ESPHome-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server