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

ESPHome 장치용 사이드 창을 제공하는 Claude Code 플러그인입니다. YAML에서 장치를 매핑하고 중복 핀과 strapping 핀을 표시하며, 도트 매트릭스 칩 애니메이션으로 빌드 단계·진행 상황·결과를 보여 줍니다. 사용자의 MCP 서버를 통해서만 읽습니다.
Vortitron/home-assistant-mcp/tree/main/claude-plugin/vome-esphome

vome-esphome은 ESPHome 개발을 위한 사이드 창을 Claude Code에 추가합니다. Claude가 읽는 장치 YAML을 읽고 저장하거나 빌드한 뒤 보드, 프레임워크, 연결, 버스, 엔터티, 핀, 트리거의 맵을 그립니다. 중복 핀과 strapping 핀은 표시되며 저장 후 변경 사항은 몇 초 동안 강조됩니다. 빌드가 실행되는 동안 단계, 진행률 표시줄, 최근 출력 2줄(오류는 빨간색, 경고는 노란색), 소요 시간이 포함된 최종 결과를 보여 줍니다. 장치 목록에서는 새 펌웨어를 기다리는 장치에 위쪽 화살표를 표시합니다. 작업대의 도트 매트릭스 칩은 컴파일, 플래시, 성공, 실패를 애니메이션으로 표시하며 l과 b 키로 전체 로그와 애니메이션을 전환합니다. 창은 읽기 전용이고 직접 빌드를 시작하지 않습니다. 빠른 시작에는 Vome Home Assistant 앱과 ESPHome Device Builder가 필요하며, 이후 Vortitron/home-assistant-mcp marketplace에서 /plugin install vome-connect, vome-esphome 또는 vome-panes를 실행합니다. 자동 모드에서는 읽기 전용 MCP 도구 2개(esphome_activity 및 esphome_get_config)를 허용 목록에 넣어야 합니다. 개인정보 보호: 모든 내용은 사용자의 MCP 서버에서 읽으며 다른 곳으로 보내지 않습니다.
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
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.