Les roots sont un moyen d'accorder aux serveurs MCP l'accès à des fichiers et dossiers spécifiques sur votre machine locale. Considérez-les comme un système de permissions qui dit « Hé, serveur MCP, tu peux accéder à ces fichiers » - mais elles font bien plus que simplement accorder une permission.
Le problème que les roots résolvent
Sans roots, vous rencontreriez un problème courant. Imaginez que vous disposiez d'un serveur MCP doté d'un outil de conversion vidéo qui prend un chemin de fichier et convertit un MP4 au format MOV.

Lorsqu'un utilisateur demande à Claude de « convertir biking.mp4 au format mov », Claude appellerait l'outil avec uniquement le nom du fichier. Mais voici le problème : Claude n'a aucun moyen de parcourir l'intégralité de votre système de fichiers pour trouver où se trouve réellement ce fichier.

Votre système de fichiers peut être complexe, avec des fichiers dispersés dans différents répertoires. L'utilisateur sait que le fichier biking.mp4 se trouve dans son dossier Movies, mais Claude ne dispose pas de ce contexte.
Vous pourriez résoudre ce problème en exigeant que les utilisateurs fournissent toujours des chemins complets, mais ce n'est pas très convivial. Personne n'a envie de saisir des chemins de fichiers complets à chaque fois.
Les roots en action
Voici comment le flux de travail change avec les roots :
- L'utilisateur demande de convertir un fichier vidéo
- Claude appelle
list_rootspour voir à quels répertoires il peut accéder - Claude appelle
read_dirsur les répertoires accessibles pour trouver le fichier - Une fois trouvé, Claude appelle l'outil de conversion avec le chemin complet
Cela se produit automatiquement - les utilisateurs peuvent toujours simplement dire « convertir biking.mp4 » sans fournir de chemins complets.
Sécurité et limites
Les roots offrent également une sécurité en limitant l'accès. Si vous n'accordez l'accès qu'à votre dossier Desktop, le serveur MCP ne peut pas accéder aux fichiers situés à d'autres emplacements comme Documents ou Downloads.
Lorsque Claude tente d'accéder à un fichier en dehors des roots approuvées, il reçoit une erreur et peut informer l'utilisateur que le fichier n'est pas accessible depuis la configuration actuelle du serveur.
Détails d'implémentation
Le SDK MCP n'applique pas automatiquement les restrictions de roots - vous devez implémenter cela vous-même. Un modèle courant consiste à créer une fonction d'assistance comme is_path_allowed() qui :
- Prend un chemin de fichier demandé
- Récupère la liste des roots approuvées
- Vérifie si le chemin demandé se trouve dans l'une de ces roots
- Renvoie true/false pour la permission d'accès
Vous appelez ensuite cette fonction dans tout outil qui accède à des fichiers ou des répertoires avant d'effectuer l'opération réelle sur le fichier.
Avantages clés
- Convivial - Les utilisateurs n'ont pas besoin de fournir des chemins de fichiers complets
- Recherche ciblée - Claude ne cherche que dans les répertoires approuvés, ce qui accélère la découverte des fichiers
- Sécurité - Empêche l'accès accidentel à des fichiers sensibles en dehors des zones approuvées
- Flexibilité - Vous pouvez fournir des roots via des outils ou les injecter directement dans les requêtes
Les roots rendent les serveurs MCP à la fois plus puissants et plus sécurisés en donnant à Claude le contexte dont il a besoin pour trouver des fichiers, tout en maintenant des limites claires autour de ce à quoi il peut accéder.