Gaia
  • La société
  • Expertises
  • Centre de services
  • Produits
    • G-Remote
    • G-EIM
    • Gitit
  • Ressources
  • Contact
  • Dispositifs IA
  • Blog
  • Volubis
  • Menu Menu
  • Lien vers X

Archive pour la catégorie : IA

Vous êtes ici : Accueil1 / IA
IAComment BOB m’a aidé, à l’aider !

Quand Service Commander, un serveur MCP et une locale pakistanaise décident de compliquer votre journée

Ces derniers jours, j’ai installé un serveur MCP IBM i en m’appuyant sur Service Commander. Une opération qui, sur le papier, semblait relativement simple : installer le serveur MCP, créer le service par service commander pour faciliter l’exploitation.

Pourtant, je me suis retrouvé face à un comportement particulièrement déroutant. Et c’est là que l’utilisation de l’IA (BOB en l’occurrence) s’est révélée extrêmement intéressante.

Le symptôme : ça marche… sauf quand ça ne marche pas

Le serveur MCP démarrait parfaitement lorsque je lançais cette commande avec le profil MCPSERVER créé pour l’occasion :

sc start ibmi-mcp-server

Mais avec mon profil habituel, j’obtenais systématiquement un message d’erreur, ou alors un message de complétion mais le serveur MCP était inactif.

Le détail intriguant était que le service était pourtant configuré pour soumettre le job sous le profil MCPSERVER :

sbmjob_opts: 'JOBQ(QUSRNOMAX) USER(MCPSERVER)'

En théorie, le profil appelant n’aurait donc pas dû avoir d’importance.

La tentation du mauvais diagnostic

Le premier réflexe est de suspecter :

  • un problème de droits ;
  • un problème de PATH ;
  • une configuration npm ;
  • Node.js ;
  • la configuration MCP ;
  • ou encore Service Commander lui-même.

J’ai commencé à analyser les jobs, les spools, les variables d’environnement et les traces de démarrage.

Rapidement, une chose est apparue : le job était bien soumis sous MCPSERVER, mais l’environnement du processus n’était pas toujours cohérent.

Une découverte intéressante

Les premiers logs montraient que lorsque le démarrage était demandé par NB, certaines informations restaient liées à ce profil :

HOME=/home/NB
USER=nb
LOGNAME=nb

alors que le job tournait sous MCPSERVER.

J’ai donc modifié la configuration pour désactiver l’héritage implicite de l’environnement :

environment_is_inheriting_vars: false

et défini explicitement les variables nécessaires.

Le comportement a changé, mais le problème n’était toujours pas totalement résolu.

Le vrai coupable : la commande de démarrage

Pendant plusieurs itérations, j’ai tenté de simplifier la définition du service :

start_cmd: /QOpenSys/pkgs/bin/bash -lc 'exec npx ...'

Curieusement :

  • la commande fonctionnait sous MCPSERVER ;
  • la même commande échouait lorsqu’elle était lancée par NB.

J’ai alors déplacé toute la logique de démarrage dans un wrapper (un shell script start-mcp.sh) :

#!/QOpenSys/pkgs/bin/bash
export HOME=/home/MCPSERVER
export USER=MCPSERVER
cd /projet/ibmi-mcp-server
exec npx -y @ibm/ibmi-mcp-server@latest \
     --transport http \
     --tools ./tools

Puis :

start_cmd: /projet/ibmi-mcp-server/start-mcp.sh

Et là, miracle :

  • démarrage depuis MCPSERVER : OK ;
  • démarrage depuis NB : OK.

La configuration devenait à la fois plus robuste et plus lisible.

Le deuxième mystère : une locale pakistanaise

Comme si cela ne suffisait pas, les logs contenaient également des messages du type :

Objet introuvable. L'objet est FR_FR.UTF-8.

warning: setlocale: LC_ALL: cannot change locale (ur_PK.UTF-8)

Pourquoi un serveur IBM i situé en France essayait-il d’utiliser une locale pakistanaise ?

Après investigation, j’ai découvert que Service Commander contient la logique suivante :lorsque aucune locale UTF-8 n’est définie dans l’environnement, Service Commander choisit simplement… la dernière locale (par ordre alphabétique) UTF-8 trouvée sur le système.

Sur ma machine, c’était : ur_PK.UTF-8, c’est-à-dire :

  • ur = ourdou
  • PK = Pakistan

D’où le message surprenant.

La solution a finalement consisté à définir explicitement :

export LC_ALL=FR_FR.UTF-8@euro

dans ~/.profile et ~/.bashrc

Depuis, plus aucun avertissement.

Et BOB dans tout ça alors ?

Ce que l’IA m’a réellement apporté ?

La partie la plus intéressante de cette aventure n’est pas le problème technique lui-même, j’aurais fini par trouver la solution. Les indices étaient là :

  • les spools ;
  • les joblogs ;
  • les variables d’environnement ;
  • le comportement différent selon le profil utilisé.

Mais cela m’aurait probablement pris plusieurs heures supplémentaires, que j’aurais réparti sur plusieurs jours.

L’IA n’a pas « résolu le problème à ma place ». Elle n’a pas eu accès à ma machine (je vous rappelle que j’installais le serveur MCP à ce moment là), à mes commandes ou à la documentation interne de mon environnement.

En revanche, elle a joué un rôle extrêmement utile :

  • proposer des pistes d’investigation ;
  • analyser rapidement les spools ;
  • repérer les incohérences ;
  • suggérer des vérifications ciblées ;
  • éliminer de nombreuses hypothèses ;
  • structurer le raisonnement.

En pratique, elle s’est comportée comme un collègue expérimenté assis à côté de moi, capable de relire instantanément chaque log et de suggérer la prochaine étape.

J’hallucine ?

Pas beaucoup sur cette affaire là ! Pas de commande (shell ou IBM i) extravagante, de boucle dans les réponse, d’idée totalement saugrenue.

Attention, plusieurs critères à prendre en compte :

  • je connais le sujet
  • j’ai fait des prompts verbeux et précis
  • j’ai détecté les mauvaises pistes ET donner les informations pour que BOB comprenne pourquoi c’est une mauvaise piste

Ce que je retiens

L’apport principal de BOB dans ce type de situation n’est pas le remplacement de l’expertise.

C’est l’accélération du diagnostic.

Mon expertise IBM i m’a permis d’interpréter les résultats, de comprendre les implications et de valider les solutions. L’IA, elle, m’a aidé à parcourir beaucoup plus rapidement l’arbre des hypothèses possibles.

Résultat :

  • un serveur MCP fonctionnel ;
  • une configuration Service Commander plus robuste ;
  • une anomalie de locale identifiée et corrigée ;
  • et quelques heures gagnées sur une enquête qui aurait probablement été bien plus longue en solitaire.

Et, accessoirement, j’ouvrirais une issue sur la gestion des locales par service commander !

7 juillet 2026/par Nathanaël Bonnet
https://www.gaia.fr/wp-content/uploads/2017/02/team1.png 600 600 Nathanaël Bonnet /wp-content/uploads/2017/05/logogaia.png Nathanaël Bonnet2026-07-07 09:40:552026-07-07 19:38:00Comment BOB m’a aidé, à l’aider !
API, IA, VSCodeQu’est-ce que le Model Context Protocol (MCP) ?

Définition du protocole MCP

Le Model Context Protocol (MCP) est un protocole ouvert et standardisé qui permet aux intelligences artificielles (comme Claude, ChatGPT, ou autres grands modèles de langage) de se connecter facilement à des outils, services et sources de données externes. C’est un peu comme l’USB-C des applications IA : au lieu d’avoir un câble différent pour chaque appareil, tu as un seul connecteur universel qui fonctionne avec tout.

Comment ça fonctionne ?

Sans MCP, chaque outil (GitHub, base de données, email, API) avait sa propre façon de se connecter, ce qui obligeait les développeurs à créer des intégrations personnalisées pour chaque combinaison. Avec le MCP, tout le monde utilise la même méthode standard, ce qui rend les connexions beaucoup plus simples et universelles.

Le MCP permet aux IA de sortir de leurs données d’entraînement et d’accéder à des informations en temps réel. Mais surtout, il leur permet d’agir dans le monde réel. Par exemple, tu peux demander à ton IA dans VS Code de lire un fichier source, puis d’écrire automatiquement un résumé dans ton outil de prise de notes comme Notion. D’autres actions possibles : envoyer un email, consulter GitHub, modifier un fichier, créer un événement dans l’agenda, etc. C’est ce qui rend possible l’IA agentique : des programmes intelligents capables de poursuivre des objectifs et d’entreprendre des actions de manière autonome, sans que l’humain ait à copier-coller ou basculer manuellement entre ses outils.

Pourquoi est-il important de s’intéresser au protocole MCP ?

Pour rappel, le protocole MCP joue un rôle essentiel puisqu’il facilite les échanges entre les IA, les applications et les outils utilisés en entreprise. Il permet de connecter plus simplement différents systèmes tout en améliorant la circulation et l’exploitation des données.

Selon les différents rôles dans une entreprise, le MCP apporte plusieurs avantages :

Équipes techniques et développeurs : il simplifie les intégrations, réduit la complexité du développement et accélère la mise en place de nouveaux outils.

Managers et responsables métiers : il améliore l’automatisation, la circulation des informations et l’efficacité des processus internes.

Pour les responsables métiers et managers : ilaméliore la circulation des informations et facilite l’automatisation de certaines tâches. Il aide les managers à gagner du temps, à mieux suivre les activités et à prendre des décisions plus efficacement grâce à un accès simplifié aux données.

En résumé les MCP accompagne la modernisation des entreprises en favorisant des architectures plus connectées, flexibles et évolutives.

Exemple d’utilisation :

Étapes du processus
  1. L’utilisateur saisit sa question dans l’interface de chat (ex. : « Quelles commandes sont en retard cette semaine ? »).
  2. L’assistant IA transmet la requête au serveur MCP PostgreSQL ou autre.
  3. Le serveur MCP traduit la requête en SQL et interroge la bdd.
  4. Le résultat est retourné au LLM, qui formule une réponse en langage naturel.
  5. L’utilisateur obtient une réponse contextualisée, sans accès direct à la base.

La sécurité des MCP

Le MCP supporte OAuth pour l’authentification et recommande TLS pour le chiffrement des échanges.deux mécanismes que tu dois explicitement configurer, ils ne sont pas actifs par défaut

Le modèle Zero Trust : « ne jamais faire confiance au réseau, même interne ».

Les bonnes pratiques recommandées :

Accorder aux serveurs MCP uniquement les droits strictement nécessaires à leur fonctionnement, conformément au principe du moindre privilège, afin de limiter les risques liés aux erreurs, attaques ou accès non autorisés.

Contrôler régulièrement les accès et permissions attribués à chaque serveur pour éviter toute autorisation excessive ou inutile.

Vérifier et comprendre précisément les accès accordés lors de la mise en place d’une connexion MCP.

Utiliser exclusivement des serveurs MCP fiables et de confiance.

Human-in-the-loop : toujours exiger une confirmation manuelle avant les actions critiques (suppression, déploiement, envoi)

Sandboxing : isoler les serveurs MCP dans des containers Docker pour limiter la portée d’une compromission

Rotation des secrets : ne jamais hardcoder de clés API dans la config MCP.

2 juin 2026/par Dilhan Dincer
/wp-content/uploads/2017/05/logogaia.png 0 0 Dilhan Dincer /wp-content/uploads/2017/05/logogaia.png Dilhan Dincer2026-06-02 10:00:002026-06-02 17:23:19Qu’est-ce que le Model Context Protocol (MCP) ?
Search Search

Nos Formations

Formations Volubis

Articles récents

  • La norme IS27001
  • Comment BOB m’a aidé, à l’aider !
  • Les droits d’un fichier IFS à sa création
  • Droit d’utilisateur sur un fichier IFS
  • Open source IBMi

Archives

  • juillet 2026
  • juin 2026
  • mai 2026
  • avril 2026
  • mars 2026
  • février 2026
  • janvier 2026
  • décembre 2025
  • novembre 2025
  • octobre 2025
  • septembre 2025
  • août 2025
  • juillet 2025
  • juin 2025
  • mai 2025
  • avril 2025
  • mars 2025
  • février 2025
  • janvier 2025
  • décembre 2024
  • novembre 2024
  • octobre 2024
  • septembre 2024
  • août 2024
  • juillet 2024
  • juin 2024
  • mai 2024
  • avril 2024
  • mars 2024
  • février 2024
  • janvier 2024
  • décembre 2023
  • novembre 2023
  • octobre 2023
  • septembre 2023
  • août 2023
  • juillet 2023
  • juin 2023
  • mai 2023
  • avril 2023
  • mars 2023
  • février 2023
  • janvier 2023
  • décembre 2022
  • novembre 2022
  • octobre 2022
  • septembre 2022
  • août 2022
  • juillet 2022
  • juin 2022
  • mai 2022
  • avril 2022
  • mars 2022
  • février 2022
  • janvier 2022
  • décembre 2021
  • novembre 2021
  • octobre 2021
  • septembre 2021
  • août 2021
  • juillet 2021
  • juin 2021
  • mai 2021
  • avril 2021
  • mars 2021
  • février 2021
  • janvier 2021
  • décembre 2020
  • novembre 2020
  • octobre 2020
  • septembre 2020
  • août 2020
  • juillet 2020
  • juin 2020
  • mai 2020
  • avril 2020
  • mars 2020
  • janvier 2020
  • décembre 2019
  • novembre 2019
  • octobre 2019
  • septembre 2019
  • août 2019
  • juillet 2019
  • juin 2019
  • mai 2019
  • mars 2019
  • février 2019
  • janvier 2019
  • novembre 2018
  • octobre 2018
  • juillet 2018
  • juin 2018
  • mai 2018
  • avril 2018
  • mars 2018
  • février 2018
  • janvier 2018
  • décembre 2017
  • octobre 2017
  • septembre 2017
  • août 2017
  • juillet 2017
  • février 2017

Catégories

  • 400iday
  • Access Client Solutions
  • Administration
  • Analyse de Données
  • API
  • Commandes
  • Développement
  • DSPF
  • Fonctions Géospatiales
  • hardware
  • IA
  • Navigatorfori
  • News
  • Non classé
  • Open source
  • Organisation
  • Personal
  • RDI
  • RPG Free
  • Securité
  • SQL_DB2
  • Uncategorized
  • VSCode
©Copyright. GAIA MINI SYSTEMES | Tous droits réservés | Mentions Légales | Wovenlinks, agence web
  • La société
  • Expertises
  • Centre de services
  • Produits
  • Ressources
  • Contact
  • Dispositifs IA
  • Blog
  • Volubis
Faire défiler vers le haut Faire défiler vers le haut Faire défiler vers le haut
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Acceptez-vous l'utilisation des cookies ?