/ Directorio / Playground / Desktop Commander
● Comunidad wonderwhy-er ⚡ Instantáneo

Desktop Commander

por wonderwhy-er · wonderwhy-er/DesktopCommanderMCP

Dale a Claude una terminal real — operaciones de archivos, edición de código, procesos y shell en todo tu sistema de archivos con controles de permisos.

Desktop Commander es el servidor MCP que convierte Claude Desktop en un agente de codificación sin necesidad de Claude Code o Cursor. Expone lectura/escritura del sistema de archivos, ediciones quirúrgicas de texto, ejecución de comandos en terminal, gestión de procesos de larga duración y listas de directorios permitidos configurables. Usado por cientos de miles de desarrolladores como alternativa gratuita a los IDEs agénticos de pago.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

desktop-commander-mcp.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "desktop-commander-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ]
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "desktop-commander-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ]
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "desktop-commander-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ]
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "desktop-commander-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ]
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "desktop-commander-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "desktop-commander-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@wonderwhy-er/desktop-commander"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add desktop-commander-mcp -- npx -y @wonderwhy-er/desktop-commander

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: Desktop Commander

Usar Claude Desktop como agente de codificación gratuito sin Cursor ni Claude Code

👤 Desarrolladores que quieren codificación agéntica sin pagar suscripciones a IDEs ⏱ ~20 min beginner

Cuándo usarlo: Ya tienes Claude Desktop y quieres que edite tu repo de verdad, no que solo pegue fragmentos de código.

Requisitos previos
  • Claude Desktop instalado — Descárgalo desde claude.ai/download
  • Directorio de trabajo en la lista blanca — La primera ejecución solicita qué directorios puede tocar Claude
Flujo
  1. Instalar y bloquear el espacio de trabajo
    Instala desktop-commander. Limítalo a ~/Code/myproject — nada fuera de ahí.✓ Copiado
    → La configuración muestra allowed_directories restringido; el listado de herramientas aparece en Claude
  2. Ejecutar un cambio real
    Abre ~/Code/myproject. Encuentra todos los comentarios TODO, agrúpalos por archivo y propón correcciones para los 5 principales.✓ Copiado
    → Escaneo rápido, lista priorizada con números de línea
  3. Aplicar con edit_block
    Aplica las correcciones propuestas usando edit_block. No reescribas archivos completos — solo los diffs necesarios.✓ Copiado
    → Cada edición muestra bloques old_string/new_string; diff de git limpio después

Resultado: Claude Desktop ahora escribe cambios de código reales en tu repo con la misma calidad que un asistente de IDE de pago.

Errores comunes
  • Olvidaste configurar allowed_directories — Claude escanea tu carpeta home — Edita ~/.claude-server-commander/config.json y reinicia Claude Desktop
Combinar con: github · filesystem

Ejecutar servidores de desarrollo y capturar su salida sin bloquear el chat

👤 Desarrolladores depurando configuraciones de múltiples procesos ⏱ ~25 min intermediate

Cuándo usarlo: Necesitas que Claude inicie un servidor, ejecute pruebas en otra terminal y monitoree logs simultáneamente.

Flujo
  1. Iniciar el servidor en segundo plano
    Inicia npm run dev como proceso en segundo plano. Muéstrame el PID.✓ Copiado
    → Proceso iniciado, PID devuelto, salida capturada en streaming
  2. Ejecutar pruebas contra él
    Mientras eso está en ejecución, ejecuta la suite e2e y muestra los fallos.✓ Copiado
    → Las pruebas corren de forma independiente; el servidor sigue en streaming
  3. Inspeccionar logs a demanda
    Muestra las últimas 100 líneas de stdout del PID 12345. ¿Hay algo en rojo?✓ Copiado
    → Fragmento de log con errores destacados

Resultado: Sesión de depuración multiproceso orquestada completamente desde Claude.

Errores comunes
  • El proceso en segundo plano sigue corriendo después de que termina el chat — Usa la herramienta kill_process cuando termines, o reinicia Claude Desktop

Refactorizar en masa cientos de archivos en una sola sesión

👤 Desarrolladores realizando migraciones en toda la base de código (p.ej., renombrar, deprecar) ⏱ ~60 min intermediate

Cuándo usarlo: Tu asistente de IDE falla con cambios de más de 50 archivos; quieres un pase orquestado único.

Flujo
  1. Delimitar el cambio
    Encuentra cada importación de oldLib. Agrúpalas por archivo y dime cuántos cambios hay por archivo.✓ Copiado
    → Histograma de impacto
  2. Probar en un archivo primero
    Aplica la migración al archivo de menor impacto como prueba de humo.✓ Copiado
    → Archivo único migrado; pruebas exitosas
  3. Desplegar en lotes
    Ahora aplica a los siguientes 20 archivos. Después de cada lote, ejecuta lint y dime si algo falla.✓ Copiado
    → Informes de progreso por lote con verificación de salud

Resultado: Migración en toda la base de código completada con puntos de control verificables por lote.

Errores comunes
  • edit_block falla por diferencias de espacios en blanco — Usa el modo buscar-y-reemplazar para patrones más complejos; verifica el modo de fin de línea
Combinar con: github

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

desktop-commander-mcp + github

Edición local y luego creación de PR

desktop-commander-mcp + filesystem

Comparar diferentes accesos de sistema de archivos en sandbox

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
execute_command command: str, timeout_ms?: int Cualquier acción de shell — git, npm, scripts de build 0
edit_block file_path, old_string, new_string Ediciones quirúrgicas — sin reescrituras de archivos completos 0
read_file path Leer el código fuente para obtener contexto 0
write_file path, content Creación de nuevos archivos 0
search_files path, pattern Buscar archivos por nombre/glob 0
search_code pattern, path? Búsqueda de contenido en archivos 0
list_processes () Ver qué está corriendo en la sesión 0

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
N/A — local
Tokens por llamada
Variable — los archivos largos consumen tokens
Monetario
Gratuito (MIT)
Consejo
Usa search_code en lugar de read_file cuando solo necesites unas pocas líneas

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: filesystem-read filesystem-write shell-exec
Almacenamiento de credenciales: Ninguno — todo local
Salida de datos: Ninguno — todas las llamadas son locales
No conceder nunca: Unrestricted root directory access

Resolución de problemas

Errores comunes y soluciones

Permiso denegado en edit_block

Agrega el directorio a allowed_directories en ~/.claude-server-commander/config.json

Verificar: cat the config and restart Claude Desktop
Proceso iniciado pero sin salida

Usa read_output con el PID; la salida está en buffer, no se transmite al chat por defecto

edit_block reporta 'old_string not found'

Hay diferencias de espacios en blanco o fin de línea — vuelve a leer el archivo primero para copiar los bytes exactos

Alternativas

Desktop Commander vs otros

AlternativaCuándo usarlaContrapartida
Claude Code (CLI)Quieres el loop agéntico oficial de Anthropic con planificaciónClaude Code está más pulido pero requiere su propia suscripción; Desktop Commander es gratuito
filesystem (official MCP)Acceso a archivos de solo lectura o en sandbox sin ejecución de shellSuperficie más pequeña, sin ejecución de comandos

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills