En effet pour certains clients MCP (mobile, ou comme le client vocal que tu as montré plus haut) je crois qu’une version accessible via internet est nécessaire.
Merci pour l’information, je vais essayer de l’implémenter aussi, ça peut être vraiment cool d’y avoir accès en local pour ceux qui commencent dans Gladys.
Ouah ! super rapide le Pierre-Gilles, merci ! je vais l’intégré aussi.
Je viens de pousser l’authentification local, l’image est en cours de build. Pour accéder au MCP il faut maintenant générer une clé API depuis l’interface de l’intégration puis configurer votre client MCP pour envoyer un header Authorization avec pour valeur la clé générée.
Par exemple pour l’utiliser via Github Copilot dans VS Code voilà la configuration
Ensuite vous entrez cette url dans votre client MCP https://api.gladysgateway.com/v1/api/mcp/<OPEN_API_KEY> en remplaçant <OPEN_API_KEY> par la clé tout juste générée.
Par exemple sur Le Chat de Mistral, allez dans Intelligence → Connecteurs
En effet ça n’arrive peut être pas immédiatement, il y a 2 choses à prendre en compte. La première c’est que côté Gladys le schéma est généré au démarrage du service, on pourra ajouter un bouton “Relancer” comme on a fait pour HomeKit pour générer à nouveau le schéma si l’utilisateur vient d’ajouter un nouvel appareil. Pour le côté client, ça dépend de l’implémentation, en général ce que j’ai remarqué, c’est que client vérifie le schéma à son démarrage + si tu modifies la configuration du du MCP dans ton client et que tu sauvegardes.
Normalement je pense avoir mis tous les types de capteurs mais il en manque peut être quelques un.
Je vais préciser ça, c’est tous les capteurs + les appareils contrôlable compatible (aujourd’hui lampe, commutateur).
Tu pourrais me donner la catégorie et le type de feature qui est associée à cette fonctionnalité s’il te plait ? je vais vérifier
Depuis peu j’apprends sur YouTube comment créer un agent IA avec N8N. Si j’ai bien compris le fonctionnement du MCP, ce serveur me permettrais de connecter Gladys à mon agent IA et discuter avec lui pour lancer des scènes, récupérer des info de capteurs et commander mes prises et lumière sans passer par google home ou Alexa qui sont très limité?
J’ai poussé les changements demandés. Pour info j’ai également fait une petite mise à jour pour trouver le bon appareil demandé par l’utilisateur, si le nom exacte n’existe pas on fait une vérification de noms proches avec la distance de Levenshtein. Dans la plupart des cas ça ne devrait pas être nécessaire puisque l’ensemble du schéma est basé sur des énumérations, mais certains clients MCP ne semblent pas les prendre en compte. Après un petit test avec 11ai que tu présentais plus haut, il ne semble pas gérer correctement les énums et ces petits changements bien que pas parfait devraient aider un petit peu (une amélioration côté 11ai serait bien plus efficace)
Je viens de mettre à jour mon Gladys, et le service subit une erreur de démarrage sur mon environnement de prod. Apparemment due à un device qui n’aurait pas de room (je suppose).
compose-gladys-1 | 2025-11-03T16:18:35+0100 <info> index.js:27 (Object.start) Starting MCP service
compose-gladys-1 | 2025-11-03T16:18:35+0100 <warn> service.start.js:44 (Service.start) Unable to start service mcp TypeError: Cannot read properties of null (reading 'selector')
compose-gladys-1 | at /src/server/services/mcp/lib/buildSchemas.js:41:28
compose-gladys-1 | at Array.forEach (<anonymous>)
compose-gladys-1 | at MCPHandler.getAllResources (/src/server/services/mcp/lib/buildSchemas.js:28:17)
compose-gladys-1 | at MCPHandler.createServer (/src/server/services/mcp/lib/createServer.js:26:4)
compose-gladys-1 | at Object.start (/src/server/services/mcp/index.js:29:5)
compose-gladys-1 | at Service.start (/src/server/lib/service/service.start.js:33:7)
compose-gladys-1 | at start (/src/server/api/controllers/service.controller.js:22:21)
Je n’arrive pourtant pas à retrouver le device en question, je vais regarder dans la DB si je trouve
Edit:
C’est le device lié au service Enedis qui pose problème, je vais le supprimer pour l’instant je ne m’en sers pas
2025-11-03T15:04:03+0100 <warn> service.start.js:44 (Service.start) Unable to start service mcp TypeError: Cannot read properties of null (reading 'selector')
at /src/server/services/mcp/lib/buildSchemas.js:41:28
at Array.forEach (<anonymous>)
at MCPHandler.getAllResources (/src/server/services/mcp/lib/buildSchemas.js:28:17)
at MCPHandler.createServer (/src/server/services/mcp/lib/createServer.js:26:4)
at Object.start (/src/server/services/mcp/index.js:29:5)
at Service.start (/src/server/lib/service/service.start.js:33:7)