# Chaque serveur MCP, trouvé. Chaque appel d’outil, gouverné.

> Trouvez chaque serveur MCP sur chaque poste, notez-le sur des preuves et gouvernez chaque appel d’outil via une passerelle. Agent en lecture seule, compatible avec tout MDM.

Source: https://www.lutril.com/fr/mcp-governance

---

Vos équipes ajoutent des serveurs MCP à Cursor, Claude Desktop et VS Code avec un jeton dans un fichier de configuration. Personne ne les a validés. Lutril les trouve sur le poste, les note et gouverne ceux que vous gardez.

## Une boucle fermée, du poste de travail au journal d’audit.

Une passerelle ne gouverne que ce qu’on y fait passer. Lutril commence sur le poste, là où vit le shadow MCP, et finit dans le journal d’audit.

### 1. Trouver chaque serveur MCP sur chaque poste

Un agent en lecture seule, déployé par votre MDM, lit la configuration MCP de 17 clients IA sur macOS, Linux et Windows.

Il ne lit jamais la valeur d’un secret et n’exécute jamais ce qu’il trouve.

- Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Codex CLI et d’autres
- Les processus MCP en cours observés, pas seulement les fichiers
- Les configurations personnelles et celles versionnées dans les dépôts

### 2. Noter sur des preuves, décider une fois pour le parc

Les signaux deviennent un score aux pondérations publiques.

Une décision couvre toutes les installations d’une même définition.

Un serveur qui change après approbation est rouvert et annoncé dans Slack et Teams.

- Approuver, rejeter ou accepter le risque, avec une note
- Détection des rug pulls par empreinte de chaque définition
- Chaque constat nomme son correctif

### 3. Promouvoir ce que vous gardez derrière la passerelle

Un serveur distant déjà utilisé par le parc devient une entrée du registre en un clic, à la même origine.

Il hérite de la connexion OAuth 2.1, de l’inventaire des outils, des autorisations d’écriture, du masquage et de l’audit.

- L’entrée du registre est le serveur trouvé, jamais un substitut
- Outils synchronisés et classés lecture, écriture ou destructif
- Les serveurs locaux en stdio restent soumis à approbation

### 4. Gouverner chaque appel d’outil, et le prouver

Chaque appel arrive au nom d’une personne identifiée ou d’un agent enregistré.

La politique vérifie l’outil et ses arguments, une écriture demande une approbation dans Slack, Teams ou l’application, et chaque appel atterrit dans un journal en ajout seul.

- Les règles sur les arguments refusent une branche, un canal ou une fiche par sa valeur
- Un coupe-circuit pour un agent ou pour tous
- Les agents passent dans les mêmes revues d’accès que les personnes

## Une passerelle voit ce que vous y faites passer. Le poste voit le reste.

La plupart des serveurs MCP sont des processus locaux que le client IA lance lui-même. Leurs appels ne traversent jamais une passerelle, donc la découverte doit se faire sur le poste.

**Ce qui passe par la passerelle**

- Les serveurs distants que vous avez enregistrés
- Des appelants connectés via votre fournisseur d’identité
- Une politique sur les outils et les valeurs des arguments
- Une ligne d’audit par appel

**Ce que seul le poste peut montrer**

- Les serveurs locaux lancés par le client lui-même
- Un jeton en clair dans un fichier de configuration
- Une entrée approuvée remplacée par une autre commande
- Un serveur versionné dans un dépôt
- Un fichier de configuration modifiable par tout compte local

Les failles de clients MCP de 2026 étaient toutes locales : une entrée approuvée remplacée sans nouvelle demande, et une page web écrivant un serveur dans un fichier de configuration. L’empreinte de la définition détecte les deux sur le poste.

## Les décisions dans Slack, Teams et l’application.

La boucle tourne là où votre équipe sécurité travaille déjà.

- **Les alertes dans votre canal** Un serveur à risque élevé ou une définition modifiée est publié dans le canal que vos alertes Shadow IT utilisent déjà, au plus une fois par jour par problème.
- **Les approbations d’écriture dans la conversation** Une écriture sans autorisation devient une demande au responsable de l’application, dans Slack, Teams ou l’application. L’autorisation peut être limitée dans le temps ou à un seul appel.
- **Une console pour tout le parc** Les définitions regroupées sur leurs installations, les postes avec leur dernier rapport, et les analyses partielles ou identités déduites signalées comme telles.

## Questions fréquentes

### Qu’est-ce que le shadow MCP ?

Le shadow MCP est un serveur MCP connecté à un client IA sans revue, sans inventaire et sans responsable. Il apparaît quand quelqu’un colle un serveur et un jeton dans le fichier de configuration de Cursor, Claude Desktop ou VS Code. Dès lors, un modèle d’IA atteint tout ce que ce serveur atteint, sous le compte de cette personne. L’OWASP classe les serveurs MCP fantômes en MCP09 de son Top 10 MCP.

### Comment Lutril découvre-t-il les serveurs MCP sur les postes ?

Un agent en lecture seule, déployé par votre MDM, lit les fichiers de configuration MCP de 17 clients IA et observe les processus MCP en cours. Une fois par heure, il envoie la forme de chaque définition, jamais la valeur d’un secret. Lutril la note et la regroupe avec la même définition trouvée sur d’autres postes.

### Quels clients IA sont couverts ?

Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Cline, Roo Code, Continue, Zed, Codex CLI, Gemini CLI, Goose, Amazon Q, Kiro, LM Studio, opencode et JetBrains AI, fichiers par dépôt compris. Les clients uniquement web comme ChatGPT gardent leurs connecteurs côté serveur ; la passerelle et l’extension de navigateur couvrent ceux-là.

### L’agent exécute-t-il les serveurs trouvés pour lister leurs outils ?

Non. Exécuter un serveur local revient à lancer une commande qu’un attaquant a pu écrire. L’agent ne fait que lire la configuration, et un test fait échouer la compilation si un appel d’exécution apparaît dans l’analyseur. Les outils sont énumérés dans la passerelle, pour les serveurs que vous y faites passer.

### Qu’est-ce qu’un rug pull, et comment est-il détecté ?

Un rug pull est un serveur propre à l’approbation et hostile après une mise à jour, parce que les clients rechargent les définitions sans redemander. Lutril calcule une empreinte de chaque définition et rouvre la revue quand elle change, avec le détail du changement et une alerte dans Slack et Teams.

### Que se passe-t-il quand j’approuve une définition ?

La décision couvre toutes les installations de cette définition dans le parc, avec votre note. Les constats propres à une copie, comme un jeton en clair dans le fichier d’une personne, restent ouverts sur cette installation : approuver une commande n’approuve pas un secret mal rangé.

### Un serveur découvert peut-il passer derrière la passerelle ?

Un serveur distant, oui, en un clic, à l’origine que le parc utilise déjà. Il reçoit alors la connexion OAuth 2.1, un inventaire d’outils, des autorisations d’écriture, le masquage et le journal d’audit. Un serveur local en stdio n’a pas de chemin réseau, il est donc approuvé ou rejeté là où il est.

### Qu’applique la passerelle sur un appel d’outil ?

Qui appelle, quel serveur et quel outil, quelles valeurs d’arguments, et si l’appelant détient une autorisation d’écriture. Une écriture sans autorisation devient une demande d’approbation dans Slack, Teams ou l’application. Les réponses peuvent être masquées ; les arguments ne sont jamais réécrits. Chaque appel est journalisé.

### Faut-il un EDR ou un MDM particulier ?

Non. L’agent est un seul exécutable sans runtime ni dépendance tierce, installé par Intune, Jamf, Kandji, Workspace ONE ou un terminal. Il ne parle qu’à votre instance Lutril et n’a besoin d’aucun autre produit sur le poste.

### Qu’envoie l’agent, et que n’envoie-t-il jamais ?

Il envoie la forme de chaque définition : nom, client, commande, forme des arguments, noms des variables, paquet et version figée, origine distante, permissions du fichier et une empreinte. Il n’envoie jamais la valeur d’un secret, le contenu d’un fichier, la ligne de commande d’un processus ni un chemin contenant un nom d’utilisateur. L’option dry-run affiche la charge utile exacte.
