/ Каталог / Песочница / Desktop Commander
● Сообщество wonderwhy-er ⚡ Сразу

Desktop Commander

автор wonderwhy-er · wonderwhy-er/DesktopCommanderMCP

Дайте Claude настоящий терминал — файловые операции, редактирование кода, процессы и shell по всей файловой системе с контролем доступа.

Desktop Commander — MCP-сервер, который превращает Claude Desktop в агент для написания кода без необходимости использовать Claude Code или Cursor. Предоставляет чтение/запись файловой системы, точечные текстовые правки, выполнение команд в терминале, управление долгоживущими процессами и настраиваемые списки разрешённых директорий. Используется сотнями тысяч разработчиков как бесплатная альтернатива IDE с подпиской.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

desktop-commander-mcp.replay ▶ готово
0/0

Установка

Выберите клиент

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

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

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

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

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

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

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

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

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

Continue использует массив объектов серверов, а не map.

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

Добавьте в context_servers. Zed перезагружается автоматически.

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

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: Desktop Commander

Используйте Claude Desktop как бесплатный агент для кода вместо Cursor или Claude Code

👤 Разработчики, которые хотят агентное написание кода без оплаты IDE-подписок ⏱ ~20 min beginner

Когда использовать: У вас уже есть Claude Desktop и вы хотите, чтобы он реально редактировал репозиторий, а не только вставлял фрагменты кода.

Предварительные требования
  • Установленный Claude Desktop — Скачать с claude.ai/download
  • Рабочая директория добавлена в белый список — При первом запуске система спросит, к каким директориям Claude может обращаться
Поток
  1. Установка и ограничение рабочего пространства
    Install desktop-commander. Limit it to ~/Code/myproject — nothing outside.✓ Скопировано
    → Конфигурация показывает ограниченный список allowed_directories; список инструментов появляется в Claude
  2. Внесение реальных изменений
    Open ~/Code/myproject. Find every TODO comment, group by file, propose fixes for the top 5.✓ Скопировано
    → Быстрое сканирование через ripgrep, приоритизированный список с номерами строк
  3. Применение через edit_block
    Apply the proposed fixes using edit_block. Don't rewrite whole files — just the necessary diffs.✓ Скопировано
    → Каждое изменение отображает блоки old_string/new_string; чистый git diff после

Итог: Claude Desktop теперь реально вносит изменения в код вашего репозитория с качеством платного IDE-ассистента.

Подводные камни
  • Забыли задать allowed_directories — Claude сканирует домашнюю папку — Отредактируйте ~/.claude-server-commander/config.json и перезапустите Claude Desktop
Сочетать с: github · filesystem

Запускайте dev-серверы и захватывайте вывод без блокировки чата

👤 Разработчики, отлаживающие многопроцессовые окружения ⏱ ~25 min intermediate

Когда использовать: Вам нужно, чтобы Claude запустил сервер, в другом терминале прогнал тесты и одновременно следил за логами.

Поток
  1. Запуск сервера в фоне
    Start npm run dev as a background process. Show me the PID.✓ Скопировано
    → Процесс запущен, PID возвращён, вывод захватывается в поток
  2. Запуск тестов против него
    While that's running, execute the e2e suite and surface any failures.✓ Скопировано
    → Тесты выполняются независимо; сервер продолжает стримить
  3. Просмотр логов по требованию
    Show the last 100 lines of stdout from PID 12345. Anything red?✓ Скопировано
    → Срез лога с выделенными ошибками

Итог: Сессия многопроцессовой отладки, полностью управляемая из Claude.

Подводные камни
  • Фоновый процесс продолжает работать после завершения чата — Используйте инструмент kill_process после работы или перезапустите Claude Desktop

Массовый рефакторинг сотен файлов за одну сессию

👤 Разработчики, выполняющие миграцию всей кодовой базы (например, переименование, устаревание API) ⏱ ~60 min intermediate

Когда использовать: Ваш IDE-ассистент захлёбывается на изменениях >50 файлов; вы хотите один управляемый проход.

Поток
  1. Определение масштаба изменений
    Find every import of oldLib. Group by file and tell me how many changes per file.✓ Скопировано
    → Гистограмма влияния
  2. Проверка на одном файле
    Apply the migration to the smallest-impact file as a smoke test.✓ Скопировано
    → Один файл мигрирован; тесты проходят
  3. Поэтапное распространение
    Now apply to the next 20 files. After each batch, run lint and tell me if anything breaks.✓ Скопировано
    → Отчёты о прогрессе по каждой партии с проверкой состояния

Итог: Миграция всей кодовой базы завершена с проверяемыми контрольными точками на каждом пакете.

Подводные камни
  • edit_block не срабатывает из-за различий в пробелах — Используйте режим поиска и замены для сложных паттернов; проверьте режим окончания строк
Сочетать с: github

Комбинации

Сочетайте с другими MCP — эффект x10

desktop-commander-mcp + github

Локальное редактирование, затем создание PR

Apply the fixes via desktop-commander, then use github MCP to open a PR with a clean summary.✓ Скопировано
desktop-commander-mcp + filesystem

Сравнение разных изолированных доступов к файловой системе

Use filesystem MCP for read-only library scans and desktop-commander for actual project edits.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
execute_command command: str, timeout_ms?: int Любое действие в shell — git, npm, скрипты сборки 0
edit_block file_path, old_string, new_string Точечные правки — без перезаписи файлов целиком 0
read_file path Чтение исходника для контекста 0
write_file path, content Создание нового файла 0
search_files path, pattern Поиск файлов по имени/glob-паттерну 0
search_code pattern, path? Контентный поиск по файлам 0
list_processes () Просмотр запущенных процессов в сессии 0

Стоимость и лимиты

Во что обходится

Квота API
Не применимо — локальный
Токенов на вызов
Переменные — большие файлы сжигают токены
Деньги
Бесплатно (MIT)
Совет
Используйте search_code вместо read_file, когда нужно лишь несколько строк

Безопасность

Права, секреты, радиус поражения

Минимальные скоупы: filesystem-read filesystem-write shell-exec
Хранение учётных данных: Нет — всё локально
Исходящий трафик: Нет — все вызовы локальные
Никогда не давайте: Unrestricted root directory access

Устранение неполадок

Частые ошибки и исправления

Ошибка разрешений при edit_block

Добавьте директорию в allowed_directories в файле ~/.claude-server-commander/config.json

Проверить: cat конфига и перезапустите Claude Desktop
Процесс запущен, но нет вывода

Используйте read_output с PID; вывод буферизуется, по умолчанию не стримится в чат

edit_block сообщает «old_string not found»

Дрейф пробелов или окончаний строк — перечитайте файл, чтобы скопировать точные байты

Альтернативы

Desktop Commander в сравнении

АльтернативаКогда использоватьКомпромисс
Claude Code (CLI)Вы хотите первичный агентный цикл Anthropic с планированиемClaude Code более отполирован, но требует отдельной подписки; Desktop Commander бесплатен
filesystem (official MCP)Только чтение или изолированный доступ к файлам без выполнения команд в shellМеньше возможностей, нет выполнения команд

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills