Fonctionnement du serveur MCP Filesystem de référence : ses 13 outils, les dossiers autorisés, les Roots, les montages Docker en lecture seule, et un générateur qui écrit le JSON de configuration pour vous.
Le serveur MCP Filesystem est le programme Node.js de référence du projet Model Context Protocol qui permet à un assistant IA de lire, écrire, rechercher et déplacer des fichiers, mais uniquement dans les dossiers que vous autorisez. Vous indiquez ces dossiers au démarrage, ou votre application les fournit via les Roots. Tout ce qui se trouve en dehors est refusé.
Le serveur MCP Filesystem en bref
Élément
Valeur
Paquet npm
@modelcontextprotocol/server-filesystem
Image Docker
mcp/filesystem
Où il s'exécute
Sur votre propre ordinateur, lancé par votre application MCP
Limite d'accès
Dossiers autorisés uniquement, via les arguments ou les Roots
Outils
13, dont 9 en lecture seule
MCP (Model Context Protocol) est un standard ouvert qui permet à une application d'assistant d'appeler de petits programmes auxiliaires appelés serveurs. Le serveur filesystem est celui que la plupart des gens installent en premier, car il transforme « regarde mon dossier de descriptions de produits » en quelque chose que l'assistant peut réellement faire. Cette page explique ce à quoi il peut accéder, comment fonctionne la limite de dossiers et comment le garder en lecture seule. Utilisez le générateur ci-dessous pour produire une configuration à coller dans les paramètres MCP de votre application.
Saisissez les dossiers que l'assistant doit voir, un par ligne, avec leur chemin complet.
Choisissez npx (nécessite Node.js) ou Docker. Docker peut monter les dossiers en lecture seule.
Choisissez la forme de configuration attendue par votre application : la plupart utilisent mcpServers, VS Code utilise servers.
Copiez le JSON dans le fichier de configuration MCP de votre application et redémarrez-la pour qu'elle lance le serveur.
Partagez le plus petit dossier qui suffit, par exemple un seul dossier de contenu, jamais tout votre répertoire personnel.
Lancez-le via Docker avec des montages en lecture seule quand l'assistant n'a besoin que de lire.
Demandez d'abord à l'assistant d'exécuter list_allowed_directories pour voir exactement ce qui lui a été donné.
Utilisez l'option d'essai à blanc de edit_file avant de laisser des modifications toucher des fichiers importants.
Gardez une sauvegarde ou un historique des versions de tout ce que vous laissez l'assistant modifier.
Questions fréquentes
Le serveur MCP filesystem peut-il lire des fichiers en dehors des dossiers indiqués ?
Non. Le README précise que toutes les opérations sur le système de fichiers sont limitées aux dossiers autorisés. Si le client envoie des Roots, celles-ci remplacent entièrement les dossiers de la ligne de commande : la liste autorisée est donc celle que votre application a fournie en dernier.
Que se passe-t-il si je le lance sans aucun dossier ?
Si votre application prend en charge les Roots, le serveur attend qu'elle les envoie. Si l'application ne les prend pas en charge et que vous n'avez donné aucun dossier, le serveur consigne la raison, ferme la connexion et s'arrête avec le code 1.
Comment le mettre en lecture seule ?
Le README documente une méthode : lancer l'image Docker et ajouter ro à chaque montage, ce qui rend ce dossier accessible en lecture seule pour le serveur. Certaines applications permettent aussi d'approuver ou de bloquer chaque outil, ce qui aide, mais le montage reste la limite la plus solide.
Peut-il supprimer des fichiers ?
Sa liste d'outils ne contient aucun outil de suppression. Il peut tout de même détruire du contenu : write_file écrase les fichiers existants et move_file retire la source, c'est pourquoi les deux sont marqués comme destructifs dans le tableau d'annotations du README.
A-t-il besoin d'un accès à Internet ?
Pas pour son travail. Chaque outil définit openWorldHint à false, ce qui signifie qu'il ne touche que le système de fichiers local dans les dossiers autorisés. npx télécharge toutefois le paquet lors de la première exécution.
Dossiers autorisés et Roots, en termes simples
Il existe deux façons d'indiquer au serveur les dossiers qu'il peut utiliser. La première consiste à placer les chemins des dossiers après le nom du paquet dans la configuration, ce qui fige la liste jusqu'au prochain redémarrage. La seconde, ce sont les Roots, une fonctionnalité grâce à laquelle l'application d'assistant indique au serveur les dossiers concernés et peut modifier cette liste en cours d'exécution.
Le README présente les Roots comme la méthode recommandée. Le détail qui compte pour la sécurité : une fois les Roots de votre application en vigueur, une mise à jour sans Roots valides révoque tout accès au lieu de revenir aux dossiers que vous aviez saisis.
Des tâches utiles pour un propriétaire de site ou de boutique
Pointez-le vers un dossier de données produits exportées et demandez la liste des articles sans description. Pointez-le vers vos brouillons de blog et demandez un résumé des articles qui mentionnent un ancien prix. Pointez-le vers une copie téléchargée de votre site et recherchez les noms d'images cassés.
Dans chaque cas, le dossier est une copie, pas le site en ligne, donc une modification erronée ne coûte rien. Cette habitude vaut plus que n'importe quel réglage.
Les 13 outils et ce que chacun peut modifier
Lecture seule signifie que le README marque l'outil avec readOnlyHint à true. Destructif signifie qu'il peut écraser ou supprimer du contenu existant.
Outils du serveur MCP Filesystem
Outil
Ce qu'il fait
Modifie des fichiers ?
Lit un fichier en texte UTF-8, éventuellement seulement les N premières ou dernières lignes
Non
Lit une image, un fichier audio ou autre en base64 avec son type MIME
Non
Lit plusieurs fichiers à la fois ; un échec n'arrête pas les autres
Non
Liste un dossier avec les préfixes [FILE] et [DIR]
Non
Même liste avec les tailles, triable par nom ou par taille
Non
Renvoie l'arborescence d'un dossier en JSON imbriqué
Non
Recherche de type glob avec motifs d'exclusion facultatifs
Non
Taille, dates, type et permissions
Non
Indique les dossiers que le serveur peut utiliser
Non
Crée un dossier et tous les dossiers parents manquants
Oui, non destructif
Crée ou écrase un fichier
Oui, destructif
Remplace le texte trouvé, avec une option d'aperçu dryRun
Oui, destructif
Déplace ou renomme ; échoue si la destination existe
Oui, destructif
Exemples de configuration
Lancement avec npx, deux dossiers
Les dossiers placés après le nom du paquet deviennent les dossiers autorisés. Nécessite Node.js sur votre machine.
Lancement avec Docker, un dossier en lecture seule
Les dossiers sont montés sous /projects. L'option ro empêche le serveur d'écrire dans ce dossier.
Configuration d'espace de travail VS Code (.vscode/mcp.json)
VS Code utilise une clé servers. ${workspaceFolder} limite le serveur au projet ouvert.
Générateur de configuration MCP Filesystem
Saisissez vos dossiers et choisissez comment lancer le serveur. Le JSON se met à jour pendant la saisie et rien ne quitte votre navigateur.
Dossiers autorisés, un chemin complet par ligne
Lancer avec
Forme de la configuration
Monter les dossiers en lecture seule (Docker uniquement)
Le montage en lecture seule est documenté pour Docker. Avec npx, le serveur peut écrire dans les dossiers indiqués.
JSON de configuration
npx (Node.js)
Docker
mcpServers (la plupart des applications)
servers (VS Code)
Ajoutez au moins un dossier. Le serveur a besoin d'un dossier autorisé pour fonctionner.
{v} n'est pas un chemin complet. Commencez-le par / sur Mac ou Linux, ou par une lettre de lecteur sur Windows.