ESPHome MCP
ESPHome MCP
ESPHome 2026.6+ "Device Builder" ダッシュボード向けの MCP サーバーです。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 で修正されています。変更ログ を参照してください。
ツール
ツール | 説明 |
| 設定済みデバイスの一覧を取得 |
| ファームウェアの更新が利用可能か確認 |
| オンライン/オフライン + アドレス |
| デプロイ済みバージョンと現在のバージョン |
| デバイスの YAML を読み取り |
| YAML を保存(その後自動検証) |
| 保存なしで ESPHome の完全な検証を実行 |
| インストール済み ESPHome 向けにレガシー YAML キーを書き換え(デフォルトはドライラン) |
| すべてのデバイスの YAML から文字列を検索 |
| 最近のデバイスログをストリーミング |
| ライブ接続プローブ(DNS、mDNS、ping) |
| クラッシュのバックトレースをソースの場所にデコード |
| バージョンに対応するコンポーネントスキーマ |
| コンパイル + 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 で待ち受け、http://<host>:8080/mcp で Streamable HTTP 経由の MCP を提供します。コンテナの HEALTHCHECK は完全な MCP ハンドシェイクを実行して list_device_names を呼び出すため、ダッシュボードに実際に到達できる場合にのみ healthy と報告します。
レジストリイメージが公開されたら、compose.yaml で固定してください:
image: ghcr.io/loryanstrant/esphome-mcp:latestMCP クライアントを接続する
クライアントを Streamable HTTP エンドポイントに向けてください:
{
"mcpServers": {
"esphome": { "type": "http", "url": "http://<host>:8080/mcp" }
}
}stdio クライアントの場合は、同じ環境変数で(Web エントリポイントの代わりに)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 — 元の ESPHome MCP サーバー。このフォークは、その FastMCP ツール層、スキーマ処理、パッケージング、CI をほぼそのまま維持しています。主な変更点はトランスポートの書き直しです。
b2un0/esphome-mcp — プリビルドイメージを公開し、この作業の動機となったヘルスチェック/設定ツールの不具合を明らかにしてくれたことに対して。
jrigling/esphome-mcp-integration — ESPHome ダッシュボードプロトコルのマッピング中に参照した Home Assistant インテグレーション。
新しい 2026.6 WebSocket プロトコルは、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