Claude Desktop Commander MCP

by wonderwhy-er
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Comandante de escritorio MCP

Busque, actualice, administre archivos y ejecute comandos de terminal con IA

Versión corta. Cuatro aspectos clave: comandos de terminal, edición de archivos basada en diferencias, búsqueda de texto en carpetas basada en ripgrep y capacidad para leer archivos desde URL.

Tabla de contenido

Este es un servidor que permite que la aplicación de escritorio Claude ejecute comandos de terminal de ejecución prolongada en su computadora y administre procesos a través del Protocolo de contexto de modelo (MCP) + Construido sobre el servidor del sistema de archivos MCP para proporcionar capacidades adicionales de búsqueda y reemplazo de edición de archivos.

Características

  • Ejecutar comandos de terminal con transmisión de salida
  • Compatibilidad con tiempo de espera de comandos y ejecución en segundo plano
  • Gestión de procesos (enumerar y eliminar procesos)
  • Gestión de sesiones para comandos de larga duración
  • Gestión de la configuración del servidor:
    • Obtener/establecer valores de configuración
    • Actualizar varias configuraciones a la vez
    • Cambios de configuración dinámicos sin reiniciar el servidor
  • Operaciones completas del sistema de archivos:
    • Leer/escribir archivos
    • Crear/enumerar directorios
    • Mover archivos/directorios
    • Buscar archivos
    • Obtener metadatos de archivos
    • Capacidades de edición de código:
    • Reemplazos de texto quirúrgicos para pequeños cambios
    • Reescrituras de archivos completos para cambios importantes
    • Compatibilidad con múltiples archivos
    • Reemplazos basados en patrones
    • Búsqueda recursiva de código o texto en carpetas basada en vscode-ripgrep

Instalación

Primero, asegúrese de haber descargado e instalado la aplicación Claude Desktop y de tener instalado npm .

Opción 1: Instalar a través de npx

Simplemente ejecute esto en la terminal

npx @wonderwhy-er/desktop-commander@latest setup

Para el modo de depuración (permite la conexión del inspector Node.js):

npx @wonderwhy-er/desktop-commander@latest setup --debug

Reiniciar Claude si se está ejecutando

Opción 2: Usar el instalador de scripts bash (macOS)

Para los usuarios de macOS, pueden usar nuestro instalador bash automatizado que verificará su versión de Node.js, la instalará si es necesario y configurará automáticamente Desktop Commander:

curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh | bash

Este script maneja todas las dependencias y la configuración automáticamente para una experiencia de configuración perfecta.

Opción 3: Instalación mediante herrería

Para instalar Desktop Commander para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @wonderwhy-er/desktop-commander --client claude

Opción 4: Agregar a claude_desktop_config manualmente

Añade esta entrada a tu claude_desktop_config.json:

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

Reiniciar Claude si se está ejecutando

Opción 5: Pagar localmente

  1. Clonar y construir:
git clone https://github.com/wonderwhy-er/DesktopCommanderMCP.git cd DesktopCommanderMCP npm run setup

Reiniciar Claude si se está ejecutando

El comando de configuración hará lo siguiente:

  • Instalar dependencias
  • Construir el servidor
  • Configurar la aplicación de escritorio de Claude
  • Agregue servidores MCP a la configuración de Claude si es necesario

Actualización de Desktop Commander

Al instalarlo mediante npx (Opción 1) o Smithery (Opción 2), Desktop Commander se actualizará automáticamente a la última versión al reiniciar Claude. No es necesario realizar ninguna actualización manual.

Para instalaciones manuales, puede actualizar ejecutando nuevamente el comando de configuración.

Uso

El servidor proporciona un conjunto completo de herramientas organizadas en varias categorías:

Herramientas disponibles

CategoríaHerramientaDescripción
Configuraciónget_configObtenga la configuración completa del servidor como JSON (incluye blockingCommands, defaultShell y allowedDirectories)
set_config_valueEstablezca un valor de configuración específico por clave. Opciones disponibles: • blockedCommands : Matriz de comandos de shell que no se pueden ejecutar • defaultShell : Shell para comandos (p. ej., bash, zsh, powershell) • allowedDirectories : Matriz de rutas del sistema de archivos a las que el servidor puede acceder para operaciones con archivos (⚠️ los comandos de terminal pueden acceder a archivos fuera de estos directorios)
Terminalexecute_commandEjecutar un comando de terminal con tiempo de espera configurable y selección de shell
read_outputLeer nueva salida de una sesión de terminal en ejecución
force_terminateForzar la finalización de una sesión de terminal en ejecución
list_sessionsListar todas las sesiones de terminal activas
list_processesEnumere todos los procesos en ejecución con información detallada
kill_processTerminar un proceso en ejecución por PID
Sistema de archivosread_fileLeer contenidos del sistema de archivos local o URL (admite texto e imágenes)
read_multiple_filesLeer varios archivos simultáneamente
write_fileReemplazar completamente el contenido del archivo (mejor para cambios grandes)
create_directoryCrea un nuevo directorio o asegúrate de que exista
list_directoryObtenga una lista detallada de archivos y directorios
move_fileMover o renombrar archivos y directorios
search_filesBusque archivos por nombre utilizando la coincidencia de subcadenas sin distinción entre mayúsculas y minúsculas
search_codeBusque patrones de texto/código dentro del contenido del archivo usando ripgrep
get_file_infoRecuperar metadatos detallados sobre un archivo o directorio
Edición de textoedit_blockAplicar reemplazos de texto quirúrgicos (mejor para cambios <20 % del tamaño del archivo)

Ejemplos de uso de herramientas

Formato de bloque de búsqueda/reemplazo:

filepath.ext <<<<<<< SEARCH content to find ======= new content >>>>>>> REPLACE

Ejemplo:

src/main.js <<<<<<< SEARCH console.log("old message"); ======= console.log("new message"); >>>>>>> REPLACE

Compatibilidad con URL

  • read_file ahora puede obtener contenido tanto de archivos locales como de URL
  • Ejemplo: read_file con el parámetro isUrl: true para leer desde recursos web
  • Maneja contenido de texto e imágenes de fuentes remotas
  • Las imágenes (locales o de URL) se muestran visualmente en la interfaz de Claude, no como texto.
  • Claude puede ver y analizar el contenido real de la imagen.
  • Tiempo de espera predeterminado de 30 segundos para solicitudes de URL

Manejo de comandos de larga duración

Para comandos que pueden tardar un tiempo:

Gestión de la configuración

⚠️ Advertencias de seguridad importantes

  1. Modifique siempre la configuración en una ventana de chat independiente de donde trabaja. Claude puede intentar modificar la configuración (como allowedDirectories ) si encuentra restricciones de acceso al sistema de archivos durante la operación.
  2. La configuración de allowedDirectories actualmente solo restringe las operaciones del sistema de archivos , no los comandos de terminal. Los comandos de terminal aún pueden acceder a archivos fuera de los directorios permitidos. El aislamiento completo de terminales está en desarrollo.

Herramientas de configuración

Puede administrar la configuración del servidor utilizando las herramientas proporcionadas:

// Get the entire config get_config({}) // Set a specific config value set_config_value({ "key": "defaultShell", "value": "/bin/zsh" }) // Set multiple config values using separate calls set_config_value({ "key": "defaultShell", "value": "/bin/bash" }) set_config_value({ "key": "allowedDirectories", "value": ["/Users/username/projects"] })

La configuración se guarda en config.json en el directorio de trabajo del servidor y persiste entre reinicios del servidor.

Mejores prácticas

  1. Crea un chat dedicado para los cambios de configuración : realiza todos los cambios de configuración en un solo chat y luego inicia un nuevo chat para tu trabajo real.
  2. Tenga cuidado con allowedDirectories vacíos : si lo establece en una matriz vacía ( [] ), otorga acceso a todo su sistema de archivos para operaciones con archivos.
  3. Utilice rutas específicas : en lugar de utilizar rutas amplias como / , especifique los directorios exactos a los que desea acceder.
  4. Verifique siempre la configuración después de realizar los cambios : use get_config({}) para confirmar que los cambios se aplicaron correctamente.

Usando diferentes shells

Puede especificar qué shell utilizar para la ejecución del comando:

// Using default shell (bash or system default) execute_command({ "command": "echo $SHELL" }) // Using zsh specifically execute_command({ "command": "echo $SHELL", "shell": "/bin/zsh" }) // Using bash specifically execute_command({ "command": "echo $SHELL", "shell": "/bin/bash" })

Esto le permite utilizar características específicas del shell o mantener entornos consistentes entre comandos.

  1. execute_command regresa después del tiempo de espera con la salida inicial
  2. El comando continúa en segundo plano
  3. Utilice read_output con PID para obtener una nueva salida
  4. Utilice force_terminate para detenerlo si es necesario

Depuración

Si necesita depurar el servidor, puede instalarlo en modo de depuración:

# Using npx npx @wonderwhy-er/desktop-commander@latest setup --debug # Or if installed locally npm run setup:debug

Esto hará lo siguiente:

  1. Configurar Claude para utilizar un servidor "desktop-commander" independiente
  2. Habilite el protocolo de inspector de Node.js con el indicador --inspect-brk=9229
  3. Pausa la ejecución al inicio hasta que se conecte un depurador
  4. Habilitar variables de entorno de depuración adicionales

Para conectar un depurador:

  • En Chrome, visite chrome://inspect y busque la instancia Node.js
  • En VS Code, utilice la configuración de depuración "Adjuntar al proceso del nodo"
  • Es posible que otros IDE/herramientas tengan opciones de "adjuntar" similares para la depuración de Node.js

Notas de depuración importantes:

  • El servidor se pausará al iniciarse hasta que se conecte un depurador (debido al indicador --inspect-brk )
  • Si no ve actividad durante la depuración, asegúrese de estar conectado al proceso Node.js correcto
  • Es posible que se estén ejecutando varios procesos de nodo; conéctese al que está en el puerto 9229
  • El servidor de depuración se identifica como "desktop-commander-debug" en la lista de servidores MCP de Claude

Solución de problemas:

  • Si Claude se queda sin tiempo al intentar usar el servidor de depuración, es posible que su depurador no esté conectado correctamente
  • Cuando se conecta correctamente, el proceso continuará la ejecución después de alcanzar el primer punto de interrupción.
  • Puede agregar puntos de interrupción adicionales en su IDE una vez conectado

Integración del protocolo de contexto del modelo

Este proyecto amplía el servidor del sistema de archivos MCP para permitir:

  • Compatibilidad con servidores locales en Claude Desktop
  • Ejecución completa de comandos del sistema
  • Gestión de procesos
  • Operaciones con archivos
  • Edición de código con bloques de búsqueda y reemplazo

Creado como parte de la exploración de Claude MCP: https://youtube.com/live/TlbjFDbl5Us

HECHO

  • 16-04-2025 Mejores configuraciones : configuraciones mejoradas para rutas permitidas, comandos y entornos de shell
  • 14-04-2025 Correcciones del entorno de Windows : se resolvieron problemas específicos de las plataformas Windows
  • 14-04-2025 Mejoras de Linux : compatibilidad mejorada con varias distribuciones de Linux
  • 12-04-2025 Mejores directorios permitidos y comandos bloqueados : Se mejoró la seguridad y la validación de rutas para la lectura/escritura de archivos y las restricciones de comandos de la terminal. La terminal aún puede acceder a los archivos ignorando los directorios permitidos.
  • 11-04-2025 Configuración de shell : se agregó la capacidad de configurar el shell preferido para la ejecución de comandos
  • 07-04-2025 Se agregó compatibilidad con URL : el comando read_file ahora puede obtener contenido de las URL
  • 28-03-2025 Se corrigió el error JSON "Watching /" - Se implementó un transporte stdio personalizado para manejar mensajes que no sean JSON y evitar fallas del servidor
  • 25-03-2025 Mejor búsqueda de código ( combinada ): exploración de código mejorada con resultados sensibles al contexto

Trabajo en progreso y tareas pendientes

Actualmente se están explorando las siguientes características:

  • Compatibilidad con WSL : subsistema de Windows para la integración con Linux
  • Compatibilidad con SSH : ejecución de comandos de servidor remoto
  • Mejor compatibilidad con archivos como csv/pdf
  • Terminal sandboxing para Mac/Linux/Windows para mayor seguridad
  • Modos de lectura de archivos : por ejemplo, permiten leer HTML como texto simple o Markdown

Sitio web

Visita nuestro sitio web oficial en https://desktopcommander.app/ para obtener la información, documentación y actualizaciones más recientes.

Medios de comunicación

Conozca más sobre este proyecto a través de estos recursos:

Artículo

Claude, con MCP, reemplazó Cursor y Windsurf. ¿Cómo sucedió esto? - Un análisis detallado de cómo Claude, con las capacidades del Protocolo de Contexto de Modelo, está cambiando los flujos de trabajo de los desarrolladores.

Video

Tutorial en vídeo de Claude Desktop Commander : vea cómo configurar y utilizar Commander de manera efectiva.

Publicación en AnalyticsIndiaMag

Este desarrollador abandonó Windsurf y Cursor usando Claude con MCP

Comunidad

Únase a nuestro servidor Discord para obtener ayuda, compartir comentarios y conectarse con otros usuarios.

Testimonios

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyyBt6_ShdDX_rIOad4AaABAg

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyQFTmYLJ4VBwIlmql4AaABAg

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=Ugy4-exy166_Ma7TH-h4AaABAg

https://medium.com/@pharmx/usted-sir-are-my-hero-62cff5836a3e

Contribuyendo

Si este proyecto te resulta útil, ¡considera darle una estrella ⭐ en GitHub! Esto ayuda a otros a descubrirlo y fomenta su desarrollo.

¡Agradecemos las contribuciones de la comunidad! Si has encontrado un error, tienes una solicitud de función o quieres contribuir con código, puedes ayudar de esta manera:

  • ¿Encontraste un error? Abre un problema en github.com/wonderwhy-er/DesktopCommanderMCP/issues
  • ¿Tienes una idea para una función? Envía una solicitud en la sección de problemas.
  • ¿Quieres contribuir con código? Bifurca el repositorio, crea una rama y envía una solicitud de incorporación de cambios.
  • ¿Preguntas o discusiones? Inicia una discusión en la pestaña "Discusiones" de GitHub.

¡Todas las contribuciones, grandes o pequeñas, son muy apreciadas!

Si considera que esta herramienta es valiosa para su flujo de trabajo, considere apoyar el proyecto .

Preguntas frecuentes

Aquí encontrará respuestas a algunas preguntas frecuentes. Para obtener una lista más completa de preguntas frecuentes, consulte nuestro documento de preguntas frecuentes .

¿Qué es DesktopCommanderMCP?

Es una herramienta MCP que permite a Claude Desktop acceder a su sistema de archivos y terminal, convirtiendo a Claude en un asistente versátil para codificación, automatización, exploración de base de código y más.

¿En qué se diferencia de Cursor/Windsurf?

A diferencia de las herramientas centradas en IDE, Claude Desktop Commander ofrece un enfoque centrado en soluciones que funciona con todo el sistema operativo, no solo en un entorno de programación. Claude lee los archivos completos en lugar de fragmentarlos, puede trabajar en varios proyectos simultáneamente y ejecuta los cambios de una sola vez, sin necesidad de una revisión constante.

¿Debo pagar por los créditos API?

No. Esta herramienta funciona con la suscripción Pro estándar de Claude Desktop ($20/mes), no con llamadas API, por lo que no incurrirá en costos adicionales más allá de la tarifa de suscripción.

¿Desktop Commander se actualiza automáticamente?

Sí, al instalarlo mediante npx o Smithery, Desktop Commander se actualiza automáticamente a la última versión al reiniciar Claude. No es necesario realizar ninguna actualización manual.

¿Cuáles son los casos de uso más comunes?

  • Exploración y comprensión de bases de código complejas
  • Generación de diagramas y documentación
  • Automatizar tareas en todo el sistema
  • Trabajar con múltiples proyectos simultáneamente
  • Realizar cambios en el código quirúrgico con un control preciso

Tengo problemas para instalar o usar la herramienta. ¿Dónde puedo obtener ayuda?

Únete a nuestro servidor de Discord para recibir soporte de la comunidad, consulta los problemas conocidos en GitHub o consulta las preguntas frecuentes para obtener consejos de solución. También puedes visitar la sección de preguntas frecuentes de nuestro sitio web para una experiencia más intuitiva. Si encuentras un nuevo problema, considera abrir un problema en GitHub con los detalles.

Recopilación de datos

Durante la instalación y configuración, Desktop Commander recopila datos de uso anónimos para mejorar la herramienta. Esto incluye:

  • Información del sistema operativo
  • Versiones de Node.js y NPM
  • Método de instalación y entorno de shell
  • Mensajes de error (si se produce alguno durante la instalación)

Estos datos se recopilan mediante Google Analytics y se asocian a un identificador único generado automáticamente. No se recopila información personal. Esto nos ayuda a comprender cómo se utiliza la herramienta e identificar problemas comunes.

Actualmente estamos trabajando para añadir una opción de exclusión voluntaria integrada para esta recopilación de datos en una próxima versión. Por ahora, si desea excluirse, puede bloquear las conexiones de red a google-analytics.com en la configuración de su firewall.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Permite que la aplicación de escritorio Claude ejecute comandos de terminal y edite archivos en su computadora a través de MCP, con funciones que incluyen ejecución de comandos, administración de procesos y edición de archivos basada en diferencias.

  1. Search, update, manage files and run terminal commands with AI
    1. Table of Contents
      1. Features
        1. Installation
          1. Option 1: Install through npx
          2. Option 2: Using bash script installer (macOS)
          3. Option 3: Installing via Smithery
          4. Option 4: Add to claude_desktop_config by hand
          5. Option 5: Checkout locally
          6. Updating Desktop Commander
        2. Usage
          1. Available Tools
          2. Tool Usage Examples
          3. URL Support
        3. Handling Long-Running Commands
          1. Configuration Management
            1. ⚠️ Important Security Warnings
            2. Configuration Tools
            3. Best Practices
          2. Using Different Shells
            1. Debugging
              1. Model Context Protocol Integration
                1. DONE
                  1. Work in Progress and TODOs
                    1. Website
                      1. Media
                        1. Article
                        2. Video
                        3. Publication at AnalyticsIndiaMag
                        4. Community
                      2. Testimonials
                        1. Contributing
                          1. Frequently Asked Questions
                            1. What is DesktopCommanderMCP?
                            2. How is this different from Cursor/Windsurf?
                            3. Do I need to pay for API credits?
                            4. Does Desktop Commander automatically update?
                            5. What are the most common use cases?
                            6. I'm having trouble installing or using the tool. Where can I get help?
                          2. Data Collection
                            1. License
                              ID: zempur9oh4