wonderwhy-er/DesktopCommanderMCP

wonderwhy-er/DesktopCommanderMCP

от wonderwhy-er
Desktop Commander — MCP сервер для управления файлами, запуска терминальных команд, редактирования кода, работы с Excel, PDF и DOCX. Разработчики используют его для автоматизации задач и взаимодейс...

Desktop Commander MCP

Search, update, manage files and run terminal commands with AI

npm downloads AgentAudit Verified Trust Score smithery badge Buy Me A Coffee

Discord

Work with code and text, run processes, and automate tasks, going far beyond other AI editors - while using host client subscriptions instead of API token costs.

Desktop Commander MCP

Table of Contents

All of your AI development tools in one place. Desktop Commander puts all dev tools in one chat. Execute long-running terminal commands on your computer and manage processes through Model Context Protocol (MCP). Built on top of MCP Filesystem Server to provide additional search and replace file editing capabilities.

Features

  • Remote AI Control - Use Desktop Commander from ChatGPT, Claude web, and other AI services via Remote MCP
  • File Preview UI - Visual file previews in Claude Desktop with rendered markdown, inline images, expandable content, built-in markdown editor, and quick "Open in folder" access
  • Enhanced terminal commands with interactive process control
  • Execute code in memory (Python, Node.js, R) without saving files
  • Instant data analysis - just ask to analyze CSV/JSON/Excel files
  • Native Excel file support - Read, write, edit, and search Excel files (.xlsx, .xls, .xlsm) without external tools
  • PDF support - Read PDFs with text extraction, create new PDFs from markdown, modify existing PDFs
  • DOCX support - Read, create, edit, and search Word documents (.docx) with surgical XML editing and markdown-to-DOCX conversion
  • Interact with running processes (SSH, databases, development servers)
  • Execute terminal commands with output streaming
  • Command timeout and background execution support
  • Process management (list and kill processes)
  • Session management for long-running commands
  • Process output pagination - Read terminal output with offset/length controls to prevent context overflow
  • Server configuration management:
    • Get/set configuration values
    • Update multiple settings at once
    • Dynamic configuration changes without server restart
  • Full filesystem operations:
    • Read/write files (text, Excel, PDF, DOCX)
    • Create/list directories
    • Recursive directory listing with configurable depth and context overflow protection for large folders
    • Move files/directories
    • Search files and content (including Excel content)
    • Get file metadata
    • Negative offset file reading: Read from end of files using negative offset values (like Unix tail)
  • Code editing capabilities:
    • Surgical text replacements for small changes
    • Full file rewrites for major changes
    • Multiple file support
    • Pattern-based replacements
    • vscode-ripgrep based recursive code or text search in folders
  • Local tool-call history and audit logs:
    • Tool calls and arguments are recorded locally on the machine running Desktop Commander
    • Recent call history with bounded output previews is available through get_recent_tool_calls
    • Size-based rotation/trimming keeps the active history files bounded
  • Safety guardrails (not a sandbox — see SECURITY.md):
    • Symlink traversal prevention on file operations
    • Command blocklist for accidental execution
    • Docker isolation for complete isolation

Часто задаваемые вопросы

Инструменты были проиндексированы:
create_directory

Создаёт новый каталог или проверяет, что каталог существует. Может создавать несколько вложенных каталогов за одну операцию. Работает только в разрешённых каталогах. Абсолютные пути самые надёжные, потому что не зависят от текущего рабочего каталога. Пути автоматически нормализуются независимо от направления слэшей. Относительные пути зависят от текущего рабочего каталога, а пути с тильдой (~/...) могут разрешаться не во всех контекстах. Абсолютные пути обычно самые надёжные. На эту команду можно ссылаться как "DC: ..." или "use Desktop Commander to ..." в ваших инструкциях.

Параметры
  • pathstringобязательный
edit_block

Вносит точечные правки в файлы. Небольшие точечные правки проверять проще, чем крупные замены на все случаи. old_string может включать достаточно окружающего контекста, чтобы однозначно определить нужный текст. ОБРАБОТКА ФОРМАТОВ (по расширению): ФАЙЛЫ EXCEL (.xlsx, .xls, .xlsm) - режим обновления диапазона: Принимает: - file_path: путь к файлу Excel - range использует формат FROM:TO - "SheetName!A1:C10" или "SheetName!C1:C1" - content: двумерный массив, например [["H1","H2"],["R1","R2"]] ТЕКСТОВЫЕ ФАЙЛЫ - режим поиска/замены: Принимает: - file_path: путь к файлу для редактирования - old_string: текст для замены - new_string: текст замены - expected_replacements: необязательное число замен (по умолчанию: 1) ФАЙЛЫ DOCX (.docx) - режим поиска/замены XML: Принимает те же параметры, что и текстовые файлы (old_string, new_string, expected_replacements). Работает с отформатированным XML внутри DOCX - тем же XML, который вы видите из read_file с offset/length. Копируйте XML-фрагменты из вывода read в old_string. После редактирования XML упаковывается обратно в корректный DOCX. Также ищет в верхних/нижних колонтитулах, если не находит в теле документа. Примеры: - Заменить текст: old_string="<w:t>Old Text</w:t>" new_string="<w:t>New Text</w:t>" - Изменить стиль: old_string='<w:pStyle w:val="Normal"/>' new_string='<w:pStyle w:val="Heading1"/>' - Добавить содержимое: включите окружающий XML-контекст в old_string, добавьте новые элементы в new_string По умолчанию,…

Параметры
  • contentany
  • expected_replacementsnumber
  • file_pathstringобязательный
  • new_stringstring
  • old_stringstring
  • optionsobject
  • originenum
  • rangestring
force_terminate

Принудительно завершает активный сеанс терминала. Эту команду можно вызывать как «DC: ...» или «use Desktop Commander to ...» в вашем запросе.

Параметры
  • pidnumberобязательный
get_configтолько чтение

Получает полную конфигурацию сервера в формате JSON. Конфиг содержит поля: - blockedCommands (массив заблокированных shell-команд) - defaultShell (оболочка для команд) - allowedDirectories (пути, к которым сервер имеет доступ) - fileReadLineLimit (максимум строк для read_file, по умолчанию 1000) - fileWriteLineLimit (максимум строк на один вызов write_file, по умолчанию 50) - telemetryEnabled (булево значение для включения/отключения телеметрии) - currentClient (информация о текущем подключённом MCP-клиенте) - clientHistory (история всех подключавшихся клиентов) - version (версия DesktopCommander) - systemInfo (информация об операционной системе и окружении) Эту команду можно вызывать как «DC: ...» или «use Desktop Commander to ...» в ваших инструкциях.

Параметры
  • originenum
get_file_infoтолько чтение

Получает подробные метаданные о файле или каталоге, включая: - размер - время создания - время последнего изменения - права доступа - тип - lineCount (для текстовых файлов) - lastLine (номер последней строки с нулевой индексацией, для текстовых файлов) - appendPosition (номер строки для добавления, для текстовых файлов) - sheets (для файлов Excel - массив из {name, rowCount, colCount}) Работает только в разрешённых каталогах. Абсолютные пути надёжнее всего, потому что не зависят от текущего рабочего каталога. Пути автоматически нормализуются независимо от направления слеша. Относительные пути зависят от текущего рабочего каталога, а пути с тильдой (~/...) могут разрешаться не во всех контекстах. Абсолютные пути обычно самые надёжные. На эту команду можно ссылаться как "DC: ..." или "use Desktop Commander to ..." в ваших инструкциях.

Параметры
  • pathstringобязательный
get_more_search_resultsтолько чтение

Получает больше результатов из активного поиска с постраничной навигацией на основе смещения. Поддерживает частичное чтение результатов с помощью: - 'offset' (индекс начала результатов, по умолчанию: 0) * Положительное: начать с результата N (индексация с 0) * Отрицательное: прочитать последние N результатов с конца (поведение «хвоста») - 'length' (максимальное количество результатов для чтения, по умолчанию: 100) * Используется с положительными смещениями для чтения диапазона * Игнорируется, когда смещение отрицательное (читаются все запрошенные хвостовые результаты) Примеры: - offset: 0, length: 100 → Первые 100 результатов - offset: 200, length: 50 → Результаты 200–249 - offset: -20 → Последние 20 результатов - offset: -5, length: 10 → Последние 5 результатов (length игнорируется) Возвращает только результаты в указанном диапазоне вместе со статусом поиска. Работает как read_process_output — вызывайте этот инструмент повторно, чтобы получать постепенные результаты из поиска, запущенного с помощью start_search. Эту команду можно указывать как «DC: ...» или «используй Desktop Commander, чтобы ...» в ваших инструкциях.

Параметры
  • lengthinteger
  • offsetinteger
  • sessionIdstringобязательный
get_recent_tool_callsтолько чтение

Получает историю последних локальных вызовов инструментов с аргументами и результатами. Возвращает хронологический список последних вызовов, загруженный из локального файла истории. Полезно для: - Знакомства новых чатов с уже выполненной работой - Восстановления контекста после потери истории чата - Отладки последовательностей вызовов инструментов Примечание: не отслеживает собственные вызовы и track_ui_event. История сохраняется локально в tool-history.jsonl, хранит в памяти не более последних 1000 вызовов и подчищает более старую историю на диске. Сохранённые результаты размером более 4 KiB заменяются маркером пропуска. Эту команду можно упоминать как «DC: ...» или «use Desktop Commander to ...» в ваших инструкциях.

Параметры
  • maxResultsnumber
  • sincestring
  • toolNamestring
get_usage_statsтолько чтение

Получает статистику использования для отладки и анализа. Возвращает сводку по использованию инструментов, частоту успешных/неудачных вызовов и показатели производительности. В инструкциях на эту команду можно ссылаться как "DC: ..." или "use Desktop Commander to ...".

Параметры

Без параметров.

give_feedback_to_desktop_commanderвнешний мир

Открывает форму обратной связи в браузере, чтобы оставить отзыв о Desktop Commander. Сама форма собирает ответы на опрос; этот инструмент не принимает ответы и не заполняет их заранее. Он автоматически включает базовые метаданные об использовании: - tool_call_count: количество выполненных команд - days_using: сколько дней использовался Desktop Commander - platform: операционная система (Mac/Windows/Linux) - client_id: идентификатор для аналитики Входные параметры не нужны. В инструкциях эту команду можно указывать как "DC: ..." или "use Desktop Commander to ...".

Параметры

Без параметров.

interact_with_processвнешний мир

Отправляет входные данные в существующий терминал или процесс REPL и возвращает новый доступный вывод. Пригодится для интерактивных оболочек, REPL Python/Node/R/Julia, консолей баз данных и долго работающих команд, запущенных через start_process(). Примеры: - Интерактивные сессии REPL Python запускаются командой python3 -i. - Существующие интерактивные сессии принимают дополнительный ввод, например импорты или команды анализа. - Интерактивные сессии возвращают новый доступный вывод, пока остаются активными. УМНОЕ ОПРЕДЕЛЕНИЕ: - Автоматически ждёт распознанное приглашение, когда это запрошено - Определяет ошибки и состояния завершения - Ранний выход предотвращает лишнее ожидание - Убирает типичный текст приглашения REPL из возвращаемого вывода ПАРАМЕТРЫ: - pid: идентификатор процесса, возвращённый start_process - input: текст или команда для отправки в процесс - timeout_ms: максимальное время ожидания (по умолчанию: 8000ms) - wait_for_prompt: ждать ли приглашение перед возвратом (по умолчанию: true) - verbose_timing: включать подробную телеметрию по времени (по умолчанию: false) Возвращает результат выполнения с индикаторами состояния. ОТЛАДКА ПРОИЗВОДИТЕЛЬНОСТИ (параметр verbose_timing): Когда включено, подробные данные о времени включают: - Причина выхода - Общая длительность и время до первого вывода - Хронология событий вывода Эту команду можно упомянуть как "DC: ..." или "use Desktop Commander to ..." в…

Параметры
  • inputstringобязательный
  • pidnumberобязательный
  • timeout_msnumber
  • verbose_timingboolean
  • wait_for_promptboolean
kill_process

Завершает работающий процесс по PID. Используйте с осторожностью, так как это принудительно завершит указанный процесс. На эту команду ссылаются как "DC: ..." или "use Desktop Commander to ..." в ваших инструкциях.

Параметры
  • pidnumberобязательный
list_directoryтолько чтение

Получает подробный список всех файлов и каталогов по указанному пути. Возвращает структурированный список каталога, не запуская команду оболочки. Результаты различают файлы и каталоги по префиксам [FILE] и [DIR]. Поддерживает рекурсивный вывод с параметром 'depth' (по умолчанию: 2): - depth=1: только непосредственное содержимое каталога - depth=2: содержимое плюс один уровень подкаталогов - depth=3+: несколько уровней вглубь ЗАЩИТА ОТ ПЕРЕПОЛНЕНИЯ КОНТЕКСТА: - Каталог верхнего уровня показывает ВСЕ элементы - Вложенные каталоги ограничены максимум 100 элементами на каталог - Когда во вложенном каталоге больше 100 элементов, вы увидите предупреждение вроде: [WARNING] node_modules: 500 items hidden (showing first 100 of 600 total) - Это не даёт большим каталогам вроде node_modules переполнить контекст Результаты показывают полные относительные пути от корневого каталога, для которого строится список. Пример вывода при depth=2: [DIR] src [FILE] src/index.ts [DIR] src/tools [FILE] src/tools/filesystem.ts Если каталог недоступен, вместо него будет показано [DENIED]. Если путь не существует, вместо него будет показано [NOT_FOUND]. Работает только внутри разрешённых каталогов. Абсолютные пути надёжнее всего, потому что не зависят от текущего рабочего каталога. Пути автоматически нормализуются независимо от слэша…

Параметры
  • depthnumber
  • originenum
  • pathstringобязательный
list_processesтолько чтение

Выводит список всех запущенных процессов. Возвращает информацию о процессах, включая PID, имя команды, загрузку ЦП и объём используемой памяти. Эту команду можно вызывать как "DC: ..." или "use Desktop Commander to ..." в ваших инструкциях.

Параметры

Без параметров.

list_searchesтолько чтение

Перечисляет все активные поиски. Показывает идентификаторы поисков, типы поисков, шаблоны, статус и время выполнения. Аналогично list_sessions для терминальных процессов. Полезно для управления несколькими одновременными поисками. В инструкциях эту команду обозначают как «DC: ...» или «use Desktop Commander to ...».

Параметры

Без параметров.

list_sessionsтолько чтение

Выводит список всех активных сессий терминала. Показывает статус сессии, включая: - PID: Идентификатор процесса- Blocked: Ожидает ли сессия ввода - Runtime: Как долго сессия работает ОТЛАДКА REPL: - "Blocked: true" часто означает, что REPL ожидает ввода - Используйте это, чтобы проверить, что сессии запущены, перед отправкой ввода - Большое время работы при статусе Blocked может указывать на зависший процесс Эту команду можно указывать как "DC: ..." или "используйте Desktop Commander для ..." в ваших инструкциях.

Параметры

Без параметров.

move_file

Перемещает или переименовывает файлы и каталоги. Может перемещать файлы между каталогами и переименовывать их за одну операцию. И источник, и назначение должны находиться в разрешённых каталогах. Абсолютные пути надёжнее всего, потому что не зависят от текущего рабочего каталога. Пути автоматически нормализуются независимо от направления слешей. Относительные пути зависят от текущего рабочего каталога, а пути с тильдой (~/...) могут раскрываться не во всех контекстах. Абсолютные пути обычно самые надёжные. На эту команду можно ссылаться как "DC: ..." или "use Desktop Commander to ..." в ваших инструкциях.

Параметры
  • destinationstringобязательный
  • sourcestringобязательный
read_fileтолько чтениевнешний мир

Читает содержимое файлов и URL. Читает PDF-файлы и извлекает содержимое в виде markdown и изображений. Подходит для чтения разрешённых локальных файлов напрямую, без запуска shell-команды. Поддерживает частичное чтение файла с помощью: - 'offset' (начальная строка, по умолчанию: 0) * Положительное значение: начало со строки N (индексация с 0) * Отрицательное значение: чтение последних N строк с конца (поведение tail) - 'length' (максимум строк для чтения, по умолчанию: настраивается через параметр 'fileReadLineLimit', изначально 1000) * Используется с положительными offset для чтения диапазона * Игнорируется, когда offset отрицательный (читает все запрошенные строки с конца) Примеры: - offset: 0, length: 10 → Первые 10 строк - offset: 100, length: 5 → Строки 100-104 - offset: -20 → Последние 20 строк- offset: -5, length: 10 → Последние 5 строк (length игнорируется) Оптимизации производительности: - Большие файлы с отрицательными offset используют обратное чтение для эффективности - Большие файлы с большими положительными offset используют оценку по байтам - Маленькие файлы используют быстрое потоковое чтение readline При чтении из файловой системы работает только в разрешённых директориях. Получает содержимое из URL, когда параметр isUrl установлен в true (URL всегда читаются целиком, независимо от offset/length). ОБРАБОТКА ФОРМАТОВ (по расширению): - Текст: использует offset/length для постраничной разбивки по строкам …

Параметры
  • isUrlboolean
  • lengthnumber
  • offsetnumber
  • optionsobject
  • originenum
  • pathstringобязательный
  • rangestring
  • sheetstring
read_multiple_filesтолько чтение

Читает содержимое нескольких файлов одновременно. Содержимое каждого файла возвращается вместе с его путём для справки. Обрабатывает текстовые файлы как обычно и отображает изображения в виде просматриваемого содержимого. Распознаваемые типы изображений: PNG, JPEG, GIF, WebP. Неудачное чтение отдельных файлов не останавливает всю операцию. Работает только в разрешённых каталогах. Абсолютные пути самые надёжные, потому что не зависят от текущего рабочего каталога. Пути автоматически нормализуются независимо от направления слэшей. Относительные пути зависят от текущего рабочего каталога, а пути с тильдой (~/...) могут разрешаться не в каждом контексте. Абсолютные пути обычно самые надёжные. На эту команду можно ссылаться как "DC: ..." или "use Desktop Commander to ..." в ваших инструкциях.

Параметры
  • pathsstring[]обязательный
read_process_outputтолько чтение

Читает вывод запущенного процесса с поддержкой постраничного просмотра, как у файла. Поддерживает частичное чтение вывода с параметрами offset и length (как read_file): - 'offset' (начальная строка, по умолчанию: 0) * offset=0: читает НОВЫЙ вывод с момента последнего чтения (по умолчанию, как в старом поведении) * Положительный: читает с абсолютной позиции строки * Отрицательный: читает последние N строк с конца (поведение tail) - 'length' (максимальное количество строк для чтения, по умолчанию: настраивается через параметр 'fileReadLineLimit') Примеры: - offset: 0, length: 100 → первые 100 НОВЫХ строк с момента последнего чтения - offset: 0 → все новые строки (с учётом ограничения из конфигурации) - offset: 500, length: 50 → строки 500-549 (абсолютная позиция) - offset: -20 → последние 20 строк (tail) - offset: -50, length: 10 → начать за 50 строк от конца, прочитать 10 строк ЗАЩИТА ВЫВОДА: - Использует тот же fileReadLineLimit, что и read_file (по умолчанию: 1000 строк) - Возвращает статус вида: [Reading 100 lines from line 0 (total: 5000 lines, 4900 remaining)] - Предотвращает переполнение контекста из-за многословных процессов УМНЫЕ ВОЗМОЖНОСТИ: - При offset=0 ожидает поступления нового вывода до истечения timeout_ms - Обнаруживает приглашения REPL и завершение процесса - Показывает состояние процесса (ожидание ввода, завершён и т.д.) СОСТОЯНИЯ ОБНАРУЖЕНИЯ: Процесс ожидает ввода (готов к interact_with_process) Процесс завершён

Параметры
  • lengthnumber
  • offsetnumber
  • pidnumberобязательный
  • timeout_msnumber
  • verbose_timingboolean
set_config_value

Устанавливает конкретное значение конфигурации по ключу. Примечание по безопасности: изменения конфигурации влияют на дальнейшее поведение файлов и команд. Изоляция их от недоверенного содержимого файлов или команд снижает вероятность того, что внешнее содержимое повлияет на конфигурацию. Ключи конфигурации включают: - blockedCommands (массив) - defaultShell (строка) - allowedDirectories (массив путей) - fileReadLineLimit (число, максимум строк для read_file) - fileWriteLineLimit (число, максимум строк на вызов write_file) - telemetryEnabled (логическое значение) ВАЖНО: Установка allowedDirectories в пустой массив ([]) даёт полный доступ ко всей файловой системе, независимо от операционной системы. На эту команду можно ссылаться как "DC: ..." или "use Desktop Commander to ..." в ваших инструкциях.

Параметры
  • keystringобязательный
  • originenum
  • valuestring | number | boolean | string[] | nullобязательный
start_processвнешний мир

Запускает процесс терминала на авторизованном устройстве с интеллектуальным определением состояния. Подходит для shell-команд, интерактивных сессий REPL, скриптов обработки данных, программного анализа файлов и другой длительной работы в терминале. Работает на Linux (Docker). Оболочка по умолчанию: /bin/sh. 🐳 ОБНАРУЖЕНО ОКРУЖЕНИЕ DOCKER-КОНТЕЙНЕРА: Этот экземпляр Desktop Commander работает внутри Docker-контейнера. ⚠️ ПРЕДУПРЕЖДЕНИЕ: Смонтированные каталоги не обнаружены. Файлы, созданные вне смонтированных томов, пропадут при остановке контейнера. Для постоянной работы с файлами нужен смонтированный каталог - его можно получить через установщик Docker или монтирование с флагом -v. Установщик Desktop Commander для Docker обычно монтирует папки в /home/[folder-name]. Контейнер: 027e09276eab ОСОБЕННОСТИ LINUX: - Менеджеры пакетов зависят от дистрибутива: apt, yum, dnf, pacman, zypper - Python 3 может вызываться командой 'python3', а не 'python' - Доступны стандартные инструменты Unix-оболочки (grep, awk, sed и т. д.) - Права и владелец файлов важны для многих операций - В современных дистрибутивах часто используются службы systemd Примеры: • start_process("python3 -i") → Запускает интерактивный REPL Python • start_process("node -i") → Запускает интерактивный REPL Node.js • start_process("node:local") → Выполняет код Node.js без сохранения состояния на сервере MCP • start_process("wc -l /path/file.csv") → Выполняет одноразовую shell-команду Интерактивные сессии процессов принимают последующий ввод после запуска. Длительные сессии процессов показывают новый вывод, пока остаются активными. Бинарные файлы можно обрабатывать подходящими инструментами командной строки или библиотеками, доступными в выбранной…

Параметры
  • commandstringобязательный
  • originenum
  • shellstring
  • timeout_msnumberобязательный
  • verbose_timingboolean
start_searchтолько чтение

Запускает потоковый поиск, который может возвращать результаты по мере поступления. РУКОВОДСТВО ПО СТРАТЕГИИ ПОИСКА: Выбирайте правильный тип поиска в зависимости от того, что ищет пользователь: ИСПОЛЬЗУЙТЕ searchType="files", КОГДА: - Пользователь запрашивает конкретные файлы: "найти package.json", "найти конфигурационные файлы" - Шаблон похож на имя файла: ".js", "README.md", "test-.tsx" - Пользователь хочет найти файлы по имени/расширению: "все файлы TypeScript", "скрипты Python" - Поиск конфигурационных/установочных файлов: ".env", "dockerfile", "tsconfig.json" ИСПОЛЬЗУЙТЕ searchType="content", КОГДА: - Пользователь спрашивает о коде/логике: "логика аутентификации", "обработка ошибок", "вызовы API" - Поиск функций/переменных: "функция getUserData", "хук useState" - Поиск текста/комментариев: "элементы TODO", "комментарии FIXME", "документация" - Поиск шаблонов в коде: "операторы console.log", "операторы import" - Пользователь описывает функциональность: "компоненты, которые обрабатывают вход", "файлы с запросами к базе данных" НЕОДНОЗНАЧНЫЕ ПОИСКИ: Запросы, которые могут относиться либо к именам файлов, либо к содержимому файлов, можно обработать двумя поисками: одним с searchType="files" и одним с searchType="content". Пример: "найти всё для аутентификации" можно сочетать с поиском по имени файла для "auth" и поиском по содержимому для "authentication". ТИПЫ ПОИСКА: - searchType="files": Находит файлы по имени (шаблон сопоставляется с именами файлов) - searchType="content": Ищет…

Параметры
  • contextLinesinteger
  • earlyTerminationboolean
  • filePatternstring
  • ignoreCaseboolean
  • includeHiddenboolean
  • literalSearchboolean
  • maxResultsinteger
  • originenum
  • pathstringобязательный
  • patternstringобязательный
  • searchTypeenum
  • timeout_msinteger
stop_search

Останавливает активный поиск. Останавливает фоновый процесс поиска корректно. Используйте эту команду, когда вы нашли то, что нужно, или если поиск занимает слишком много времени. Аналогично force_terminate для процессов в терминале. Результаты поиска будут доступны для чтения, пока они не будут автоматически удалены через 5 минут. Эту команду можно указать в запросе как "DC: ..." или "use Desktop Commander to ...".

Параметры
  • sessionIdstringобязательный
write_file

Записывает содержимое в файл или дописывает в конец. Созданием PDF занимается отдельный инструмент write_pdf. Существующее содержимое DOCX можно править через edit_block. Новые файлы DOCX создаются здесь; заголовки Markdown (#, ##, ###) превращаются в оформленные абзацы DOCX. ПОБЛОЧНАЯ ЗАПИСЬ: - Для длинных файлов поддерживаются повторные вызовы с mode='rewrite', а следом с mode='append'. - Блоки примерно по 25-30 строк сокращают задержку при записи длинного текста, нескольких файлов, документации, кода или конфигураций. - Файлы длиннее 50 строк всё равно записываются успешно, но могут выдавать замечания о производительности. - Чтобы продолжить после частичной записи, можно проверить текущее состояние файла, прежде чем дописывать оставшееся содержимое. РАБОТА С ФОРМАТАМИ (по расширению): - Текстовые файлы: строковое содержимое - Excel (.xlsx, .xls, .xlsm): двумерный массив JSON или {"SheetName": [[...]]} Пример: '[["Name","Age"],["Alice",30]]' Работает только в разрешённых каталогах. Абсолютные пути надёжнее всего, потому что не зависят от текущего рабочего каталога. Пути нормализуются автоматически независимо от направления слешей. Относительные пути зависят от текущего рабочего каталога, а пути с тильдой (~/...) могут не разрешаться в любом контексте. Абсолютные пути обычно самые надёжные. В инструкциях эту команду можно указывать как "DC: ..." или "use Desktop Commander to ...".

Параметры
  • contentstringобязательный
  • modeenum
  • originenum
  • pathstringобязательный
write_pdf

Создаёт новый PDF-файл или изменяет существующий. Специализированный инструмент для создания и изменения PDF. ВЫХОДНЫЕ ФАЙЛЫ: - Для создания PDF требуется 'outputPath' с новым именем файла (например, "result_01.pdf", "analysis_2025_01.pdf" и т. д.). РЕЖИМЫ: 1. СОЗДАНИЕ НОВОГО PDF: - Передаётся строка markdown в 'content'. write_pdf(path="doc.pdf", content="# Title\n\nBody text...") 2. ИЗМЕНЕНИЕ СУЩЕСТВУЮЩЕГО PDF: - Передаётся массив операций в 'content'. - Изменения сохраняют исходный PDF и требуют другого имени файла в 'outputPath'. - Результат содержит исходный и выходной пути для справки. write_pdf(path="doc.pdf", content=[ { type: "delete", pageIndexes: [0, 2] }, { type: "insert", pageIndex: 1, markdown: "# New Page" } ]) ОПЕРАЦИИ: - delete: Удаляет страницы по индексу с отсчётом от 0. { type: "delete", pageIndexes: [0, 1, 5] } - insert: Добавляет страницы по указанному индексу с отсчётом от 0. { type: "insert", pageIndex: 0, markdown: "..." } { type: "insert", pageIndex: 5, sourcePdfPath: "/path/to/source.pdf" } РАЗРЫВЫ СТРАНИЦ: Для принудительного разрыва страницы используется этот HTML-элемент: <div style="page-break-before: always;"></div> Пример: "# Page 1\n\n<div style="page-break-before: always;"></div>\n\n# Page 2" РАСШИРЕННОЕ ОФОРМЛЕНИЕ: HTML/CSS и встроенный SVG поддерживаются для: …

Параметры
  • contentstring | object[]обязательный
  • optionsobject
  • outputPathstring
  • pathstringобязательный
0.3.0основная
0.3.1-alpha.2
0.3.1-alpha.1
0.3.1-alpha.0
0.2.52
0.2.51
0.2.50
0.2.48
0.2.47
0.2.46
0.2.45
0.2.44
0.2.43
0.2.42
0.2.41
0.2.40
0.2.39
0.2.38
0.2.37
0.2.36
0.2.35
0.2.34
0.2.33
0.2.32
0.2.31
0.2.31-alpha.0
0.2.30
0.2.29-alpha.15
0.2.29-alpha.14
0.2.29-alpha.13
0.2.29-alpha.12
0.2.29-alpha.11
0.2.29-alpha.10
0.2.29-alpha.9
0.2.29-alpha.8
0.2.29-alpha.7
0.2.29-alpha.6
0.2.29-alpha.5
0.2.29
0.2.29-alpha.4
0.2.29-alpha.3
0.2.29-alpha.2
0.2.29-alpha.1
0.2.29-alpha.0
0.2.28
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.19
0.2.18-alpha.16
0.2.18-alpha.15
0.2.18-alpha.14
0.2.18-alpha.13
0.2.18-alpha.12
0.2.18-alpha.11
0.2.18-alpha.10
0.2.18-alpha.9
0.2.18-alpha.8
0.2.18-alpha.7
0.2.18-alpha.6
0.2.18-alpha.5
0.2.18-alpha.4
0.2.18-alpha.3
0.2.18-alpha.2
0.2.18-alpha.1
0.2.18-alpha.0
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.8
0.1.7
0.1.6
0.1.5
0.1.3
0.1.2
0.1.1
0.1.0

Выберите клиент, чтобы установить wonderwhy-er/DesktopCommanderMCP:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "wonderwhy-er-desktopcommandermcp-15h6paouzf": {
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ],
      "command": "npx"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "wonderwhy-er-desktopcommandermcp-15h6paouzf": {
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ],
      "command": "npx"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "wonderwhy-er-desktopcommandermcp-15h6paouzf": {
      "type": "stdio",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ],
      "command": "npx"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"wonderwhy-er-desktopcommandermcp-15h6paouzf\",\"type\":\"stdio\",\"args\":[\"-y\",\"@wonderwhy-er/desktop-commander@latest\"],\"command\":\"npx\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "wonderwhy-er-desktopcommandermcp-15h6paouzf": {
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ],
      "command": "npx"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add wonderwhy-er-desktopcommandermcp-15h6paouzf -- npx -y @wonderwhy-er/desktop-commander@latest

Либо через JSON-конфиг:

claude mcp add-json wonderwhy-er-desktopcommandermcp-15h6paouzf "{\"args\":[\"-y\",\"@wonderwhy-er/desktop-commander@latest\"],\"command\":\"npx\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add wonderwhy-er-desktopcommandermcp-15h6paouzf -- npx -y @wonderwhy-er/desktop-commander@latest

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.wonderwhy-er-desktopcommandermcp-15h6paouzf]
command = "npx"
args = ["-y", "@wonderwhy-er/desktop-commander@latest"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите wonderwhy-er/DesktopCommanderMCP, а в поле команды запуска — строку ниже:
npx -y @wonderwhy-er/desktop-commander@latest

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "wonderwhy-er-desktopcommandermcp-15h6paouzf": {
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ],
      "command": "npx"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "wonderwhy-er-desktopcommandermcp-15h6paouzf": {
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ],
      "command": "npx",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например wonderwhy-er-desktopcommandermcp-15h6paouzf.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: wonderwhy-er-desktopcommandermcp-15h6paouzf
    command: npx
    args:
      - "-y"
      - "@wonderwhy-er/desktop-commander@latest"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "wonderwhy-er-desktopcommandermcp-15h6paouzf": {
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ],
      "command": "npx"
    }
  }
}

Похожие MCP-сервера

aybelatchane/mcp-server-terminal

aybelatchane/mcp-server-terminal

от aybelatchane

MCP-сервер для управления терминальными приложениями AI-агентами через модель состояния. Поддерживает создание сессий, ввод текста, нажатие клавиш и снимки экрана. Полезен разработчикам для автомат...

Rust⭐ 21
efforthye/fast-filesystem-mcp

efforthye/fast-filesystem-mcp

от efforthye

MCP инструмент для файловой системы через Claude Desktop. Поддерживает чтение и запись больших файлов, пакетное редактирование с резервированием, поиск по содержимому. Полезен для автоматизации файловых операций.

TypeScript⭐ 64
tumf/mcp-text-editor

tumf/mcp-text-editor

от tumf

MCP сервер для построчного редактирования текстовых файлов с частичным доступом снижает расход токенов при работе с LLM. Поддерживает безопасное редактирование через хэш-валидацию и работу с разным...

Python⭐ 202
willianpinho/large-file-mcp

willianpinho/large-file-mcp

от willianpinho

MCP сервер для умной обработки больших файлов: автоматический чанкинг, поиск по регулярным выражениям, навигация по строкам и стриминг. Пригодится разработчикам и аналитикам при работе с логами, кодом и данными.

TypeScript⭐ 18
ferrislucas/iterm-mcp

ferrislucas/iterm-mcp

от ferrislucas

Разработчики: MCP сервер для iTerm дает модели полный контроль над терминалом - выполнение команд, чтение вывода, управление REPL. Эффективный расход токенов, простая интеграция. Делегируйте задачи и наблюдайте за работой.

TypeScript⭐ 570
promptexecution/just-mcp

promptexecution/just-mcp

от promptexecution

MCP сервер для интеграции Just с AI-ассистентами: позволяет находить, выполнять и анализировать рецепты Justfile через MCP. Безопасная альтернатива bash, сохраняет контекст LLM и упрощает работу с командами. Идеально для автоматизации.

Rust⭐ 62
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин