Home
Login
wonderwhy-er/DesktopCommanderMCP

Desktop Commander MCP est un serveur MCP conçu pour Claude, lui donnant des capacités de contrôle de terminal, de recherche dans le système de fichiers et d'édition de fichiers différentiels.

MITJavaScript 3.4kwonderwhy-er Last Updated: 2025-06-07
https://github.com/wonderwhy-er/DesktopCommanderMCP

Présentation détaillée du projet Desktop Commander MCP

Aperçu du projet

Desktop Commander MCP est un outil serveur basé sur le protocole de contexte de modèle (MCP), spécialement conçu pour l'application Claude Desktop. Il transforme Claude en un puissant assistant de développement en lui fournissant, via le protocole MCP, des fonctionnalités de contrôle du terminal, de recherche dans le système de fichiers et d'édition différentielle de fichiers.

Ce projet étend les fonctionnalités du serveur de système de fichiers MCP, permettant aux développeurs d'interagir directement avec le système local via Claude, d'exécuter des commandes, de gérer des fichiers et d'effectuer des modifications de code, dépassant ainsi les capacités des éditeurs d'IA traditionnels.

Principales fonctionnalités

🖥️ Opérations de terminal

  • Exécution de commandes : Exécution de commandes de terminal avec prise en charge du streaming de la sortie.
  • Contrôle du délai d'attente : Délai d'attente configurable pour les commandes et prise en charge de l'exécution en arrière-plan.
  • Gestion des processus : Liste et arrêt des processus en cours d'exécution.
  • Gestion des sessions : Prise en charge de la gestion des sessions pour les commandes de longue durée.
  • Prise en charge de plusieurs shells : Prise en charge de différents environnements de shell tels que bash, zsh, powershell.

📁 Opérations sur le système de fichiers

  • Lecture et écriture de fichiers : Fonctionnalités complètes de lecture et d'écriture de fichiers.
  • Gestion des répertoires : Création, listage, déplacement de fichiers et de répertoires.
  • Recherche de fichiers : Fonction de recherche basée sur le nom des fichiers.
  • Récupération des métadonnées : Obtention d'informations détaillées sur les fichiers et les répertoires.
  • Prise en charge de plusieurs fichiers : Lecture simultanée de plusieurs fichiers.
  • Lecture du contenu d'URL : Prise en charge de la lecture de contenu texte et image à partir d'URL.

✏️ Capacités d'édition de code

  • Remplacement précis : Remplacement chirurgical de texte pour les petites modifications.
  • Réécriture complète : Réécriture complète des fichiers pour les modifications importantes.
  • Prise en charge de plusieurs fichiers : Édition simultanée de plusieurs fichiers.
  • Remplacement basé sur des motifs : Remplacement de texte basé sur des motifs.
  • Recherche de code : Recherche récursive de code ou de texte à l'aide de vscode-ripgrep.

⚙️ Gestion de la configuration du serveur

  • Obtention/Définition de la configuration : Obtention et définition des valeurs de configuration.
  • Mise à jour groupée : Mise à jour de plusieurs paramètres en une seule fois.
  • Configuration dynamique : Modification de la configuration sans redémarrage du serveur.
  • Contrôle de sécurité : Prise en charge du blocage de commandes spécifiques et de la restriction de l'accès aux répertoires.

Méthodes d'installation

Méthode 1 : Installation rapide avec NPX (recommandée)

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

Méthode 2 : Installation automatisée sur macOS

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

Méthode 3 : Installation avec Smithery

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

Méthode 4 : Installation manuelle

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

Principales catégories d'outils

Outils de gestion de la configuration

  • get_config : Obtient la configuration complète du serveur.
  • set_config_value : Définit une valeur de configuration spécifique.

Outils de terminal

  • execute_command : Exécute une commande de terminal.
  • read_output : Lit la nouvelle sortie d'une session en cours d'exécution.
  • force_terminate : Force l'arrêt d'une session en cours d'exécution.
  • list_sessions : Liste toutes les sessions de terminal actives.
  • list_processes : Liste tous les processus en cours d'exécution.
  • kill_process : Arrête un processus par son PID.

Outils de système de fichiers

  • read_file : Lit un fichier local ou le contenu d'une URL.
  • read_multiple_files : Lit plusieurs fichiers simultanément.
  • write_file : Remplace complètement le contenu d'un fichier.
  • create_directory : Crée un répertoire.
  • list_directory : Obtient une liste détaillée d'un répertoire.
  • move_file : Déplace ou renomme un fichier ou un répertoire.
  • search_files : Recherche des fichiers par nom.
  • search_code : Recherche des motifs de texte/code dans le contenu des fichiers.
  • get_file_info : Obtient les métadonnées détaillées d'un fichier ou d'un répertoire.

Outils d'édition de texte

  • edit_block : Applique un remplacement chirurgical de texte.

Avantages techniques

Comparaison avec les outils IDE traditionnels

  • Solution système complète : Ne se limite pas à l'environnement IDE, peut agir sur l'ensemble du système d'exploitation.
  • Lecture complète des fichiers : Claude peut lire les fichiers intégralement, au lieu de les traiter par blocs.
  • Prise en charge de plusieurs projets : Peut traiter plusieurs projets simultanément.
  • Exécution unique : Peut exécuter les modifications en une seule fois, réduisant ainsi les confirmations répétées.

Rentabilité

  • Basé sur l'abonnement Pro standard de Claude Desktop (20 $/mois).
  • Pas de frais d'appel d'API supplémentaires.
  • Mécanisme de mise à jour automatique, obtenant automatiquement la dernière version lors de l'installation via NPX ou Smithery.

Cas d'utilisation

Scénarios de développement

  • Exploration et compréhension de bases de code complexes.
  • Génération de graphiques et de documents.
  • Automatisation des tâches inter-systèmes.
  • Travail simultané sur plusieurs projets.
  • Modifications de code précises.

Caractéristiques de sécurité

  • Liste configurable de commandes bloquées.
  • Contrôle d'accès aux répertoires autorisé.
  • Gestion et surveillance des processus.
  • Persistance et validation de la configuration.