Vortitron/home-assistant-mcp/tree/main/claude-plugin/vome-esphome

A Claude Code plugin providing a side pane for ESPHome devices: it maps the device from its YAML, flags duplicate or strapping pins, and shows the build phase, progress, and result with a dot-matrix chip animation. Reads only through the user's own MCP server.
Vortitron/home-assistant-mcp/tree/main/claude-plugin/vome-esphome

vome-esphome adds a side pane to Claude Code for ESPHome development. It reads the device YAML that Claude reads, saves or builds and renders a map of the board, framework, connection, buses, entities, pins and triggers; duplicate pins and strapping pins are flagged, and changes after a save are highlighted for a few seconds. Passwords and keys are never shown. The build is shown as it runs: phase, progress bar, the latest two output lines with errors in red and warnings in yellow, and the final result with timing. A device list marks devices with newer firmware waiting with an up arrow. A dot-matrix chip on the bench animates compiling, flashing, success and failure; keys l and b toggle the full log and the animation. The pane is read-only and never starts a build itself. Quickstart requires the Vome Home Assistant app plus ESPHome Device Builder, then /plugin install vome-connect, vome-esphome, or vome-panes from the Vortitron/home-assistant-mcp marketplace. In auto mode, two read-only MCP tools (esphome_activity and esphome_get_config) must be allow-listed. Privacy: everything is read from the user's own MCP server, nothing is sent elsewhere.
Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.
claude plugin marketplace add Vortitron/home-assistant-mcp claude plugin install vome-esphome

A side pane for the ESPHome device Claude is working on. Claude reads and edits YAML and runs builds that take minutes, and its tools answer only at the end; this pane shows the device and the build as they are:
on press → light.toggle), and
which pin does what. A pin used twice, or a strapping pin the chip boots
from, is flagged. After a save, what it added, changed or removed is lit for
a few seconds. Passwords and keys in the YAML are never shown.The pane only reads. It never starts a build: Claude does, with its own tool calls, which you approve as usual.
1. Add the Vome app to Home Assistant, then get a key from it. No sign-up needed.
The button opens your own Home Assistant and adds the app's repository. Pick Vome and Install, open it, and on the Agent tab create a key. The same Home Assistant needs the ESPHome Device Builder app: that is what compiles and flashes, and Vome reaches it for Claude with no ports opened.
2. Paste these into Claude Code, in a terminal (version 2.1.275 or newer):
/plugin install vome-connect --marketplace Vortitron/home-assistant-mcp
It asks for the key from step 1. Then:
/plugin install vome-esphome --marketplace Vortitron/home-assistant-mcp
/reload-plugins
Or all four Vome panes at once (automations, ESPHome, health and a working dashboard):
/plugin install vome-panes --marketplace Vortitron/home-assistant-mcp.
3. Ask Claude about a device, for example "Add a temperature sensor on GPIO4 to the hallway node and flash it". The pane opens beside the conversation with the device's map, and the build when it starts.
In auto mode, the pane asks you to allow its two read-only tools the first time; it shows the exact lines and where they go.
The pane reads in the background with two of the MCP's read-only tools: the
build's progress (esphome_activity) and, when Claude builds a device it has
not read, its YAML for the map (esphome_get_config). In auto mode, Claude
Code refuses background calls that no request of yours is behind, unless
they're allowed by name; the pane then shows the exact lines to add and where.
Under your server's name, for example:
{ "permissions": { "allow": ["mcp__vome__esphome_activity", "mcp__vome__esphome_get_config"] } }
With vome-connect the server is plugin_vome-connect_vome, so the lines are
mcp__plugin_vome-connect_vome__esphome_activity and
mcp__plugin_vome-connect_vome__esphome_get_config. Without them, the pane
still shows the elapsed time, the map of any config Claude reads, and the
output once the build finishes.
| | |
| --- | --- |
| /esphome | open the pane |
| l | the whole build log, or back to the map and the latest lines |
| b | the chip animation off or on (remembered) |
If another pane is in front, the ESPHome tab's title says how the build is
going (ESPHome · 45%, ESPHome ✓).
The pane reads only from your own MCP server, through the connection Claude Code already has: what the build commands Claude ran have printed, and the YAML of the device being built. Nothing is sent anywhere else.