À propos
MCP Server (HTTP Transport) est une intégration personnalisée qui exécute un serveur MCP via HTTP afin que des assistants IA comme Claude puissent travailler avec Home Assistant. Elle prend en charge la connexion OAuth 2.0 via une intégration de serveur OIDC distincte, et les Long-Lived Access Tokens peuvent être activés en option pour les clients locaux ou personnalisés. Les outils exposés couvrent les entités, les services, les zones, les appareils, l’historique et les statistiques, ainsi que la création et la modification d’automatisations, de scènes, de scripts, d’assistants et de tableaux de bord. Elle propose aussi les traces d’automatisations et de scripts, un journal d’erreurs, la validation de la configuration et le redémarrage. Des réglages optionnels donnent accès aux fichiers de configuration YAML avec une sauvegarde avant chaque modification, aux images de caméra, aux fichiers image et aux fichiers d’application AppDaemon, chacun accompagné d’une note de confidentialité. Un réglage de nom de serveur aide à distinguer les instances quand un client se connecte à plusieurs installations de Home Assistant, et la configuration se fait dans l’interface.
Résumé automatique du README et du code de ganhammar/hass-mcp-server, traduit automatiquement. Une erreur, ou tu maintiens ce projet et tu veux ton propre texte ici ? Prendre contact
Prise en charge
Fonctionne en local Communique avec tes appareils sur ton propre réseau. Aucun cloud de fournisseur entre les deux.
Depuis la Marketplace S’installe depuis la Marketplace, anciennement HACS.
Maintenance active Son auteur a publié une version ou poussé une modification au cours des six derniers mois.
Mise en place
Installe-la depuis la Marketplace et redémarre Home Assistant, puis ajoute-la dans Paramètres > Appareils et services.
Serveur MCP (transport HTTP)
- Activer l’authentification native de Home AssistantAutorise les Long-Lived Access Tokens pour l’authentification. Si cette option est désactivée, l’intégration OIDC Provider est requise.
- Exiger un compte administrateurSeuls les utilisateurs Home Assistant disposant des droits d’administrateur peuvent utiliser le point de terminaison MCP. Cela reprend ce que Home Assistant exige lui-même pour la plupart des actions des outils : modifier les automatisations, les scripts et les scènes, appeler des services réservés aux administrateurs comme le redémarrage, rendre des templates et lire le journal d’erreurs. Ne désactive cette option que si tu comprends que tout utilisateur non administrateur disposant d’un jeton obtient alors le même accès.
- Activer l’accès aux fichiers de configurationAutorise les assistants IA à lister, lire, écrire et supprimer les fichiers YAML de premier niveau du répertoire de configuration. secrets.yaml est toujours bloqué. Pour les entités qui disposent d’outils MCP dédiés, le fichier YAML brut est aussi bloqué pour les modifications directes : automations.yaml, scenes.yaml et scripts.yaml doivent être modifiés via create_automation / update_automation (et les équivalents pour les scènes et les scripts), qui passent par la couche de stockage de Home Assistant et gardent cohérentes les entrées gérées depuis l’interface. Les fichiers restent inclus dans les sauvegardes, de sorte qu’une restauration ne les perd jamais. Chaque enregistrement et chaque suppression créent d’abord automatiquement une sauvegarde complète (stockée dans mcp_backups/ dans ton répertoire de configuration). Chaque enregistrement lance aussi automatiquement une validation de la configuration. Utilise batch_edit_config_files pour modifier plusieurs fichiers à la fois : il ne crée qu’une seule sauvegarde et lance une seule vérification de la configuration pour tout le lot. Les sauvegardes peuvent être restaurées manuellement via le système de fichiers si Home Assistant ne démarre pas. Avant d’activer : déplace toutes les valeurs sensibles (clés d’API, jetons, mots de passe) dans secrets.yaml, car toute valeur écrite directement dans d’autres fichiers YAML sera lisible par l’IA.
- Activer l’accès aux images de caméraAutorise les assistants IA à capturer l’image actuelle de n’importe quelle entité caméra (via l’outil get_camera_image) et à analyser ce que la caméra voit. Aucun fichier d’instantané n’est écrit. Note de confidentialité : lorsque cette option est activée, toute caméra de Home Assistant devient visible par l’IA.
- Activer l’accès aux fichiers imageAutorise les assistants IA à lire des fichiers image (JPEG, PNG, GIF, WebP) sur le disque (via l’outil get_image_file), par exemple des instantanés de caméra enregistrés par le service camera.snapshot. L’accès est limité aux répertoires que Home Assistant est autorisé à utiliser (le répertoire de configuration et les répertoires multimédias configurés). Note de confidentialité : toute image stockée dans ces répertoires devient lisible par l’IA.
- Activer le rendu des templatesAutorise les assistants IA à évaluer des templates Jinja2 arbitraires (via l’outil render_template). Un template peut lire en un seul appel chaque état, attribut, appareil et zone de l’instance, et peut appeler des fonctions de template comme states, state_attr, device_attr et integration_entities. C’est pourquoi Home Assistant réserve son propre outil de développement de templates aux administrateurs. Note de confidentialité : lorsque cette option est activée, l’IA peut lire tout ce qu’un template peut atteindre.
- Activer l’accès aux fichiers d’application AppDaemonAutorise les assistants IA à gérer les fichiers d’application AppDaemon dans la racine des applications AppDaemon, configurée séparément et délimitée. Activer l’accès en écriture permet à un client IA/MCP de modifier du code Python AppDaemon exécutable, ce qui donne une capacité équivalente à l’exécution de code dans l’environnement AppDaemon et l’accès dont AppDaemon dispose. Les chemins en dehors des racines approuvées /share/, /media/ ou de l’ancienne racine /addon_configs/a0d7b954_appdaemon/apps, les traversées avec .. et les échappements par lien symbolique sont rejetés. Seuls les fichiers .py, .yaml, .yml et .json peuvent être créés, écrits ou supprimés. Chaque enregistrement ou suppression crée d’abord un instantané de l’arborescence des applications dans .mcp_appdaemon_backups/ ; une restauration crée un instantané préalable. Il n’existe aucun outil MCP direct de shell ou de contrôle des processus AppDaemon, mais écrire des fichiers Python AppDaemon reste équivalent à l’exécution de code dans l’environnement AppDaemon et avec ses autorisations d’API Home Assistant. Les fichiers d’application peuvent contenir des identifiants : retire les valeurs sensibles des fichiers lisibles avant d’activer.
- Racine des applications AppDaemonRacine absolue des applications AppDaemon. Par défaut /addon_configs/a0d7b954_appdaemon/apps, qui n’existe que là où le dossier de cette application est monté dans Home Assistant Core (pas sur Home Assistant OS) ; sinon, utilise un dossier sous /share/ ou /media/ et fais pointer app_dir d’AppDaemon vers le même dossier.
- Nom du serveur MCPNom que ce serveur communique aux clients MCP (serverInfo.name). Donne un nom différent à chaque instance de Home Assistant quand un client se connecte à plusieurs : certains clients déduisent de ce nom l’espace de noms qu’ils affichent pour les outils d’un serveur, puis ne gardent qu’un seul des serveurs. Ces clients peuvent d’abord raccourcir le nom (VS Code garde les 13 premiers caractères), donc différencie les noms dès le début.
Après la mise en place
- Activer l’authentification native de Home AssistantAutorise les Long-Lived Access Tokens pour l’authentification. Si cette option est désactivée, l’intégration OIDC Provider est requise.
- Exiger un compte administrateurSeuls les utilisateurs Home Assistant disposant des droits d’administrateur peuvent utiliser le point de terminaison MCP. Cela reprend ce que Home Assistant exige lui-même pour la plupart des actions des outils : modifier les automatisations, les scripts et les scènes, appeler des services réservés aux administrateurs comme le redémarrage, rendre des templates et lire le journal d’erreurs. Ne désactive cette option que si tu comprends que tout utilisateur non administrateur disposant d’un jeton obtient alors le même accès.
- Activer l’accès aux fichiers de configurationAutorise les assistants IA à lister, lire, écrire et supprimer les fichiers YAML de premier niveau du répertoire de configuration. secrets.yaml est toujours bloqué. Pour les entités qui disposent d’outils MCP dédiés, le fichier YAML brut est aussi bloqué pour les modifications directes : automations.yaml, scenes.yaml et scripts.yaml doivent être modifiés via create_automation / update_automation (et les équivalents pour les scènes et les scripts), qui passent par la couche de stockage de Home Assistant et gardent cohérentes les entrées gérées depuis l’interface. Les fichiers restent inclus dans les sauvegardes, de sorte qu’une restauration ne les perd jamais. Chaque enregistrement et chaque suppression créent d’abord automatiquement une sauvegarde complète (stockée dans mcp_backups/ dans ton répertoire de configuration). Chaque enregistrement lance aussi automatiquement une validation de la configuration. Utilise batch_edit_config_files pour modifier plusieurs fichiers à la fois : il ne crée qu’une seule sauvegarde et lance une seule vérification de la configuration pour tout le lot. Les sauvegardes peuvent être restaurées manuellement via le système de fichiers si Home Assistant ne démarre pas. Avant d’activer : déplace toutes les valeurs sensibles (clés d’API, jetons, mots de passe) dans secrets.yaml, car toute valeur écrite directement dans d’autres fichiers YAML sera lisible par l’IA.
- Activer l’accès aux images de caméraPermet aux assistants IA de capturer l’image actuelle de n’importe quelle entité caméra (via l’outil get_camera_image) et d’analyser ce que voit la caméra. Aucun fichier d’instantané n’est écrit. Note de confidentialité : lorsque cette option est activée, toutes les caméras de Home Assistant deviennent visibles par l’IA.
- Activer l’accès aux fichiers imagePermet aux assistants IA de lire des fichiers image (JPEG, PNG, GIF, WebP) sur le disque (via l’outil get_image_file), par exemple des instantanés de caméra enregistrés par le service camera.snapshot. L’accès est limité aux répertoires que Home Assistant est autorisé à utiliser (le répertoire de configuration et les répertoires multimédias configurés). Note de confidentialité : toute image stockée dans ces répertoires devient lisible par l’IA.
- Activer le rendu des templatesAutorise les assistants IA à évaluer des templates Jinja2 arbitraires (via l’outil render_template). Un template peut lire en un seul appel chaque état, attribut, appareil et zone de l’instance, et peut appeler des fonctions de template comme states, state_attr, device_attr et integration_entities. C’est pourquoi Home Assistant réserve son propre outil de développement de templates aux administrateurs. Note de confidentialité : lorsque cette option est activée, l’IA peut lire tout ce qu’un template peut atteindre.
- Activer l’accès aux fichiers des apps AppDaemonPermet aux assistants IA de gérer les fichiers d’application AppDaemon dans la racine des apps AppDaemon, configurée séparément et délimitée. Activer l’accès en écriture permet à un client IA/MCP de modifier du code Python AppDaemon exécutable, ce qui donne une capacité équivalente à l’exécution de code dans l’environnement AppDaemon, ainsi que l’accès dont dispose AppDaemon. Les chemins en dehors des racines approuvées /share/, /media/ ou de l’ancienne racine /addon_configs/a0d7b954_appdaemon/apps, les traversées avec .. et les échappements par lien symbolique sont rejetés. Seuls les fichiers .py, .yaml, .yml et .json peuvent être créés, écrits ou supprimés. Chaque enregistrement ou suppression crée d’abord un instantané de l’arborescence des apps dans .mcp_appdaemon_backups/ ; une restauration crée un instantané préalable à la restauration. Cela ne donne pas accès à un shell ni au contrôle du processus AppDaemon. Les fichiers d’app peuvent contenir des identifiants : retire les valeurs sensibles des fichiers lisibles avant d’activer cette option.
- Racine des apps AppDaemonRacine absolue des apps AppDaemon. Par défaut /addon_configs/a0d7b954_appdaemon/apps, qui n’existe que si ce dossier d’application est monté dans Home Assistant Core (pas sur Home Assistant OS) ; sinon, utilise un dossier sous /share/ ou /media/ et fais pointer app_dir d’AppDaemon vers le même dossier.
- Nom du serveur MCPNom que ce serveur communique aux clients MCP (serverInfo.name). Donne un nom différent à chaque instance Home Assistant quand un client se connecte à plusieurs : certains clients déduisent de ce nom l’espace de noms qu’ils affichent pour les outils d’un serveur, puis ne conservent qu’un seul des serveurs. Ces clients peuvent d’abord raccourcir le nom (VS Code garde les 13 premiers caractères), donc différencie les noms dès le début.
Textes issus du code de ganhammar/hass-mcp-server. Les textes que le dépôt ne fournit pas en français ont été traduits automatiquement.
Dépannage
- Avis de correctionLes avis qu’elle peut afficher dans Paramètres > Corrections :Le fournisseur OIDC ne vérifie pas l’audience du jeton
Extrait du README
A Home Assistant Custom Component that provides an MCP (Model Context Protocol) server using HTTP transport, allowing AI assistants like Claude to interact with your Home Assistant instance.
Why HTTP transport with OAuth? This project was built primarily to support MCP Streamable HTTP transport, enabling web-based clients like Claude that require OIDC and OAuth 2.0 Dynamic Client Registration (RFC 7591). Since Home Assistant already has an official MCP integration that supports SSE transport, there wasn't a need to duplicate that. For local or custom client setups, Long-Lived Access Token authentication can be enabled as an alternative.
- 🌐 HTTP transport (not SSE) - works remotely, not just locally
- 🔐 OAuth 2.0 authentication with Dynamic Client Registration (via hass-oidc-server)
- 🔑 Long-Lived Access Token authentication (opt-in) for local and custom client setups
- 🏠 Full Home Assistant API access (entities, services, areas, devices, history, statistics)
- 🔧 Easy HACS installation
- 📝 CRUD management of automations, scenes, scripts, and helper entities (input_boolean, counter, timer, schedule, and more)
- 🔍 Automation & script traces — inspect why a run fired, didn't fire, or took the wrong branch, step by step (read-only)
- 📋 Lovelace dashboard management (list, get/save/delete config, create/update/delete dashboards) with outline reads and JSON Patch edits so a single card can be changed without resending the whole…
Informations
- Installations
- 1,3 k partagent leurs statistiques
- Étoiles GitHub
- 83
- Connexion
- Fonctionne en local
- Maintenance
- Mise à jour au cours des 6 derniers mois
- Version
- v2.0.1,
- Catégorie
- IA et voix, Modèles d’IA
- Type
- Intégration de la Marketplace
- Prérequis
- Nécessite la Marketplace (HACS sur Home Assistant 2026.10 et les versions antérieures)
- Domaine
mcp_server_http_transport- Problèmes
- Signaler un problème











