wiztree-mcp
wizTree MCP
So funktioniert es
wizTreeMCP ist ein Python-MCP-Server, der WizTree von einem LLM aus steuert. Du kannst ihn mit Claude Code, Cursor oder DeepSeek Harness verbinden und in natürlicher Sprache fragen: „Was belegt Speicherplatz auf Laufwerk C:?“, „finde alle Dateien über 1 GB im Downloads-Ordner“, „wie viel Speicherplatz nehmen Videos in diesem Ordner ein?“, „gibt es verwaiste Python-Abhängigkeiten, die ich aufräumen kann?“.
Ich finde ihn sehr nützlich für die Bereinigung von ungenutzten Caches bei wsl, python, docker, npm.
Einzelne Datei: wiztree_mcp.py. Funktioniert nur unter Windows, weil
WizTree eine Windows-Anwendung ist.
WizTree hat keine API: Es hat eine Befehlszeile, die ein CSV mit allem exportiert, was es gescannt hat. Der Server nutzt das.
LLM (MCP client) --stdio--> wiztree_mcp.py --CLI--> WizTree64.exe
| |
|<----- CSV snapshot ---
|
streaming queries on the CSVEin Scan läuft einmal und wird als CSV-Snapshot im Cache gespeichert. Alle Folgefragen werden durch das Streaming-Lesen dieser CSV beantwortet: kein erneuter Scan der Festplatte, kein Laden des gesamten Laufwerks in den Speicher. Ein Snapshot von einer halben Million Dateien benötigt ~50 MB und beantwortet eine Anfrage in etwa einer Sekunde.
Snapshots werden automatisch wiederverwendet: Wenn du C:\ gescannt hast und dann etwas über
C:\Users\me\Downloads fragst, verwendet der Server den vorhandenen Snapshot erneut, anstatt die
Arbeit noch einmal zu erledigen.
Installation
Erfordert Python 3.10+.
cd wiztree-mcp
python -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txtDie virtuelle Umgebung wurde bereits in .venv erstellt: Wenn dir das reicht, bist du startklar.
Der Server findet WizTree64.exe von selbst, wenn der Ordner wiztree-mcp im
WizTree-Portable-Ordner liegt, oder wenn WizTree in Program Files installiert ist. Andernfalls
weise ihn mit der Umgebungsvariable WIZTREE_EXE darauf hin.
Verbindung zu Claude Code
Ein Befehl, kein JSON-Editieren — er übernimmt das Zusammenführen:
claude mcp add wiztree --scope user -- "C:\path\to\wiztree-mcp\.venv\Scripts\python.exe" "C:\path\to\wiztree-mcp\wiztree_mcp.py"--scope steuert, wo die Registrierung gespeichert wird:
Geltungsbereich | Wo er gilt | Wann du ihn verwenden solltest |
| alle Ordner | das, was du fast immer willst |
| schreibt eine | zum Teilen mit Leuten, die am selben Repo arbeiten |
| nur für dich, nur in diesem Ordner | schnelle Experimente |
Überprüfen:
claude mcp listDann beenden und claude neu starten: MCP-Server verbinden sich beim Start der Sitzung, nie im laufenden Betrieb.
Innerhalb der Sitzung heißen die Tools mcp__wiztree__wiztree_scan und ähnlich, aber du musst sie
nicht benennen: Frag einfach „Was belegt Speicherplatz auf D:“.
Wenn du den Projektbereich ohne die CLI bevorzugst, kannst du auch eine .mcp.json von Hand in den
Ordner schreiben, aus dem du claude startest, mit derselben Struktur, die unten für
Cursor gezeigt wird. In der ersten Sitzung fragt Claude Code dich um Genehmigung, weil eine Projekt-
.mcp.json nicht automatisch vertrauenswürdig ist.
Verbindung zu Cursor
{
"mcpServers": {
"wiztree": {
"command": "C:\\path\\to\\wiztree-mcp\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\wiztree-mcp\\wiztree_mcp.py"],
"env": {
"WIZTREE_EXE": "C:\\path\\to\\WizTree64.exe"
}
}
}
}Verweise auf .venv\Scripts\python.exe, nicht auf das System-python: So musst du die Umgebung
nicht aktivieren und Cursor findet die Abhängigkeiten immer.
Die Datei cursor-mcp.json enthält bereits den Ausschnitt mit den korrekten
absoluten Pfaden für diese Installation: Öffne sie und kopiere sie.
Oder lass das Skript es erledigen — es behält andere bereits konfigurierte Server und erstellt ein Backup:
.venv\Scripts\python.exe install_mcp.pyStarte Cursor neu: In der MCP-Liste solltest du wiztree mit 16 Tools sehen. Der Agent-Modus ist erforderlich;
MCP-Tools werden im Ask-Modus nicht aufgerufen.
Verbindung zu DeepSeek Harness
Hier gilt das JSON der anderen beiden Clients nicht, also funktioniert das Kopieren der Cursor-Konfiguration
und das Ändern von Pfaden nicht. DeepSeek Harness (dsh) hat keinen mcpServers-Schlüssel: Es mountet jeden
MCP-Server als Plugin-Instanz von @deepseek-ai/dsh-mcp-client in einer YAML-Datei.
Eine Plugin-Instanz = ein MCP-Server.
Claude Code / Cursor | DeepSeek Harness | |
Format | JSON | YAML |
Datei |
|
|
Struktur |
| Liste von Plugins auf oberster Ebene |
ein Server | ein Eintrag im Objekt | ein Eintrag mit |
Transport | implizit | explizit |
Der Eintrag, der zur Liste hinzugefügt werden muss:
- id: mcp-wiztree
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: wiztree
transport: stdio
command: C:\path\to\wiztree-mcp\.venv\Scripts\python.exe
args:
- C:\path\to\wiztree-mcp\wiztree_mcp.py
env:
WIZTREE_EXE: C:\path\to\WizTree64.exe
toolCallTimeoutMs: 900000Die Datei dsh-cordis-patch.yml hat die absoluten Pfade bereits fertig.
Wo du sie platzierst: in der cordis.patch.yml des Profils oder in der des Harness-Home-Verzeichnisses
($DSH_HOME, Standard ~/.dsh). Die Ebenen stapeln sich in dieser Reihenfolge — Profil-Bundle,
Profil-cordis.patch.yml, Harness-Home-cordis.patch.yml und schließlich Overlays, die mit
--patch übergeben werden. Überprüfe das effektive Ergebnis mit dsh --dump-config.
Drei Dinge, die hier wichtig sind:
toolCallTimeoutMs: 900000. Der Standardwert ist 60000 ms, eine Minute. Das Scannen eines vollständigen Laufwerks ohne Administratorrechte dauert viel länger und der Aufruf würde mitten in der Ausführung abgebrochen. Die anderen Clients haben keine so enge Grenze.Windows-Pfade ohne doppelte Anführungszeichen. In YAML interpretieren doppelte Anführungszeichen Escape-Sequenzen, also schlägt das Parsen von
"C:\Users\..."bei\Ufehl. Ohne Anführungszeichen oder mit einfachen Anführungszeichen bleiben Backslashes wörtlich.Toolnamen werden zu
mcp__wiztree__wiztree_scanusw., dieselbe Konvention wie bei Claude Code.
DeepSeek Harness befindet sich in der Entwicklervorschau, daher kann sich dieses Format zwischen den Versionen ändern: Wenn etwas nicht übereinstimmt, vergleiche mit der offiziellen MCP-Dokumentation.
Tools
Tool | Zweck |
| Welche ausführbare Datei verwendet wird, Version, ob der Prozess erhöhte Rechte hat, Cache-Speicherort. Rufe dies zuerst auf, wenn etwas schiefgeht. |
| Liste der Laufwerke mit Kapazität, belegtem und freiem Speicherplatz. |
| Scannt ein Laufwerk oder einen Ordner und erstellt den Snapshot. Gibt Summen, freien Speicherplatz des Volumes und die größten Einträge der obersten Ebene zurück. |
| Größte Dateien, mit Filtern für Unterordner, Erweiterung und Mindestgröße. |
| Größte Ordner (rekursive Größe), mit |
| Was in einem Ordner ist, eine Ebene nach der anderen, mit Prozentsatz der Gesamtmenge. Das Tool zum schrittweisen Hinuntergehen. |
| Speicherplatz, aggregiert nach Erweiterung. |
| Suche nach Glob ( |
| Doppelte Dateien und wiederherstellbarer Speicherplatz. Liest von der Festplatte nur Dateien, die eine Größe teilen: In |
| Erzeugt WizTrees PNG-Treemap. Wenn bereits ein Snapshot desselben Stamms existiert, zeichnet es daraus, ohne die Festplatte erneut zu lesen. Mit |
| Roher CSV-Export mit allen WizTree-CLI-Optionen, wohin du willst. |
| Liest das WizTree-Fenster, das du verwendest: was geladen ist, welches Laufwerk ausgewählt ist, welcher Tab aktiv ist. Wird verwendet, um „dieses Laufwerk“ / „hier“ zu beantworten, ohne dass du den Pfad eingibst. |
| Öffnet das WizTree-Fenster auf einem Pfad und kehrt sofort zurück. Um einen Fund zur visuellen Inspektion zu übergeben. |
| Registriert ein CSV, das du aus der GUI exportiert hast ( |
| Zwischengespeicherte Snapshots. |
| Leert den Cache. |
Alle Abfragetools akzeptieren path, refresh, max_age_minutes, admin, filter,
filter_exclude, timeout_seconds und scannen selbst, wenn sie keinen gültigen Snapshot finden:
Das LLM kann direkt zu wiztree_top_files gehen, ohne zuerst wiztree_scan aufzurufen.
GUI und KI zusammen verwenden
Du kannst das WizTree-Fenster offen halten, herumklicken und gleichzeitig Fragen aus dem Chat stellen. Das funktioniert, aber es ist gut zu wissen, wie weit es geht.
WizTree zeichnet die Dateiliste in einem TVirtualDrawTree: einem owner-drawn Steuerelement, bei dem
Zeilen nicht als Text existieren, sondern im laufenden Betrieb gemalt werden. Von außerhalb des Prozesses sind sie
Pixel, keine Daten. Die Ergebnisse, die du auf dem Bildschirm siehst, sind nicht lesbar.
Was das Fenster über normale Win32-Nachrichten preisgibt, ist wohin es zeigt, und das reicht:
1. WizTree window (pid 58140)
Title : [C:\Users\...\wiztree mcp test] - WizTree
Loaded target : C:\Users\...\wiztree mcp test
Drive selector : <Select folder...>
Available : [C:] OS , [D:] Local Disk , <Select folder...>, ...
Tabs : File View, Tree ViewDer Ablauf ist also: Du klickst auf [D:] in der GUI → fragst „Was belegt hier Speicherplatz?“ →
wiztree_gui_state liest, dass das Fenster auf D: zeigt → die anderen Tools antworten über D:.
Du musst keinen Pfad eingeben.
Zwei Möglichkeiten, Daten bei geöffnetem Fenster zu teilen:
Erneuter Scan (null Reibung). Der Server scannt selbst das Ziel, das er aus der GUI liest. Es kostet die Zeit eines Scans.
CSV-Übergabe (sofort). In der GUI
Datei > Export, dannwiztree_import_csv. Kein erneuter Scan, und wenn die GUI als Administrator lief, übernimmst du den MFT-Scan. Das ist der schnellste Weg, um an einem vollständigen Laufwerk zu arbeiten.
Beide Ansätze koexistieren: Ein Befehlszeilen-Export wurde in einer halben Sekunde ausgeführt, während ein WizTree-Fenster geöffnet war, ohne es zu stören — der globale Mutex blockiert keine gleichzeitigen Instanzen.
Hinweis: WizTree64.exe path.csv lädt die CSV nur im Headless-Modus (mit /export oder /treemapimagefile). Ohne Schalter gestartet öffnet es nicht die GUI mit dieser CSV; es fällt auf ein Standardlaufwerk zurück. In der GUI wird die CSV über das Laufwerks-Dropdown, Eintrag <CSV File>, geöffnet.
Schnelle Scans: admin
Auf NTFS-Volumes liest WizTree die MFT direkt, weshalb es eine ganze Festplatte in Sekunden scannt. Aber das Lesen der MFT erfordert Administratorrechte.
Nicht erhöhter Prozess (der normale Fall mit Cursor): WizTree fällt auf einen rekursiven Ordnerscan zurück. Auf
C:\kann das mehrere Minuten dauern; bei einem einzelnen Ordner ist es immer noch schnell (~500k Dateien in 5 Sekunden).admin: true: WizTree startet erneut mit erhöhten Rechten und verwendet die MFT. Dies löst die Windows-UAC-Eingabeaufforderung aus, die manuell akzeptiert werden muss.
Wenn Sie dies häufig benötigen, starten Sie Cursor als Administrator: Der Server erbt die Erhöhung und alle Scans werden sofort ohne weitere Eingabeaufforderungen durchgeführt. wiztree_info sagt Ihnen, in welcher Situation Sie sich befinden.
Umgebungsvariablen
Variable | Standard | Beschreibung |
| Auto-Erkennung | Vollständiger Pfad zu |
| — | Ordner, der die ausführbare Datei enthält, Alternative zu |
|
| Wo CSV-Snapshots und Treemaps gespeichert werden. |
|
| Wie viele Snapshots aufbewahrt werden, bevor der älteste gelöscht wird. |
Tests
.venv\Scripts\python.exe test_smoke.pyStartet den Server über stdio genau wie Cursor, erstellt einen Testbaum (mit Leerzeichen und Kommas in Namen) und übt alle 16 Tools aus: 37 Prüfungen.
Um es mit echten Daten auszuprobieren:
.venv\Scripts\python.exe test_manual.py "C:\Users\me\AppData\Local"Implementierungsdetails, die Ihnen Zeit sparen können
Dinge, die bei der Arbeit mit der WizTree 4.32 CLI entdeckt wurden und nirgendwo dokumentiert sind:
CSV-Header sind lokalisiert. Auf Italienisch heißt die erste Spalte
Nome file, nichtFile Name. Die ersten 7 Spalten sind immer in derselben Reihenfolge, während optionale (DRIVECAPACITY,CREATEDDATE,MFTRECNO, …) einen stabilen ASCII-Namen behalten. Der Parser verlässt sich für die ersten Spalten auf die Position und für die anderen auf den Namen.Keine Anführungszeichen in Argumenten. Das Übergeben von
/export="C:\out.csv"übersubprocessführt dazu, dass WizTree ein unsichtbares modales Fehlerfenster öffnet und der Prozess für immer hängt. Werte müssen nackt übergeben werden (/export=C:\out.csv) und Python das Quoting fürCreateProcessüberlassen.Dateien ohne Erweiterung werden mit einem nachgestellten Punkt exportiert:
payloadwird zupayload.. Windows erlaubt keine nachgestellten Punkte in Namen, daher entfernt der Parser ihn.WizTree kann seine eigenen CSVs erneut lesen. Das Übergeben einer exportierten
.csvals Scan-Pfad funktioniert: So werden Treemaps aus einem Snapshot gezeichnet, ohne die Festplatte erneut zu berühren.Nicht vorhandener Pfad = Exit-Code 0 und keine Datei. Es gibt keinen Fehlercode, den man prüfen kann: Sie müssen verifizieren, dass die Ausgabedatei erstellt wurde.
Es gibt einen globalen Mutex (
WizTreeMutex): Aufrufe werden mit einer Sperre serialisiert.Der Duplikatsuche existiert nur in der GUI. Die Binärdatei enthält
Duplicate Files:,Duplicates only, die SpaltenDUPSIZE/DUPCOUNTund den INI-Schlüsseldupmethod, aber kein Befehlszeilenschalter erreicht sie.wiztree_duplicatesruft daher WizTree nicht auf: Es gruppiert nach Größe aus dem Snapshot und liest von der Festplatte nur Dateien, die eine Größe mit anderen teilen./exportlimit=Nkürzt den Export auf N Zeilen in Traversierungsreihenfolge, nicht ein globales Top-N. Deshalb wird das Ranking hier, im Streaming über die CSV, durchgeführt und nicht von WizTree./sortby-Werte:0keine Reihenfolge,1Größe,2zugewiesen,3Änderungsdatum.
Lizenz
MIT. WizTree ist Software von Antibody Software, die unter ihrer eigenen Lizenz vertrieben wird: Dieses Projekt ruft nur seine Befehlszeile auf.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Securely search and manage workspace context files for AI agents and teams.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlessandroBonomo28/wiztree-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server