wiztree-mcp
wizTree MCP
Cómo funciona
wizTreeMCP es un servidor MCP en Python que controla WizTree desde un LLM. Puedes conectarlo a Claude Code, Cursor o DeepSeek Harness y preguntar en lenguaje natural "¿qué está ocupando espacio en la unidad C:?", "encuentra todos los archivos de más de 1 GB en Descargas", "¿cuánto espacio ocupan los vídeos en esta carpeta?", "¿hay dependencias huérfanas de Python que pueda limpiar?".
Lo encuentro muy útil para limpiar cachés sin usar de wsl, python, docker y npm. Usa modelos locales para una mejor privacidad
Un solo archivo: wiztree_mcp.py. Funciona solo en Windows, porque
WizTree es una aplicación de Windows.
WizTree no tiene API: tiene una línea de comandos que exporta un CSV de todo lo que ha escaneado. El servidor usa eso.
LLM (MCP client) --stdio--> wiztree_mcp.py --CLI--> WizTree64.exe
| |
|<----- CSV snapshot ---
|
streaming queries on the CSVUn escaneo se ejecuta una vez y se guarda como una instantánea CSV en la caché. Todas las preguntas posteriores se responden leyendo ese CSV en streaming: no se vuelve a escanear el disco, ni se carga toda la unidad en memoria. Una instantánea de medio millón de archivos ocupa ~50 MB y responde a una consulta en aproximadamente un segundo.
Las instantáneas se reutilizan automáticamente: si escaneaste C:\ y luego preguntas
algo sobre C:\Users\me\Downloads, el servidor reutiliza la instantánea existente en lugar de
hacer el trabajo de nuevo.
Related MCP server: WizTree MCP
Instalación
Requiere Python 3.10+.
cd wiztree-mcp
python -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txtEl entorno virtual ya se ha creado en .venv: si eso es suficiente para ti, ya está listo.
El servidor encuentra WizTree64.exe por sí solo si la carpeta wiztree-mcp está dentro de la
carpeta portable de WizTree, o si WizTree está instalado en Program Files. De lo contrario, indícalo
con la variable de entorno WIZTREE_EXE.
Conexión con Claude Code
Un solo comando, sin editar JSON — se encarga de la fusión:
claude mcp add wiztree --scope user -- "C:\path\to\wiztree-mcp\.venv\Scripts\python.exe" "C:\path\to\wiztree-mcp\wiztree_mcp.py"--scope controla dónde se guarda el registro:
Ámbito | Dónde se aplica | Cuándo usarlo |
| todas las carpetas | lo que quieres casi siempre |
| escribe un | para compartir con personas que trabajan en el mismo repositorio |
| solo tú, solo en esta carpeta | experimentos rápidos |
Verifica:
claude mcp listLuego sal y reinicia claude: los servidores MCP se conectan al inicio de la sesión, nunca en caliente.
Dentro de la sesión, las herramientas se llaman mcp__wiztree__wiztree_scan y similares, pero no
necesitas nombrarlas: solo pregunta "¿qué está usando espacio en D:".
Si prefieres el ámbito de proyecto sin la CLI, también puedes escribir un .mcp.json a mano en la
carpeta desde la que lanzas claude, con la misma estructura que se muestra a continuación para
Cursor. En la primera sesión, Claude Code te pedirá que lo apruebes, porque un .mcp.json de proyecto
no se confía automáticamente.
Conexión con 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"
}
}
}
}Apunta a .venv\Scripts\python.exe, no al python del sistema: así no necesitas activar
el entorno y Cursor siempre encuentra las dependencias.
El archivo cursor-mcp.json ya contiene el fragmento con las rutas absolutas
correctas para esta instalación: ábrelo y cópialo.
O deja que el script lo haga — conserva otros servidores ya configurados y hace una copia de seguridad:
.venv\Scripts\python.exe install_mcp.pyReinicia Cursor: en la lista de MCP deberías ver wiztree con 16 herramientas. Se requiere el modo Agente;
las herramientas MCP no se llaman en modo Preguntar.
Conexión con DeepSeek Harness
Aquí el JSON que usan los otros dos clientes no se aplica, así que copiar la configuración de Cursor
y cambiar las rutas no funcionará. DeepSeek Harness (dsh) no tiene una clave mcpServers: monta cada
servidor MCP como una instancia de plugin de @deepseek-ai/dsh-mcp-client en un archivo YAML.
Una instancia de plugin = un servidor MCP.
Claude Code / Cursor | DeepSeek Harness | |
formato | JSON | YAML |
archivo |
|
|
estructura | objeto | lista de plugins en el nivel superior |
un servidor | una entrada en el objeto | una entrada con |
transporte | implícito | explícito |
La entrada que hay que añadir a la lista:
- 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: 900000El archivo dsh-cordis-patch.yml ya tiene las rutas absolutas listas.
Dónde colocarlo: en el cordis.patch.yml del perfil, o en el del directorio base del harness
($DSH_HOME, por defecto ~/.dsh). Las capas se apilan en este orden: paquete de perfil,
cordis.patch.yml del perfil, cordis.patch.yml del directorio base del harness y, finalmente, las superposiciones pasadas con
--patch. Comprueba el resultado efectivo con dsh --dump-config.
Tres cosas que importan aquí:
toolCallTimeoutMs: 900000. El valor predeterminado es 60000 ms, un minuto. Escanear una unidad completa sin privilegios de administrador lleva mucho más tiempo y la llamada se cortaría a la mitad. Los otros clientes no tienen un límite tan estricto.Rutas de Windows sin comillas dobles. En YAML, las comillas dobles interpretan secuencias de escape, así que
"C:\Users\..."falla al analizarse en\U. Sin comillas, o con comillas simples, las barras invertidas se mantienen literales.Los nombres de las herramientas se convierten en
mcp__wiztree__wiztree_scany así sucesivamente, la misma convención que Claude Code.
DeepSeek Harness está en vista previa para desarrolladores, por lo que este formato puede cambiar entre versiones: si algo no coincide, compara con la documentación oficial de MCP.
Herramientas
Herramienta | Propósito |
| Qué ejecutable se usa, versión, si el proceso está elevado, ubicación de la caché. Llama a esta primero cuando algo vaya mal. |
| Lista de unidades con capacidad, espacio usado y espacio libre. |
| Escanea una unidad o carpeta y crea la instantánea. Devuelve totales, espacio libre del volumen y las entradas de nivel superior más grandes. |
| Archivos más grandes, con filtros para subcarpeta, extensión y tamaño mínimo. |
| Carpetas más grandes (tamaño recursivo), con |
| Qué hay dentro de una carpeta, un nivel a la vez, con porcentaje del total. La herramienta para bajar nivel por nivel. |
| Espacio agregado por extensión. |
| Búsqueda por glob ( |
| Archivos duplicados y espacio recuperable. Lee del disco solo los archivos que comparten un tamaño: en |
| Genera el treemap PNG de WizTree. Si ya existe una instantánea de la misma raíz, dibuja desde ella sin volver a leer el disco. Con |
| Exportación CSV cruda con todas las opciones de la CLI de WizTree, donde quieras. |
| Lee la ventana de WizTree que tú estás usando: qué cargó, qué unidad está seleccionada, qué pestaña está activa. Se usa para responder "esta unidad" / "aquí" sin que escribas la ruta. |
| Abre la ventana de WizTree en una ruta y devuelve inmediatamente. Para entregarte un hallazgo para que lo inspecciones visualmente. |
| Registra un CSV que exportaste desde la GUI ( |
| Instantáneas en caché. |
| Limpia la caché. |
Todas las herramientas de consulta aceptan path, refresh, max_age_minutes, admin, filter,
filter_exclude, timeout_seconds y escanean por su cuenta si no encuentran una instantánea válida:
el LLM puede ir directamente a wiztree_top_files sin llamar primero a wiztree_scan.
Usar la GUI y la IA juntas
Puedes mantener la ventana de WizTree abierta, hacer clic y hacer preguntas desde el chat al mismo tiempo. Funciona, pero vale la pena saber hasta dónde llega.
WizTree dibuja la lista de archivos en un TVirtualDrawTree: un control dibujado por el propietario donde
las filas no existen como texto, sino que se pintan sobre la marcha. Desde fuera del proceso son
píxeles, no datos. Los resultados que ves en pantalla no son legibles.
Lo que la ventana expone a través de mensajes Win32 normales es hacia dónde apunta, y eso es suficiente:
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 ViewAsí que el flujo es: haces clic en [D:] en la GUI → preguntas "¿qué está usando espacio aquí?" →
wiztree_gui_state lee que la ventana apunta a D: → las otras herramientas responden sobre D:.
No necesitas escribir ninguna ruta.
Dos formas de compartir datos con la ventana abierta:
Re-escaneo (cero fricción). El servidor escanea por su cuenta el destino que lee de la GUI. Cuesta el tiempo de un escaneo.
Transferencia CSV (instantánea). En la GUI haz
File > Export, luegowiztree_import_csv. Sin re-escaneo, y si la GUI se ejecutaba como administrador, heredas el escaneo MFT. Esta es la forma más rápida de trabajar en una unidad completa.
Ambos enfoques coexisten: se verificó que una exportación de línea de comandos se ejecuta en medio segundo mientras una ventana de WizTree está abierta, sin molestarla — el mutex global no bloquea instancias concurrentes.
Nota: WizTree64.exe ruta.csv carga el CSV solo en modo sin interfaz (con /export o /treemapimagefile). Si se inicia sin modificadores, no abre la GUI con ese CSV; vuelve a una unidad predeterminada. En la GUI, el CSV se abre desde el menú desplegable de unidades, entrada <CSV File>.
Escaneos rápidos: admin
En volúmenes NTFS, WizTree lee el MFT directamente, por eso escanea una unidad completa en segundos. Pero leer el MFT requiere privilegios de administrador.
Proceso sin elevar (el caso normal con Cursor): WizTree recurre a un escaneo recursivo de carpetas. En
C:\puede tardar varios minutos; en una sola carpeta sigue siendo rápido (~500 000 archivos en 5 segundos).admin: true: WizTree se relanza con privilegios elevados y usa el MFT. Esto activa el aviso de UAC de Windows, que debe aceptarse manualmente.
Si necesitas esto con frecuencia, inicia Cursor como administrador: el servidor hereda la elevación y todos los escaneos son inmediatos sin más avisos. wiztree_info te indica en qué situación estás.
Variables de entorno
Variable | Valor predeterminado | Descripción |
| detección automática | Ruta completa a |
| — | Carpeta que contiene el ejecutable, alternativa a |
|
| Dónde se almacenan las instantáneas CSV y los mapas de árbol. |
|
| Cuántas instantáneas conservar antes de eliminar las más antiguas. |
Pruebas
.venv\Scripts\python.exe test_smoke.pyInicia el servidor por stdio exactamente como lo hace Cursor, crea una prueba (con espacios y comas en los nombres) y ejercita las 16 herramientas: 37 comprobaciones.
Para probarlo con datos reales:
.venv\Scripts\python.exe test_manual.py "C:\Users\me\AppData\Local"Detalles de implementación que pueden ahorrarte tiempo
Cuestiones descubiertas en la práctica al trabajar con la CLI de WizTree 4.32, no documentadas en ningún sitio:
Los encabezados CSV están localizados. En italiano, la primera columna se llama
Nome file, noFile Name. Las primeras 7 columnas están siempre en el mismo orden, mientras que las opcionales (DRIVECAPACITY,CREATEDDATE,MFTRECNO, …) mantienen un nombre ASCII estable. El analizador se basa en la posición para las primeras columnas y en el nombre para las demás.No uses comillas dentro de los argumentos. Pasar
/export="C:\out.csv"desdesubprocesshace que WizTree abra una ventana de error modal invisible y el proceso se cuelgue para siempre. Los valores deben pasarse sin comillas (/export=C:\out.csv) y dejar que Python se encargue de las comillas paraCreateProcess.Los archivos sin extensión se exportan con un punto final:
payloadse convierte enpayload.. Windows no permite puntos finales en los nombres, así que el analizador lo elimina.WizTree puede releer sus propios CSV. Pasar un
.csvexportado como ruta de escaneo funciona: así es como se dibujan los mapas de árbol desde una instantánea sin volver a tocar el disco.Ruta inexistente = código de salida 0 y ningún archivo. No hay ningún código de error que comprobar: debes verificar que el archivo de salida se haya creado.
Existe un mutex global (
WizTreeMutex): las invocaciones se serializan con un bloqueo.El buscador de duplicados solo existe en la GUI. El binario contiene
Duplicate Files:,Duplicates only, las columnasDUPSIZE/DUPCOUNTy la clave INIdupmethod, pero ningún modificador de línea de comandos llega hasta ellas. Por esowiztree_duplicatesno llama a WizTree: agrupa por tamaño desde la instantánea y lee del disco solo los archivos que comparten tamaño con otro./exportlimit=Ntrunca la exportación a N filas en orden de recorrido, no un top-N global. Por eso la clasificación se hace aquí, en streaming sobre el CSV, y no con WizTree.Valores de
/sortby:0sin orden,1tamaño,2asignado,3fecha de modificación.
Licencia
MIT. WizTree es software de Antibody Software, distribuido bajo su propia licencia: este proyecto solo invoca su línea de comandos.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query and audit AppSheet apps in natural language via Knotrik's pre-scanned definitions.
Ask questions in plain language, get answers from your business database. No SQL required.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Query Allen-Bradley and Siemens PLC projects, live tag values, and analyses in plain English.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables natural language analysis of Azure usage data from CSV files, providing cost summaries, visualizations, and insights about service and regional spending patterns.1-
- AlicenseBqualityDmaintenanceRead-only MCP server that wraps WizTree's CSV export and adds disk-usage analysis tools, enabling file system scanning and analysis via natural language.63MIT
- AlicenseNot gradedqualityBmaintenanceQuery local CSV, Parquet, JSON and TSV files with real SQL via DuckDB. Gives your AI coding tool ground-truth data access instead of hallucinated answers.4MIT
- AlicenseNot gradedqualityDmaintenanceBridges AI assistants with WizTree to scan drives, find large files/folders, and perform intelligent cleanups.MIT