Provides a flexible interface for Home Assistant device management and automation through a REST API and WebSocket/SSE connections, enabling basic device control, state updates, and automation rule management.
Enables GPU-accelerated speech processing capabilities when using NVIDIA GPUs with CUDA support, improving performance for wake word detection and speech-to-text features.
๐ Home Assistant MCP
Bridge the gap between AI assistants and your smart home ๐
A powerful, secure, and extensible Model Context Protocol (MCP) server that enables AI assistants like Claude, GPT, and Cursor to seamlessly interact with Home Assistant. Control your lights, climate, automations, and more through natural language commands.
โจ Feature Overview
๐ค AI-Powered Smart Home Control
Natural Language Processing: Turn "dim the living room lights to 50%" into actual device commands
Multi-Assistant Support: Works with Claude, GPT-4, Cursor, and other MCP-compatible assistants
Intelligent Context: Remembers device states, relationships, and user preferences
Smithery Integration: One-click installation and deployment via Smithery.ai
๐ก๏ธ Enterprise-Grade Security
Rate Limiting: Protects against abuse with configurable request limits
Input Sanitization: Prevents XSS and injection attacks
JWT Authentication: Secure token-based access control
Security Headers: Comprehensive protection against web vulnerabilities
โก High-Performance Architecture
Bun Runtime: 4x faster than Node.js with built-in TypeScript support
Streaming Responses: Real-time updates for long-running operations
Modular Design: Clean separation of concerns with extensible plugin system
Multiple Transports: HTTP REST API, WebSocket, and Standard I/O support
๐ Comprehensive Device Control
Lighting Control: Brightness, color temperature, RGB colors, and effects
Climate Management: Thermostats, HVAC modes, fan control, and scheduling
Automation & Scenes: Trigger automations, activate scenes, and manage routines
Device Discovery: Intelligent device listing with filtering and search
Notification System: Send alerts through Home Assistant's notification channels
Smart Maintenance: Find orphaned devices, analyze usage patterns, energy monitoring
Intelligent Scenarios: Auto-detect and manage nobody-home, window/heating conflicts, energy waste
Related MCP server: Google Home MCP Server
๐ Quick Start
Get up and running in minutes:
That's it! Your AI assistant can now control your smart home. ๐คโจ
๐ฆ Installation
Prerequisites
๐ Bun (v1.0.26+) - Recommended
๐ Home Assistant instance
Option 1: Smithery.ai (Recommended for Quick Setup)
Smithery is a registry for MCP servers that makes installation incredibly easy:
You'll be prompted to configure:
Home Assistant URL
Long-lived access token
Optional settings (port, debug mode)
See SMITHERY_DEPLOYMENT.md for detailed deployment guide.
Option 2: NPX (Quick Start)
Option 3: Bunx with GitHub (No NPM Login Required)
If you can't login to npm, use Bunx to run directly from GitHub:
Alternatively, install directly from Git:
Option 4: Docker (Containerized)
Run the MCP server in a Docker container:
Available Docker tags:
latest- Latest stable release1.0.x- Specific versiondev- Latest development build from main branch
Option 5: Local Installation
Option 6: From Source (Most Flexible)
๐ ๏ธ Usage
AI Assistant Integration
Claude Desktop
Add to your claude_desktop_config.json:
Or use npx:
VS Code + Claude Extension
The .vscode/settings.json is pre-configured for immediate use.
Cursor
Add to .cursor/config/config.json:
Or with npx:
API Usage
Start the HTTP server:
Available endpoints:
POST /api/tools/call- Execute toolsGET /api/resources/list- List resourcesGET /api/health- Health checkWebSocket /api/ws- Real-time updates
Configuration
Create a .env file:
๐๏ธ Architecture
Core Components
Transport Layer: HTTP, WebSocket, Stdio
Middleware Layer: Security, validation, logging
Tools Layer: Device control, automation, notifications
Resource Manager: State management and caching
Built-in Tools (34 Total)
๐จ Aurora Sound-to-Light (10 tools) โจ NEW!
๐ต Audio Analysis: Extract BPM, beats, mood, frequency data
๐ Device Scanning: Find Aurora-compatible lights
๐ Device Profiling: Measure latency & capabilities for sync
๐ฌ Timeline Rendering: Generate pre-rendered light shows
โถ๏ธ Playback Control: Play/pause/stop/seek timelines
๐ Timeline Management: List, export, import timelines
๐ Status Monitoring: System status and statistics
๐ฏ Smart Synchronization: Device-specific timing compensation
๐ Capability-Aware: RGB, tunable white, brightness-only support
๐ถ Beat Detection: Lights pulse in sync with music
๐จ Aurora is a complete sound-to-light synchronization system that transforms your Home Assistant lights into a professional light show synchronized to music!
๐ Device Control (13 tools)
๐ฆ Lights Control: Brightness, color temp, RGB, effects
๐ก๏ธ Climate Control: HVAC modes, temperature, fan control
๐บ Media Players: Playback, volume, sources, sound modes
๐ช Covers: Blinds, curtains, garage doors, position control
๐ Locks: Lock/unlock with code support
๐จ Fans: Speed, oscillation, direction, presets
๐ค Vacuums: Cleaning, docking, spot clean, fan speed
๐จ Alarm Control: Arm/disarm modes, security management
๐๏ธ Generic Control: Universal device control interface
โ๏ธ Automation & Scenes (3 tools)
๐ฌ Scenes: Activate predefined scenes
โ๏ธ Automations: List, toggle, trigger automations
๐ง Automation Config: Create/update/delete complex automations
๐ง System Management (6 tools)
๐ Device Discovery: List and filter devices by domain/area
๐ฑ Notifications: Multi-channel alert system
๐ History: Query historical state data
๐ฆ Add-on Management: Install, configure, control add-ons
๐ฆ Package Management: HACS integration and custom components
๐ Event Subscription: Real-time SSE event streaming
๐ง Smart Features (2 tools)
๐ง Maintenance Tool: Spook-like maintenance features
Find orphaned/unavailable devices
Analyze light usage patterns by room
Monitor energy consumption
Device health checks with battery warnings
Entity cleanup recommendations
๐ง Smart Scenarios: Intelligent automation detection
Nobody home: Auto turn off lights, reduce climate
Window/heating conflicts: Auto disable heating
Energy saving: Detect daytime lights, standby power
Generate automation configs
๐ See
MCP Features
๐ Prompts: Pre-defined prompt templates for common home automation tasks
Morning/evening routines
Energy saving suggestions
Security setup
Climate optimization
Media control
Troubleshooting helpers
๐ Resources: Direct access to Home Assistant states and configurations
Device lists by type (lights, climate, sensors, etc.)
Area/room configurations
Automation and scene listings
Dashboard summaries with current home status
๐ ๏ธ 24 Comprehensive Tools: Full device control and smart automation
See Complete Tools Reference for all available tools
Device control, automation, system management, and smart features
Natural language to Home Assistant API translation
๐ฏ Example Commands
Once integrated, your AI assistant can understand commands like:
Device Control:
"Turn off all lights in the bedroom"
"Set the thermostat to 72ยฐF"
"Play music on the living room speaker"
"Open the garage door"
"Lock all doors"
"Start the robot vacuum"
"Set the bedroom fan to 50%"
Automation & Scenes:
"Activate the movie scene"
"Trigger the morning routine automation"
"Show me all my automations"
Information & Monitoring:
"What's the current temperature in the living room?"
"Show me all unavailable devices"
"Which lights are currently on?"
Notifications:
"Notify everyone that dinner is ready"
"Send an alert to my phone"
Smart Maintenance:
"Check my Home Assistant health"
"Find orphaned or unavailable devices"
"Analyze my light usage patterns"
"Show me my energy consumption"
"Which devices have low battery?"
Aurora Sound-to-Light: โจ NEW!
"Analyze this music file and sync my lights"
"Scan for lights that can do Aurora effects"
"Profile my living room lights for synchronization"
"Create a light show for this song"
"Play the timeline I just created"
"Pause the light show"
"Show me Aurora status"
Smart Scenarios:
"I'm leaving home, activate away mode"
"Are any windows open with heating on?"
"Check for energy-wasting issues"
"Turn off everything, I'm going on vacation"
"What can I do to save energy?"
You can also use prompts for guided assistance:
"Help me set up a morning routine"
"Show me energy saving tips"
"How do I control my media players?"
๐ค Contributing
We welcome contributions! Here's how to get involved:
๐ด Fork the repository
๐ฟ Create a feature branch
๐ป Make your changes
๐งช Add tests if applicable
๐ Update documentation
๐ Submit a pull request
Development Setup
Code Style
TypeScript with strict mode
ESLint for code quality
Prettier for formatting
Husky for pre-commit hooks
Releases
This project uses automated releases to GitHub, npm, and Docker. See AUTOMATED_RELEASES.md for details.
Quick Release:
Go to Actions โ Version Bump and Release
Click Run workflow
Select version bump type (patch/minor/major)
The system automatically:
๐ฆ Creates a GitHub release
๐ค Publishes to npm
๐ณ Builds and pushes Docker image
๐ License
MIT License - see LICENSE for details.
๐ Acknowledgments
Built with โค๏ธ using:
Bun - The fast JavaScript runtime
Home Assistant - The open-source home automation platform
Model Context Protocol - The AI integration standard
Transform your smart home into an AI-powered experience