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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Home Assistant MCP Serverturn on the living room lights"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: MCP Personal Assistant Agent
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!