Provides comprehensive control and monitoring of Home Assistant smart home devices, including reading entity states, controlling lights and switches, accessing sensor history, calling services, and generating YAML automations for smart home management.
🏠 Home Assistant MCP Server
Un serveur Model Context Protocol (MCP) puissant avec interface web complète pour intégrer Home Assistant avec les agents IA.
� Interface Web Complète ! Phase 3.4 inclut une interface web responsive avec dashboard, authentification, gestion des permissions et configuration multi-instances Home Assistant. Installation automatisée pour Raspberry Pi.
🍓 Raspberry Pi Ready! Installation optimisée pour Raspberry Pi 3B+ avec script automatisé
install.sh.
🇫🇷 Version française | 📚 Documentation | 🧪 Tests
✨ Features
- 🏠 Entity Management : Read the state of all your Home Assistant devices 
- 🎮 Device Control : Turn on/off lights, switches, and more 
- 📊 History Access : Access sensor and entity history data 
- 🔐 Secure Authentication : Uses Home Assistant access tokens 
- 🚀 High Performance : Asynchronous connections for optimal responsiveness 
- 🛠️ Service Calls : Call any Home Assistant service 
- 🤖 Smart Automations : Generate intelligent YAML automations 
🌐 HTTP Server Mode
In addition to MCP protocol, this server can run as a standalone HTTP REST API server, perfect for:
- 🍓 Raspberry Pi deployment alongside Home Assistant 
- 🔗 Web applications and custom integrations 
- 🚀 Microservices architecture 
- 📱 Mobile apps and third-party tools 
- 🤖 AI agents that don't support MCP protocol directly 
Why use HTTP Server mode?
- Universal compatibility: Any programming language or tool can connect via HTTP 
- Direct deployment: Install directly on your Raspberry Pi running Home Assistant 
- No MCP client required: Works with any HTTP client (curl, Postman, web browsers) 
- REST API standard: Easy integration with existing systems and workflows 
- Standalone operation: Independent service that doesn't require MCP infrastructure 
HTTP Endpoints
The HTTP server provides a complete REST API interface to Home Assistant:
- GET /health- Server health check and Home Assistant connectivity status
- GET /api/entities- List all entities (with optional domain filtering like- ?domain=light)
- GET /api/entities/{entity_id}- Get specific entity state and attributes
- POST /api/services/call- Call Home Assistant services (turn on/off devices, etc.)
- GET /api/history- Get entity history data with time range filtering
Use Cases:
- Web dashboards: Build custom web interfaces for Home Assistant 
- Mobile apps: Create native mobile applications with HTTP API 
- Automation scripts: Use any programming language to automate your home 
- Third-party integrations: Connect non-MCP services to Home Assistant 
- Development testing: Quick API testing with curl or Postman 
Quick Installation
Automatic Installation:
Manual Installation:
Quick HTTP Server Start
Server runs on http://localhost:3002 by default and provides a complete REST API interface.
Example API calls:
🎯 HTTP vs MCP: When to use which?
Use HTTP Server when:
- 🍓 Installing directly on Raspberry Pi 3B+ 
- 🌐 Building web applications or mobile apps 
- 🔧 Integrating with non-MCP tools and services 
- 🚀 Need universal compatibility across programming languages 
- 📊 Creating custom dashboards or monitoring systems 
Use MCP Server when:
- 💻 Working with AI agents that support MCP (Claude Desktop, etc.) 
- 🤖 Need structured tool-based interactions 
- 🔄 Want automatic tool discovery and schema validation 
- 📝 Prefer conversation-based device control 
📁 Project Structure
🚀 Installation
Quick Start Options
🍓 Raspberry Pi Installation (Recommended)
Install directly on your Raspberry Pi 3B+ alongside Home Assistant:
🎯 Optimized for Raspberry Pi 3B+:
- ✅ HTTP Server Setup: Installs the standalone HTTP server for easy AI integration 
- ✅ Interactive Configuration: Prompts for Home Assistant token and URL during installation 
- ✅ Systemd Service: Auto-configures system service for automatic startup 
- ✅ Security: Proper file permissions and service isolation 
- ✅ Port 3002: HTTP REST API accessible from external machines 
- ✅ Resource Optimized: Lightweight deployment suitable for Pi 3B+ hardware 
- ✅ Debian Compatible: Tested on Raspberry Pi OS (Debian-based) 
System Requirements:
- Raspberry Pi 3B+ or newer 
- Raspberry Pi OS (Debian 11+ recommended) 
- Home Assistant running on the same Pi or network 
- Python 3.9+ (automatically installed if needed) 
- At least 512MB available RAM 
💻 Desktop Installation
For development or remote installation:
Prerequisites
- Python 3.8+ 
- Home Assistant with API enabled 
- Home Assistant access token 
Server Installation
Configuration
- Create a - .envfile:
- Get your Home Assistant token: - Go to Home Assistant > Profile > Long-lived access tokens 
- Create a new token 
- Copy it to the - .envfile
 
Claude Desktop Configuration
Add this to your Claude Desktop configuration (claude_desktop_config.json):
📄 Complete configuration file available in
🤖 AI Service Configurations
Claude Desktop
Add this to your Claude Desktop configuration (claude_desktop_config.json):
LM Studio
Configure MCP in LM Studio:
- Open LM Studio 
- Go to Settings > MCP Servers 
- Add a new server: - Name: - homeassistant
- Command: - homeassistant-mcp-server
- Environment Variables: HASS_URL=http://192.168.1.22:8123 HASS_TOKEN=your_token_here
 
Continue.dev (VS Code Extension)
Add to your Continue configuration (.continue/config.json):
Cursor IDE
Add to Cursor's AI configuration:
- Open Cursor IDE 
- Go to Settings > AI > MCP Servers 
- Add server configuration: { "name": "homeassistant", "command": "homeassistant-mcp-server", "env": { "HASS_URL": "http://192.168.1.22:8123", "HASS_TOKEN": "your_token_here" } }
Cline (VS Code Extension)
Configure in Cline settings:
LM Studio
LM Studio peut utiliser le serveur via des fonctions HTTP personnalisées:
Option 1: HTTP Functions (Recommandé)
- Importez le fichier - configs/lm-studio-functions.json
- Utilisez le prompt système - configs/lm-studio-system-prompt.md
- Assurez-vous que le serveur HTTP fonctionne: - http://192.168.1.22:3002/health
Configuration rapide:
Custom Integration
For other MCP-compatible services, use this standard format:
🔧 Configuration Notes:
- Replace - your_token_herewith your actual Home Assistant token
- Update the URL if your Home Assistant runs on a different address 
- Some services may require the full path to the executable 
- Restart your AI service after adding the configuration 
🧪 Testing and Validation
Test your installation with the provided scripts:
💬 Usage
Once configured, you can ask Claude:
- "What lights are currently on?" 
- "Turn off all the living room lights" 
- "Show me the temperature from my sensors" 
- "What's the temperature history for today?" 
- "Create an automation to turn on lights at sunset" 
- "Generate an alert when energy consumption exceeds 700 kWh" 
🛠️ Available Tools
The MCP server exposes 8 tools to interact with Home Assistant:
📋 Entity Management
- get_entities: List all entities with domain filtering
- get_entity_state: Get detailed state of an entity
- get_history: Entity history over a given period
🎮 Device Control
- call_service: Call a service to control devices
- get_services: List all available services
🤖 Automations (New!)
- create_automation: Generate ready-to-use YAML automations
- list_automations: List all active automations
- toggle_automation: Enable/disable an automation
💡 Automation Examples
⚡ Energy Monitoring
🌅 Automatic Lighting
📅 Scheduled Notifications
📚 Documentation
- Quick Start Guide - Fast installation and configuration 
- Architecture - Detailed technical documentation 
- Tests - Test scripts guide 
- Examples - Examples and configurations 
🔧 Development
License
MIT
Version française
Un serveur Model Context Protocol (MCP) puissant pour intégrer Home Assistant avec des agents IA comme Claude Desktop.
✨ Fonctionnalités
- 🏠 Lecture d'entités : Consultez l'état de tous vos appareils Home Assistant 
- 🎮 Contrôle d'appareils : Allumer/éteindre lumières, commutateurs, etc. 
- 📊 Historique : Accédez à l'historique des capteurs et entités 
- 🔐 Authentification sécurisée : Utilise les tokens d'accès Home Assistant 
- 🚀 Performance : Connexions asynchrones pour une réactivité optimale 
- 🛠️ Services : Appelez n'importe quel service Home Assistant 
- 🤖 Automatisations : Générez des automatisations YAML intelligentes 
🌐 Mode Serveur HTTP
En plus du protocole MCP, ce serveur peut fonctionner comme un serveur HTTP REST API autonome, parfait pour :
- 🍓 Déploiement Raspberry Pi aux côtés de Home Assistant 
- 🔗 Applications web et intégrations personnalisées 
- 🚀 Architecture microservices 
- 📱 Applications mobiles et outils tiers 
- 🤖 Agents IA qui ne supportent pas directement le protocole MCP 
Pourquoi utiliser le mode Serveur HTTP ?
- Compatibilité universelle : N'importe quel langage ou outil peut se connecter via HTTP 
- Déploiement direct : Installation directe sur votre Raspberry Pi 3B+ avec Home Assistant 
- Pas de client MCP requis : Fonctionne avec n'importe quel client HTTP (curl, Postman, navigateurs) 
- Standard REST API : Intégration facile avec systèmes et workflows existants 
- Fonctionnement autonome : Service indépendant ne nécessitant pas d'infrastructure MCP 
📁 Structure du Projet
🚀 Installation
Options de Démarrage Rapide
🍓 Installation Raspberry Pi (Recommandée)
Installez directement sur votre Raspberry Pi 3B+ avec Home Assistant :
🎯 Optimisé pour Raspberry Pi 3B+ :
- ✅ Configuration Serveur HTTP : Installe le serveur HTTP autonome pour intégration IA facile 
- ✅ Configuration Interactive : Demande le token et URL Home Assistant pendant l'installation 
- ✅ Service Systemd : Configure automatiquement le service système pour démarrage automatique 
- ✅ Sécurité : Permissions de fichiers appropriées et isolation du service 
- ✅ Port 3002 : API REST HTTP accessible depuis des machines externes 
- ✅ Optimisé Ressources : Déploiement léger adapté au matériel Pi 3B+ 
- ✅ Compatible Debian : Testé sur Raspberry Pi OS (basé Debian) 
Configuration Système Requise :
- Raspberry Pi 3B+ ou plus récent 
- Raspberry Pi OS (Debian 11+ recommandé) 
- Home Assistant fonctionnant sur le même Pi ou réseau 
- Python 3.9+ (installé automatiquement si nécessaire) 
- Au moins 512MB de RAM disponible 
💻 Installation Bureau
Pour le développement ou l'installation à distance :
Prérequis
- Python 3.8+ 
- Home Assistant avec API activée 
- Token d'accès Home Assistant 
Installation du serveur
Configuration
- Créez un fichier - .env:
- Obtenez votre token Home Assistant : - Allez dans Home Assistant > Profil > Tokens d'accès à long terme 
- Créez un nouveau token 
- Copiez-le dans le fichier - .env
 
Configuration Claude Desktop
Ajoutez ceci à votre configuration Claude Desktop (claude_desktop_config.json) :
📄 Fichier de configuration complet disponible dans
🤖 Configurations des Services d'IA
Claude Desktop
Ajoutez ceci à votre configuration Claude Desktop (claude_desktop_config.json) :
LM Studio
Configurez MCP dans LM Studio :
- Ouvrez LM Studio 
- Allez dans Paramètres > Serveurs MCP 
- Ajoutez un nouveau serveur : - Nom : - homeassistant
- Commande : - homeassistant-mcp-server
- Variables d'environnement : HASS_URL=http://192.168.1.22:8123 HASS_TOKEN=votre_token_ici
 
Continue.dev (Extension VS Code)
Ajoutez à votre configuration Continue (.continue/config.json) :
Cursor IDE
Ajoutez à la configuration AI de Cursor :
- Ouvrez Cursor IDE 
- Allez dans Paramètres > IA > Serveurs MCP 
- Ajoutez la configuration du serveur : { "name": "homeassistant", "command": "homeassistant-mcp-server", "env": { "HASS_URL": "http://192.168.1.22:8123", "HASS_TOKEN": "votre_token_ici" } }
Cline (Extension VS Code)
Configurez dans les paramètres Cline :
OpenWebUI
Pour l'intégration MCP OpenWebUI :
- Installez le plugin MCP 
- Configurez le serveur dans les paramètres : servers: homeassistant: command: homeassistant-mcp-server env: HASS_URL: "http://192.168.1.22:8123" HASS_TOKEN: "votre_token_ici"
Intégration Personnalisée
Pour d'autres services compatibles MCP, utilisez ce format standard :
🔧 Notes de Configuration :
- Remplacez - votre_token_icipar votre vrai token Home Assistant
- Mettez à jour l'URL si votre Home Assistant fonctionne sur une autre adresse 
- Certains services peuvent nécessiter le chemin complet vers l'exécutable 
- Redémarrez votre service IA après avoir ajouté la configuration 
🧪 Tests et Validation
Testez votre installation avec les scripts fournis :
💬 Utilisation
Une fois configuré, vous pouvez demander à Claude :
- "Quelles sont mes lumières allumées ?" 
- "Éteins toutes les lumières du salon" 
- "Montre-moi la température de mes capteurs" 
- "Quel est l'historique de mon capteur de température aujourd'hui ?" 
- "Crée une automatisation pour allumer les lumières au coucher du soleil" 
- "Génère une alerte quand ma consommation énergétique dépasse 700 kWh" 
🛠️ Outils disponibles
Le serveur MCP expose 8 outils pour interagir avec Home Assistant :
📋 Gestion des entités
- get_entities: Liste toutes les entités avec filtrage par domaine
- get_entity_state: Récupère l'état détaillé d'une entité
- get_history: Historique d'une entité sur une période donnée
🎮 Contrôle des appareils
- call_service: Appelle un service pour contrôler des appareils
- get_services: Liste tous les services disponibles
🤖 Automatisations (Nouveau !)
- create_automation: Génère des automatisations YAML prêtes à utiliser
- list_automations: Liste toutes les automatisations actives
- toggle_automation: Active/désactive une automatisation
💡 Exemples d'automatisations
⚡ Surveillance énergétique
🌅 Éclairage automatique
📅 Notifications programmées
� Structure du Projet
�📚 Documentation
🚀 Installation et Déploiement
- Guide de déploiement complet - Installation production 
- Installation rapide Raspberry Pi - Guide express 
- Installation détaillée Pi - Guide complet Pi 
🏗️ Architecture et Développement
- Architecture système - Documentation technique 
- API REST - Documentation API complète 
- Phase 3.4 - Interface web complète 
🧪 Tests et Validation
- Guide des tests - Suite de tests complète 
- Examples d'usage - Exemples pratiques 
🔧 Développement
Licence
MIT
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables AI agents to control and monitor Home Assistant smart home devices through natural language interactions. Supports device control, entity state monitoring, history access, and automation generation with both MCP protocol and standalone HTTP REST API modes.