Enables comprehensive management of a Home Assistant instance, providing 60 tools across 9 categories including entity state management, service calls, area and device management, system control, integration management, notifications, entity registry management, automation and scene control, and data history access.
Enables integration with Warp Terminal by providing configuration steps to add the MCP server to Warp.
Home Assistant MCP Server
A comprehensive Model Context Protocol (MCP) server for integrating with Home Assistant. This server provides 60 tools and resources to interact with your Home Assistant instance via the REST API, enabling full smart home management and automation.
🚀 Features Overview
60 Total Tools across 9 Major Categories for comprehensive Home Assistant management:
🔧 Core Operations (13 tools)
Entity State Management: Get, set, update, and delete entity states
Service Calls: Execute Home Assistant services with full response support
Entity Search: Advanced search with filtering by name, domain, or state
Event Handling: Fire custom events with data payloads
Template Rendering: Render Home Assistant templates with live data
🏠 Area & Device Management (8 tools)
Area Management: Create, update, delete areas/zones with aliases
Device Registry: List, configure, and manage all Home Assistant devices
Entity Organization: Assign entities to areas, bulk area operations
Device Assignment: Move devices between areas, enable/disable devices
🖥️ System Management (6 tools)
System Control: Restart/stop Home Assistant safely
Health Monitoring: Check system health and component status
Configuration Validation: Validate configs before applying changes
Supervisor Integration: Get supervisor info (Home Assistant OS)
🔌 Integration Management (6 tools)
Integration Lifecycle: List, enable, disable, delete integrations
Integration Troubleshooting: Reload integrations, get detailed info
Dynamic Management: Programmatically manage integration configurations
🔔 Notification Services (3 tools)
Multi-Channel Notifications: Send via mobile apps, persistent notifications
Service Discovery: List all available notification services
Notification Management: Dismiss persistent notifications
📋 Entity Registry Management (4 tools)
Entity Configuration: Update entity names, areas, enabled/disabled status
Bulk Operations: Enable/disable multiple entities
Registry Information: Get detailed entity registry data
🤖 Automation & Scene Management (12 tools)
Automation Control: Create, update, delete, trigger automations
Scene Management: Activate scenes, create new scenes from current states
Automation Debugging: Get execution traces and troubleshooting data
Lifecycle Management: Full CRUD operations for automations
📊 Data & History (4 tools)
Historical Data: Advanced history queries with filtering options
Logbook Access: Get event history and entity changes
Error Logs: Retrieve Home Assistant error logs for debugging
🎥 Calendar & Media (4 tools)
Calendar Integration: List calendars and get events with date ranges
Camera Support: Get images from camera entities (base64 encoded)
Intent Processing: Handle Home Assistant voice/text intents
Real-time Events: Subscribe to live Home Assistant events via SSE
Installation
Clone this repository:
Run the setup script:
Get your Home Assistant Long-Lived Access Token:
Log into your Home Assistant web interface
Go to Profile (click on your user name in bottom left)
Scroll down to "Long-lived access tokens"
Click "Create Token"
Give it a name (e.g., "MCP Server")
Copy the token
Configure your settings:
Test the connection:
Usage with MCP Clients
Warp Terminal Integration
Run the setup script:
Configure Warp to use the MCP server:
Or manually start the server:
Claude Desktop Configuration
Add to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json
on macOS):
Available Tools
get_entity_state
Get the current state of a specific Home Assistant entity.
call_service
Call a Home Assistant service to control devices.
search_entities
Search for entities by name, domain, or state.
fire_event
Fire a custom event in Home Assistant.
get_history
Get historical data for specific entities.
New Feature Examples
Area Management
Create and Manage Areas
Device Management
System Health Check
Send Notifications
Integration Management
Testing
The server includes comprehensive test suites:
Run All Tests
Test Results
✅ 60/60 tools properly defined
✅ All schemas validated
✅ All tool handlers working correctly
✅ 100% test coverage for new features
Available Resources
homeassistant://states
- Current state of all entitieshomeassistant://config
- Home Assistant configurationhomeassistant://services
- Available serviceshomeassistant://events
- Available event types
Usage Examples
Turn on a light
Check temperature sensors
Get current state of all lights
Security
Store your Home Assistant token securely
Use environment variables for configuration
Consider network security between your MCP client and Home Assistant
Limit token permissions if possible
Troubleshooting
Connection Issues
Verify Home Assistant URL is accessible
Check if Home Assistant API is enabled
Ensure token is valid and has proper permissions
Authentication Errors
Regenerate long-lived access token
Check token format (should be a long string)
Verify token is set in environment variable
Service Call Failures
Check entity IDs exist in Home Assistant
Verify service names and parameters
Check Home Assistant logs for errors
Contributing
Feel free to submit issues and enhancement requests!
This server cannot be installed
A comprehensive Model Context Protocol server providing 60 tools across 9 categories to interact with and manage Home Assistant smart home systems via the REST API.
Related MCP Servers
- AsecurityAlicenseAqualityA server that enables interaction with Home Assistant devices and automations through the Model Context Protocol, allowing users to monitor device states, control devices, trigger automations, and list entities.Last updated -44MIT License
- -securityFlicense-qualityA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.Last updated -18
- -securityAlicense-qualityA Model Context Protocol server that integrates with Home Assistant to provide smart home control capabilities through natural language, supporting devices like lights, climate systems, locks, alarms, and humidifiers.Last updated -2MIT License
- -securityAlicense-qualityA Model Context Protocol server that allows large language models to control and query Home Assistant smart home systems through natural language interactions.Last updated -141MIT License