Model Context Protocol server for Home Assistant integration with Claude.ai, providing tools to control lights, switches, climate, sensors, and automations
Critical failures across naming, descriptions, and schemas. 23 tools declared but massive duplication (get_lights appears 4 times, control_light 2 times, get_sensors 2 times, get_climate 2 times). Most tools lack parameter descriptions entirely. Schemas present but minimal, many parameters undescribed. No output schemas documented. Tool descriptions are generic and under 50 chars on average. No error handling guidance. Security risk: call_service exposes domain/service/entity_id as free-form strings with no validation or enum constraints.
Call a Home Assistant service
Call a Home Assistant service to control devices
Turn lights on/off or adjust brightness/color
Turn lights on/off or adjust brightness/color
Control lights - turn on/off, set brightness, change color
Turn switches on or off
Get all Home Assistant automations
Massive tool duplication: get_lights declared 4 times, control_light 2 times, get_sensors 2 times, get_climate 2 times. LLM will be confused about which variant to call and may select wrong implementation.
call_service accepts domain, service, entity_id as free-form strings with no enum constraints or validation. LLM can hallucinate invalid service names like 'light.turn_on_bright' or 'switch.toggle_all'. No error guidance if service fails.
No output schemas documented for any tool. LLM cannot plan downstream calls or extract required fields. E.g., get_entities returns unknown structure, does it include entity_id, state, attributes? Undocumented output forces LLM to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
Get climate/thermostat information
Get climate/thermostat information
Get climate/HVAC entities (air conditioning, heating) with temperature info
Get all Home Assistant entities or filter by domain
Get all light entities and their current states
Get all light entities
Get all light entities and their current states
Get all light entities
Get sensor data (temperature, humidity, motion, etc.)
Get sensor entities including water leak, presence, motion, temperature sensors
Get sensor data (temperature, humidity, motion, etc.)
Get all entity states from Home Assistant
Get all switch entities
Get temperature sensors quickly (mock data for testing)
Test Home Assistant connection
Simple test tool that returns instantly
Parameter descriptions missing or trivial. E.g., get_sensors has 'sensor_type' param with description 'Filter by sensor type: water_leak, presence, motion, temperature, all', no explanation of what each type returns or when to use each. control_light brightness param has no min/max guidance.
Test tools (test_simple, test_connection, get_temperature_simple) pollute the tool namespace. These should not be exposed to production agents, they add noise and confusion about what the server actually does.