Serveur MCP pour connecter Jeedom aux IA

Merci Loic pour cette réponse concernant les MCP, il me semble que c’est effectivement un must have aujourd’hui.
Et concernant le deuxième gros sujet qui apparaît dans ce post : le Matter over thread ?

Comme pour le MCP ça fait parti des trucs à prendre en compte … je suis entrain d’étudier la solution HA comme pont Matter vers Jeedom mais j’avoue que j’y vais à reculons mais c’est dommage car par exemple IKEA a sorti de chouettes trucs en Matter que les Jeedom user ne peuvent pas facilement utiliser :confused:

Bonjour
Matter est toujours prévu mais pour le moment ça manque de maturité pour preuve ha vient d’abandonner sont matter python au profit de matter.js y’a même pas deux mois.

Matter.js semble prometteur effectivement mais malheureusement nous manquons de ressources pour tout mener de front.

Pour te dire le support et la maintenance de l’infra c’est 90% de mon temps ça se voit à mes commit je pense je trouve plus le temps de faire du dev et toute l’équipe est sous l’eau comme ça.

1 « J'aime »

Bonjour
Pour ceux qui acclament le MCP, quelles fonctionnalités vous attendez exactement ?
Je ne connais pas les spécificités des autres plateformes ayant déjà intégré le MCP mais je sais que ça sera pas du plus simple sur Jeedom notamment vu l’absence de type-generique sur les équipements et commandes.
L’IA va avoir du mal à transformer une phrase en commande, du moins c’est un des défits.
Deuxième défit sécurité et confidentialité des données, des risques existent et cela dépasse les capacités du plugin.
Trois il faut que l’IA puisse communiquer via un accès externe et c’est pas simple non plus car visiblement, il faut maintenir une session active entre le serveur et l’IA.

Bonjour Loic

d’où l’intérêt de se mettre à l’IA :kissing: :grin:

Salut

C’est en utilisant l’ia tout ça déjà sans ça sa serait encore pire effectivement surtout côté infra

Bonjour,
J’utilise depuis quelques temps Claude code pour créer des widgets ou tuiles pour les designs Jeedom et il est super efficace ! Il comprend très bien le contexte, connaît les langages qu’utilise Jeedom … ça fonctionne très bien.
L’interêt d’une connexion MCP permet de ne pas avoir à préciser les ID des commandes pour commencer. Ensuite ce la permettrait aussi de créer directement des designs par exemple.
De pouvoir pourquoi pas déplacer des équipements d’un objet à un autre pour réorganiser :man_shrugging:

Car on va pas se le cacher Jeedom ne brille pas par sa simplicité à faire de l’UX/UI joli :sweat_smile:
Évidemment comme tout ce qui se fait à travers un ou plusieurs agents il ya des risques destructifs, mais il peut aussi y avoir des gardes fous.

Le but premier d’un serveur MCP c’est de faire « le pont » entre un système ou un outil (ici jeedom) et un modèle LLM. Le but du serveur MCP c’est de donner les « clefs » à une IA pour qu’elle puisse interagir avec le système. Interagir peut vouloir dire « lire de la donnée » (pour par exemple ensuite laisser l’IA de résumer de l’info en fonction de ce qui lui a été demandé) ou bien « prendre le contrôle » (par exemple allumer une lumière, manipuler un volet etc…). Donc typiquement, cela remplacement totalement la fonctionnalité « Interraction » de jeedom. On pourrait demander quelque chose de (très) complèxe à l’IA.
Par exemple : Quelle est la moyenne de température à l’étage ? Peux-tu ouvrir les volets uniquement s’il fait moins de 25°. Allume le chauffage uniquement si les panneaux solaires produisent suffisamment ou bien si la batterie est suffisament chargée. etc…

Il existe bel et bien un mécanisme de type générique sur jeedom. Par contre, libre à chaque utilisateur de maintenir leurs commandes « à jour » vis à vis de ces types génériques

C’est justement exactement ce à quoi sert un serveur MCP. Si le serveur MCP expose suffisament de commandes, l’IA pourra justement comprendre ce qu’on lui demande et faire le lien avec la commande ou l’info sur jeedom.

Un serveur MCP donne la possibilité de connecter une IA. Libre à chacun d’y connecter ce qu’il veut. S’il veut y connecter une IA américaine (type OpenAI ou Google), c’est son problème et c’est lui qui prend la responsabilité derrière si ses données partent dans la nature. A contrario, il peut aussi très bien câbler ça sur un modèle local, et à ce moment là rien ne sort.

Là faut rentrer dans les détails techniques, mais la connexion peut rester « active » entre l’agent et le serveur. Mais là encore, l’agent IA peut être installé en local (via un plugin par exemple, c’est lui qui fait office de client MCP) même s’il fait appel à un modèle externe (openAI ou google). Au delà de cela, le fait que l’installation soit accessible depuis l’extérieur est un besoin qui était là avant l’arrivée de l’IA/MCP. Et l’aspect sécuritaire que cela implique (exposition d’un port, NAT, ou tunnelisation) n’est pas directement lié à l’utilsiation de MCP.

2 « J'aime »

il faut voir mon message plus haut comme un retour d’experiance.
j’ai en effet commencé un plugin mcp pour voir le fonctionnement, le comportement…
Un tel développement va se faire évidement via un plugin.
l’IA se connecte initialement au serveur et l’interroge sur ces compétences mais visiblement le plugin doit aussi faire des efforts pour comprendre et interpréter les demandes de L’IA.
un simple exemple; j’ai demandé à Gemini et Claude d’executer une commande ‹ Faire parler Alexa ›

  • Gemini m’a posé 36 questions et expliquer tout ce qu’il allait faire pour au final me sortir l’id d’une commande qui n’existe que dans son chapeau !
  • Claude a trouvé la commande (pas sans difficultés) mais n’as pas su envoyer les paramètres corrects.
    le json provenant de l’un et l’autre étaient sensiblement différent

Dans cet exemple le plugin doit faciliter la recherche et corriger la demande de l’IA.
il en va ainsi pour les autres compétences qu’on voudra donner au serveur.

Pour les types générique c’est compliqué de demander à l’utilisateur d’en déployer pour chaque commande, ça aurait été plus logique d’obliger chaque plugin à le faire pour ces commandes mais un peu tard.
Pour l’accès externe, les MCP utilisent une connexion sse, visiblement incompatible par exemple avec le service DNS-jeedom donc il faudra trouver des solutions(simples) car pour l’instant je ne peux faire fonctionner le serveur qu’en local.
concernant ma question initial

j’attend comme réponses;

  • lire une commande info
  • exécuter une commande action
  • écrire un scenario
  • lire un fichier
  • faire la vaisselle :kissing_smiling_eyes:

Bonjour
Pour les aventuriers j’ai mis en ligne une beta du plugin mais attention !!

  • Je conseille l’installation des des machines de test seulement
  • Le plugin est en beta et il n’est pas sûr que je poursuive son développement
  • A utiliser avec précaution
  • pour l’instant fonctionne en local, pour l’accès distant cela dépendra du type d’accès externe en tous cas ça marche pas avec le DNS jeedom.
  • S’il y a des Dev ou des personnes qui connaissent bien l’IA vous pouvez me MP.

Salut :slight_smile:

Merci pour cette initiative, juste dommage qu’il soit payant :confused: du coup on ne peut pas voir comment il est structuré, où tu en es, quelle approche tu as retenu, etc… :slight_smile:

Je demande ca, car j’en ai un aussi (de plugin) en cours de mon côté (encore en alpha à ce stade car bcp d’activités sur mes autres plugins ces temps-ci, donc j’ai pas le temps de tout faire :stuck_out_tongue: ), et comme l’IA et les MCP font parti des sujets que je traite dans une autre vie (pro :stuck_out_tongue: ), cela m’intéressait de voir l’approche que tu as retenu :wink:

TiTidom.

tu n’as pas tout lu ?

1 « J'aime »

Re,

Si mais visiblement je n’en avais pas compris le sens :wink:
Merci pour ton MP :+1:

TiTidom.

Bonjour à tous,

Pour partage, de mon côté, comme dit rapidement dans le message précédent, j’ai démarré le dev d’un plugin MCP pour Jeedom (avec la base de mes autres plugins qui utilisent des démons python, cela faisait un bon point de départ).

Voici où j’en suis (il reste encore beaucoup de choses à implémenter et à optimiser, mais j’essaie d’y aller étape par étape pour prendre en compte l’ensemble des aspects : sécurité, optimisation des commandes, simplicité de l’interface, etc… donc ca avance… à son rythme :slight_smile: )

Ce qui fonctionne à date :

  • Une partie php / jeedom : une interface « simple », qui permet de connecter plusieurs clients MCP différents (un par équipement), avec génération automatique d’un token pour identifier et sécuriser l’accès de chacun, gestion des droits sur les différents équipements, commandes.
  • La phase d’installation
  • Un démon en Python, basé sur le SDK officiel d’Anthropic, qui gère la liaison avec les clients MCP (Claude, Cursor, autres…)
  • Compatible avec les « DNS Jeedom » (donc accessible en interne et en externe)

Et voici une séquence de résultats obtenus (prometteurs, j’ai même été étonné, dans le bon sens du terme, du niveau de réponse apporté par Claude dans les interactions que j’ai pu avoir) :

Avec un client Claude Desktop (connecté au serveur MCP via les « dns jeedom »).

Demande de plusieurs infos venant du plugin Monitoring (l’uptime de l’équipement, sa mémoire disponible, les charges systèmes) :

La même chose (sur la charge) une heure plus tard (il me fait même le comparatif avant les valeurs précédentes) :

2 demandes en une (une commande « action » → rafraichir, et une demande d’info suite à cette action) :

Ensuite, j’ajoute un équipement dans la liste côté Jeedom, et je demande à Claude de rafraichir sa liste d’équipements :

Je lui demande ensuite d’envoyer une notification TTS sur l’équipement Google dans le bureau :

PS : sa réponse n’engage que lui, je n’y suis pour rien :stuck_out_tongue: :stuck_out_tongue: :rofl:

Ensuite je remodifie la liste des équipements transmis à l’IA, et je lui dis :

Je lui demande ensuite des infos « pertinentes » (à lui de deviner) sur mon onduleur, voici sa réponse :

Pour poursuivre, je lui ajoute des équipements :

Capture d'écran 2026-03-15 230537

Il se propose de tester, je lui dis ok :

Et voilà ce que j’ai reçu côté Discord :

Et enfin, je lui demande des « nouvelles » d’un autre de mes Jeedom :

Et pour finir, en rentrant ce soir, je lui demande « comment ca va à la maison » :


A voir ce que cela donne avec des commandes plus complexes, des scénarios, avec plus de commandes surtout, ce sera un des enjeux d’ailleurs (les commandes et leur interprétation).

A suivre :+1:

TiTidom.

14 « J'aime »

Bonjour,

Sera t’il possible de se connecter sur un serveur local Ollama par exemple ?

En tout cas belle avancée pour Jeedom.

:grinning:

Bonjour,

quel type de transport tu utilises entre Claude Desktop et MCP Server Jeedom ?
(SSE ou Streamable-HTTP ?)

akenad :slight_smile:

Bonsoir,

J’ai choisi de partir directement sur du streamable-http, plus simple d’une part pour passer des couches proxy, et ensuite car dans mes recherches, le SSE est visiblement en train d’être mis de côté au profit justement du streamable http pour les MCP.

La réponse courte : oui :stuck_out_tongue: Mais… :wink: :

Ollama étant uniquement le « moteur d’IA » (tu le connectes à un SLM/LLM derrière), il te faudra une brique devant pour faire « le pont » entre Ollama et le plugin MCP de Jeedom (mcpIA de son petit nom :slight_smile:). La solution la plus « simple » dans ce cas est d’utiliser Open WebUI (qui s’interface parfaitement avec Ollama, et s’installe en général via du docker) qui supporte la connexion à un serveur MCP en streambable http dans ses dernières versions.

TiTidom.

tout à fait.
d’ou ma question.
Merci.

akenad :slight_smile:

Bonjour
Le plugin MCP Server passe désormais d’un statut « Alpha test » au statut « Beta avancée ».
Cette version apporte des fonctionnalités majeures et confirme son potentiel pour l’avenir de la domotique intelligente sur Jeedom :kissing:.

Les nouveautés marquantes :

  • Gestion des scénarios : L’IA gagne en autonomie et peut désormais créer, modifier ou supprimer vos scénarios Jeedom.
  • Contrôle granulaire : Vous choisissez précisément quels équipements sont mis à disposition de l’IA.
  • Pilotage des équipements : Contrôle direct des modules autorisés par l’utilisateur.
  • Connectivité étendue : Le plugin est désormais compatible avec le DNS Jeedom, facilitant l’accès local et distant.
  • Accompagnement : Intégration d’un guide pour configurer le client IA.
  • Monitoring : Création d’un équipement virtuel permettant d’afficher l’état du plugin en temps réel.
  • Sécurité renforcée : Protocoles d’accès et de vérification optimisés.

image

Pour plus de détails, consulter la documentation et le changelog

2 « J'aime »

C’est parfait dans ce cas, merci pour tout retour.

:grinning:

Hello

très intéressant, donc avec ce plugin, l’IA peut nous aider voir meme créer tout seul la conception d’un scénario assez complexe ?

je ne vois pas de chanlog et documentation sur le market