/ Annuaire / Playground / Desktop Commander
● Communauté wonderwhy-er ⚡ Instantané

Desktop Commander

par wonderwhy-er · wonderwhy-er/DesktopCommanderMCP

Donnez à Claude un vrai terminal — opérations fichiers, éditions de code, processus et shell sur tout votre système de fichiers avec des garde-fous de permission.

Desktop Commander est le serveur MCP qui transforme Claude Desktop en agent de codage sans avoir besoin de Claude Code ni de Cursor. Il expose la lecture/écriture du système de fichiers, des éditions chirurgicales de texte, l'exécution de commandes terminal, la gestion de processus longue durée et des listes blanches de répertoires configurables. Utilisé par des centaines de milliers de développeurs comme alternative gratuite aux IDE agentiques par abonnement.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

desktop-commander-mcp.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/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"
      ]
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

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

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

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

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

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

Continue utilise un tableau d'objets serveur plutôt qu'une map.

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

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : Desktop Commander

Utiliser Claude Desktop comme agent de codage gratuit sans Cursor ni Claude Code

👤 Développeurs qui veulent du codage agentique sans payer d'abonnement IDE ⏱ ~20 min beginner

Quand l'utiliser : Vous avez déjà Claude Desktop et voulez qu'il édite vraiment votre dépôt, pas seulement coller des extraits.

Prérequis
  • Claude Desktop installé — Télécharger depuis claude.ai/download
  • Répertoire de travail en liste blanche — Le premier lancement demande quels répertoires Claude peut toucher
Déroulement
  1. Installer et verrouiller l'espace de travail
    Install desktop-commander. Limit it to ~/Code/myproject — nothing outside.✓ Copié
    → La configuration montre les allowed_directories restreints ; la liste des outils apparaît dans Claude
  2. Effectuer un vrai changement
    Open ~/Code/myproject. Find every TODO comment, group by file, propose fixes for the top 5.✓ Copié
    → Analyse rapide à la ripgrep, liste priorisée avec numéros de lignes
  3. Appliquer avec edit_block
    Apply the proposed fixes using edit_block. Don't rewrite whole files — just the necessary diffs.✓ Copié
    → Chaque modification montre des blocs old_string/new_string ; diff git propre ensuite

Résultat : Claude Desktop écrit de vrais changements de code dans votre dépôt avec la même qualité qu'un assistant IDE payant.

Pièges
  • Oublié de définir les allowed_directories — Claude scanne votre dossier personnel — Éditez ~/.claude-server-commander/config.json et redémarrez Claude Desktop
Combiner avec : github · filesystem

Lancer des serveurs de développement et capturer la sortie sans bloquer le chat

👤 Développeurs déboguant des configurations multi-processus ⏱ ~25 min intermediate

Quand l'utiliser : Vous avez besoin que Claude démarre un serveur, lance des tests dans un autre terminal et suive les logs simultanément.

Déroulement
  1. Démarrer le serveur en arrière-plan
    Start npm run dev as a background process. Show me the PID.✓ Copié
    → Processus démarré, PID retourné, capture du flux de sortie
  2. Lancer les tests contre lui
    While that's running, execute the e2e suite and surface any failures.✓ Copié
    → Tests exécutés indépendamment ; le serveur continue de streamer
  3. Inspecter les logs à la demande
    Show the last 100 lines of stdout from PID 12345. Anything red?✓ Copié
    → Tranche de log avec erreurs mises en évidence

Résultat : Session de débogage multi-processus orchestrée entièrement depuis Claude.

Pièges
  • Le processus en arrière-plan continue après la fin du chat — Utilisez l'outil kill_process quand vous avez terminé, ou redémarrez Claude Desktop

Refactoriser en masse sur des centaines de fichiers en une session

👤 Développeurs effectuant des migrations à l'échelle de la base de code (ex. renommage, dépréciation) ⏱ ~60 min intermediate

Quand l'utiliser : Votre assistant IDE coince sur plus de 50 fichiers modifiés ; vous voulez un passage orchestré unique.

Déroulement
  1. Délimiter le changement
    Find every import of oldLib. Group by file and tell me how many changes per file.✓ Copié
    → Histogramme d'impact
  2. Tester sur un fichier d'abord
    Apply the migration to the smallest-impact file as a smoke test.✓ Copié
    → Fichier unique migré ; tests passent
  3. Déployer par lots
    Now apply to the next 20 files. After each batch, run lint and tell me if anything breaks.✓ Copié
    → Rapports de progression par lot avec bilan de santé

Résultat : Migration sur toute la base de code complétée avec des points de contrôle vérifiables par lot.

Pièges
  • edit_block échoue sur des différences d'espaces blancs — Utilisez le mode recherche-remplacement pour les motifs délicats ; vérifiez le mode fin de ligne
Combiner avec : github

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

desktop-commander-mcp + github

Édition locale puis création de PR

Apply the fixes via desktop-commander, then use github MCP to open a PR with a clean summary.✓ Copié
desktop-commander-mcp + filesystem

Comparer différents accès filesystem sandboxés

Use filesystem MCP for read-only library scans and desktop-commander for actual project edits.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
execute_command command: str, timeout_ms?: int Toute action shell — git, npm, scripts de build 0
edit_block file_path, old_string, new_string Éditions chirurgicales — sans réécriture de fichier entier 0
read_file path Lire le source pour le contexte 0
write_file path, content Création de nouveau fichier 0
search_files path, pattern Trouver des fichiers par nom/glob 0
search_code pattern, path? Recherche de contenu dans les fichiers 0
list_processes () Voir ce qui tourne dans la session 0

Coût et limites

Coût d'exécution

Quota d'API
N/A — local
Tokens par appel
Variable — les gros fichiers consomment des tokens
Monétaire
Gratuit (MIT)
Astuce
Utilisez search_code plutôt que read_file quand vous n'avez besoin que de quelques lignes

Sécurité

Permissions, secrets, portée

Portées minimales : filesystem-read filesystem-write shell-exec
Stockage des identifiants : Aucun — tout est local
Sortie de données : Aucun — tous les appels sont locaux
Ne jamais accorder : Unrestricted root directory access

Dépannage

Erreurs courantes et correctifs

Permission refusée sur edit_block

Ajoutez le répertoire aux allowed_directories dans ~/.claude-server-commander/config.json

Vérifier : cat the config and restart Claude Desktop
Processus démarré mais aucune sortie

Utilisez read_output avec le PID ; la sortie est mise en mémoire tampon, pas streamée dans le chat par défaut

edit_block signale 'old_string not found'

Dérive d'espaces blancs ou de fins de ligne — relisez le fichier d'abord pour copier les octets exacts

Alternatives

Desktop Commander vs autres

AlternativeQuand l'utiliserCompromis
Claude Code (CLI)Vous voulez la boucle agentique officielle Anthropic avec planificationClaude Code est plus abouti mais nécessite son propre abonnement ; Desktop Commander est gratuit
filesystem (official MCP)Accès fichier en lecture seule ou sandboxé sans exécution shellSurface plus petite, pas d'exécution de commandes

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills