Model Context Protocol (MCP) server that lets coding agents (Cursor, VS Code, Claude) read and control Home Assistant, ESPHome and Node-RED: inspect entities, call services, render templates, debug logs, edit automations and deploy Node-RED flows.
54 tools with consistent naming (verb_noun pattern: ha_*, esphome_*, nodered_*, vomehome_*) but critical gaps in schema visibility and parameter documentation. Tool descriptions are present but generic (avg ~60 chars, well below 194-char baseline). No visible input schemas in provided source, cannot verify parameter types, constraints, or output structures. Risk categorization (READ_ONLY, WRITE, DESTRUCTIVE) is helpful but does not substitute for formal schema documentation. Composition is sound (single responsibility per tool), but LLM-facing quality is undermined by missing parameter descriptions and undocumented output formats.
Clean ESPHome build artifacts
Compile an ESPHome device firmware
Get ESPHome dashboard information and access status
Get the YAML configuration of an ESPHome device
List all ESPHome devices
Stream logs from an ESPHome device
Save the YAML configuration of an ESPHome device
Upload firmware to an ESPHome device
No input schemas visible in source code. Cannot verify parameter types, constraints, enums, or descriptions. All 54 tools scored 0 for schema dimension.
Tool descriptions are generic and brief (~40-60 chars). Missing context on WHEN to use each tool, prerequisites, and expected output structure. Descriptions should be 50-200 chars with actionable guidance.
Destructive operations (ha_delete_helper_entity, ha_delete_user, ha_remove_hacs_repository) lack confirmation/dry-run pattern. No evidence of recovery guidance or undo tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | <=2025-11-25 | v2 |
Validate an ESPHome device configuration
Call a Home Assistant service
Create a new Home Assistant helper entity
Create a new Home Assistant user
Delete a Home Assistant helper entity
Delete a Home Assistant user
Get information about a specific Home Assistant add-on
Get the configuration of a specific Home Assistant automation
Get the contents of a Home Assistant configuration file
Get the configuration of a specific Home Assistant dashboard
Get information about a specific Home Assistant integration
Get Home Assistant system logs
Get the current state of a specific Home Assistant entity
Get details of a specific Home Assistant automation/script trace
Get information about a specific Home Assistant user
Install a HACS repository
List all Home Assistant add-ons
List all Home Assistant areas
List all Home Assistant automations
List Home Assistant configuration files
List all Home Assistant dashboards
List all Home Assistant devices
List all Home Assistant entities with their current state
List entities in a specific Home Assistant area
List all HACS repositories
List all Home Assistant helper entities
List all Home Assistant integrations
List all available Home Assistant services
List Home Assistant automation/script traces
List all Home Assistant users
Remove a HACS repository
Render a Home Assistant Jinja2 template
Get Home Assistant system information
Update a Home Assistant automation configuration
Update a Home Assistant configuration file
Update a Home Assistant dashboard configuration
Update a HACS repository
Update a Home Assistant helper entity
Update a Home Assistant user
Deploy Node-RED flows
Get the configuration of a specific Node-RED flow
List all Node-RED flows
Update a Node-RED flow configuration
Create a new VomeHome instance
List all VomeHome instances accessible to the current token
Switch the active VomeHome instance for subsequent Home Assistant calls
No visible error handling guidance in tool descriptions. LLMs need to know which errors are retryable, which require user input, and what recovery steps exist.
No parameter descriptions visible. LLMs cannot infer what 'entity_id', 'service', 'device_id' mean or what values are valid. Parameter documentation is mandatory for LLM tool use.