Aller au contenu

Serveurs MCP

Un serveur MCP est un petit programme qui propose des outils supplémentaires à l’assistant — lire un système de tickets, interroger une base de données, piloter un outil de conception. Pia peut démarrer des serveurs MCP qui vivent sur ton propre ordinateur et transmettre leurs outils à l’assistant, aux côtés des siens. Ouvre la liste depuis Paramètres → Assistant → Serveurs MCP.

Les serveurs MCP que tu ajoutes ici s’exécutent uniquement sur cet ordinateur. Pia démarre chacun comme un programme local et communique avec lui via l’entrée et la sortie de ce programme. Un serveur qui vit sur internet derrière une URL ne peut pas être ajouté — Pia le refuse avec « Les serveurs distants ne sont pas pris en charge — uniquement ceux que Pia démarre sur cet ordinateur. » Les outils fournis par le serveur Pia sont une chose distincte, gérés sous Extensions.

Ajouter un serveur ouvre un formulaire avec cinq champs :

Champ Ce qu’on y met
Nom Comment tu veux appeler le serveur. Cela détermine aussi le préfixe des outils.
Commande Le programme que Pia exécute pour démarrer le serveur — npx, uvx, python, ou le chemin complet vers un exécutable.
Arguments Un par ligne.
Variables d’environnement Une CLÉ=valeur par ligne.
Répertoire de travail Facultatif. Le dossier dans lequel le serveur démarre.

Les valeurs d’environnement sont chiffrées pour ton compte Windows, donc un jeton d’API que tu mets dans l’une d’elles n’est pas lisible par un autre compte sur la même machine, et n’est jamais synchronisé vers Pia Cloud.

La plupart des serveurs MCP sont documentés sous forme d’extrait JSON destiné à un autre client. Plutôt que de le retranscrire champ par champ, colle-le dans Coller une configuration et clique sur Remplir depuis le JSON. Pia accepte une entrée mcpServers, ou un simple objet contenant une command, et en extrait le nom, la commande, les arguments et les variables d’environnement :

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Work"]
}
}
}

Colle un seul serveur à la fois. Un extrait qui en contient plusieurs est refusé avec « Cela contient plusieurs serveurs. Ajoutez-les un à la fois. » Le formulaire reste modifiable une fois le JSON lu, pour que tu puisses corriger un chemin ou ajouter un jeton avant d’enregistrer.

Tester la connexion démarre le serveur sur-le-champ, lui demande quels outils il propose, et te fait un rapport. C’est le moyen le plus rapide de repérer un chemin erroné ou un jeton manquant, l’alternative étant de le découvrir la première fois que l’assistant tente d’utiliser un outil.

  • En cas de réussite : « Connecté. N outil(s) disponible(s). », et la liste des outils se remplit en dessous.
  • En cas d’échec : « Connexion impossible : … », avec la raison donnée par le serveur.

Tester la connexion peut prendre jusqu’à 90 secondes la première fois. Une commande comme npx -y <package> télécharge le serveur avant de répondre, et ce téléchargement n’a lieu qu’au premier lancement.

Sous Outils disponibles, coche les outils que tu veux donner à l’assistant. « Seuls les outils cochés sont proposés à l’assistant. » signifie exactement cela : un outil que tu décoches n’est pas simplement non approuvé, l’assistant n’apprend même pas qu’il existe et ne peut pas demander à l’exécuter. Tous et Aucun règlent la liste entière d’un coup, et un outil qui peut supprimer quelque chose est marqué peut supprimer.

Un serveur que tu n’as pas encore testé propose tous ses outils. La liste affiche « Testez la connexion pour lister les outils de ce serveur. » tant que Pia ne les a pas vus, et tant que tu ne l’as pas restreinte, l’ensemble des outils du serveur est proposé.

Les noms d’outils sont préfixés par le serveur

Section intitulée « Les noms d’outils sont préfixés par le serveur »

Chaque outil d’un serveur MCP local est renommé <préfixe>__<outil> avant que l’assistant ne le voie — un outil search sur un serveur nommé « Jira Cloud » devient jira_cloud__search. Le préfixe vient du nom du serveur, mis en minuscules, tout caractère qui n’est ni une lettre ni un chiffre étant remplacé par un tiret bas ; il est affiché comme Préfixe d’outil sur le formulaire, pour que tu voies ce que l’assistant va appeler.

Ce préfixage permet à deux serveurs qui proposent chacun un outil search d’être activés en même temps sans conflit, et aucun ne peut masquer l’un des outils propres à Pia.

Sélectionner un serveur dans la liste ouvre sa page de détail à droite, qui affiche :

  • Si son état est En cours, Désactivé, Démarrage…, ou Arrêté — un serveur qui n’a pas réussi à démarrer indique pourquoi sur la même ligne.
  • Sa commande, ses arguments et son répertoire de travail.
  • Les noms de ses variables d’environnement, jamais leurs valeurs.
  • Chaque outil qu’il propose, ceux que tu as retirés étant marqués bloqué, avec un résumé « N outil(s) sur M proposé(s) ».

Tester la connexion se trouve à côté de Modifier et Supprimer sur cette page, donc un serveur qui est désactivé peut quand même être interrogé sur ce qu’il propose, sans devoir d’abord le réactiver.

Un serveur qui n’est pas en cours d’exécution affiche les outils qui étaient autorisés lors de sa dernière exécution, signalés comme tels. Un serveur que Pia n’a jamais démarré affiche « Démarrez ce serveur, ou utilisez « Tester la connexion », pour lister ses outils. »

Chaque ligne de la liste a un interrupteur. Désactiver un serveur l’arrête et retire ses outils de l’assistant ; le réactiver le redémarre. Modifier un serveur en cours d’exécution l’enregistre et le redémarre, ce que le formulaire indique par « Enregistrement… le serveur redémarre. »

Supprimer retire définitivement le serveur, et demande d’abord confirmation — « Supprimer « X » ? Ses outils ne seront plus disponibles pour l’assistant. »

La raison que Pia rapporte vient du serveur lui-même ; voici les cas les plus courants :

  • La commande n’est pas dans ton PATH. Indique le chemin complet vers l’exécutable plutôt que son simple nom.
  • Une variable d’environnement requise est manquante. La plupart des serveurs qui accèdent à un service payant ont besoin d’un jeton d’API dans Variables d’environnement.
  • Le répertoire de travail n’existe pas. Laisse-le vide, sauf si la documentation du serveur en demande un.
  • Le premier lancement est encore en train de télécharger. Une commande npx -y récupère le paquet avant de répondre ; teste à nouveau une fois que c’est fait.

Pour décider lesquels de ces outils peuvent s’exécuter sans te demander à chaque fois, consulte Permissions des outils. Pour les outils que ton serveur Pia fournit, consulte Extensions.