⚠️ WICHTIGE INFORMATIONEN:
Der ursprüngliche Filesystem-MCP-Server kann bereits auf WSL-Dateien zugreifen, indem er einfach den Netzwerkpfad\\wsl.localhost\DistributionNameals Parameter in der Konfiguration verwendet.
Beispiel:{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "\\\\wsl.localhost\\Debian", "C:\\path\\to\\other\\allowed\\dir" ] } } }Dieses Projekt bietet jedoch eine alternative Implementierung, die speziell für WSL-Linux-Distributionen optimiert ist .
Während der offizielle Server mit dem rekursiven Durchlaufen von Verzeichnissen unter Verwendung
fsModuls von Node.js arbeitet, nutzt diese Implementierung native Linux-Befehle innerhalb von WSL (wie etwafind,grepusw.), wodurch Dateiauflistungs- und Inhaltssuchvorgänge erheblich schneller werden .Dies kann insbesondere dann nützlich sein, wenn Sie mit großen Verzeichnisbäumen arbeiten oder wenn die Suchleistung von entscheidender Bedeutung ist.
Auch wenn der native Netzwerkpfad für viele Anwendungsfälle einfacher sein mag, bleibt dieses Projekt eine wertvolle Lösung für WSL-Benutzer, die nach besserer Leistung oder mehr individueller Kontrolle über die Indizierungs- und Suchlogik suchen.
Dateisystem-MCP-Server für WSL
Node.js-Server, der das Model Context Protocol (MCP) implementiert, speziell entwickelt für Dateisystemoperationen im Windows Subsystem for Linux (WSL).
Dieses Projekt ist ein Fork des ursprünglichen Filesystem MCP Server, wurde jedoch für WSL-Umgebungen vollständig neu konzipiert.
Im Gegensatz zum ursprünglichen Projekt, das allgemeine Dateivorgänge behandelt, konzentriert sich diese Version ausschließlich auf die nahtlose Interaktion zwischen Windows- und Linux-Distributionen unter WSL.
Beide Projekte sind kompatibel und können parallel auf demselben System ausgeführt werden.
Merkmale
Greifen Sie von Windows aus auf jede WSL-Distribution zu
Lesen/Schreiben von Dateien in WSL vom Windows-Host
Verzeichnisse in WSL erstellen/auflisten/löschen
Verschieben Sie Dateien/Verzeichnisse über das WSL-Dateisystem
Suchen Sie in WSL nach Dateien
Abrufen von Dateimetadaten aus dem WSL-Dateisystem
Unterstützung für mehrere WSL-Distributionen
Hinweis : Der Server erlaubt nur Vorgänge innerhalb von Verzeichnissen, die über args angegeben werden.
Related MCP server: Filesystem MCP Server
API
Ressourcen
wsl -d <distrib>: Befehl für Operationen an WSL-Distributionen
Werkzeuge
Datei lesen
Lesen Sie den vollständigen Inhalt einer Datei aus WSL
Eingabe:
path(Zeichenfolge)Liest Inhalte als UTF-8-Text
mehrere Dateien lesen
Lesen Sie mehrere Dateien gleichzeitig aus WSL
Eingabe:
paths(string[])Fehlgeschlagene Lesevorgänge stoppen nicht den gesamten Vorgang
Datei schreiben
Erstellen oder Überschreiben einer Datei in WSL (mit Vorsicht verwenden)
Eingänge:
path(Zeichenfolge)content(Zeichenfolge)
Datei bearbeiten
Selektive Bearbeitungen mit erweitertem Mustervergleich und Formatierung
Eingänge:
path(Zeichenfolge)edits(Array aus{ oldText, newText })dryRun(boolesch, optional)
Merkmale:
Mehrzeiliger Abgleich
Einrückungserhaltung
Diff-Vorschau im Git-Stil
Zerstörungsfreier Probelaufmodus
Verzeichnis erstellen
Erstellen oder Sicherstellen der Existenz eines Verzeichnisses in WSL
Eingabe:
path(Zeichenfolge)
Verzeichnisliste
Verzeichnisinhalte mit den Präfixen
[FILE]oder[DIR]auflistenEingabe:
path(Zeichenfolge)
Verzeichnisbaum
Rekursive JSON-Baumansicht des Inhalts
Eingabe:
path(Zeichenfolge)
Datei verschieben
Dateien/Verzeichnisse verschieben oder umbenennen
Eingänge:
source(Zeichenfolge)destination(Zeichenfolge)
Suchdateien
Rekursive Suche nach Namen
Eingänge:
path(Zeichenfolge)pattern(Zeichenfolge)excludePatterns(Zeichenfolge[], optional)
Dateiinformationen abrufen
Detaillierte Metadaten
Eingabe:
path(Zeichenfolge)Gibt zurück: Größe, Zeitstempel, Typ, Berechtigungen
Liste zulässiger Verzeichnisse
Listet alle Verzeichnisse auf, auf die der Server zugreifen kann
list_wsl_distributionen
Listet verfügbare Distributionen auf und zeigt die aktive an
Anforderungen
Windows-Subsystem für Linux (WSL) ordnungsgemäß konfiguriert
Mindestens eine in WSL installierte Linux-Distribution
Für Claude Desktop-Benutzer:
Keine zusätzliche Installation erforderlich – konfigurieren Sie einfach Ihre claude_desktop_config.json .
Für die Entwicklung:
Node.js (v14.0.0 oder höher)
TypeScript (als Entwicklungsabhängigkeit enthalten)
Installieren von Node.js unter Windows
Laden Sie das Installationsprogramm von nodejs.org herunter
Führen Sie es aus und folgen Sie den Anweisungen
Versionen prüfen:
Verwendung
Bevor Sie den Server ausführen, müssen Sie das TypeScript-Projekt erstellen:
Führen Sie den Server aus, indem Sie angeben, welche WSL-Verteilung verwendet werden soll (optional) und welche Verzeichnisse verfügbar gemacht werden sollen:
Wenn keine Verteilung angegeben ist, wird die Standard-WSL-Verteilung verwendet.
Beispiele
Greifen Sie auf die Ubuntu-20.04-Distribution zu:
Standardverteilung verwenden:
Verwendung mit Claude Desktop
Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:
Option 1: Verwenden einer bestimmten WSL-Distribution
Option 2: Verwenden der Standard-WSL-Verteilung
Im zweiten Beispiel verwendet das System Ihre Standard-WSL-Verteilung, ohne dass Sie diese angeben müssen.
Unterschiede zum ursprünglichen Projekt
Dieser Fork passt den ursprünglichen Filesystem-MCP-Server für die Arbeit mit WSL an, indem er:
Ersetzen direkter Node.js-Dateisystemaufrufe durch WSL-Befehlsausführungen
Hinzufügen von Unterstützung für die Auswahl bestimmter WSL-Distributionen
Implementieren der Pfadübersetzung zwischen Windows- und Linux-Formaten
Verbesserte Handhabung von Dateiinhalten für plattformübergreifende Kompatibilität
Hinzufügen spezialisierter Tools für die WSL-Verwaltung
Lizenz
Dieses Projekt ist ein Fork des ursprünglichen Filesystem MCP Server, der vom Model Context Protocol-Team erstellt wurde.
Dieser MCP-Server für WSL ist gemäß der ursprünglichen Projektlizenz unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software gemäß den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten können. Weitere Informationen finden Sie in der Lizenzdatei im ursprünglichen Projekt-Repository.