Настольный командор MCP
Поиск, обновление, управление файлами и запуск команд терминала с помощью ИИ
Работайте с кодом и текстом, запускайте процессы и автоматизируйте задачи, значительно превосходя другие редакторы ИИ — без затрат на токены API.
Оглавление
- Функции
- Установка
- Использование
- Обработка длительных команд
- Работа в процессе и TODO
- Спонсоры и сторонники
- Веб-сайт
- СМИ
- Отзывы
- Часто задаваемые вопросы
- Внося вклад
- Лицензия
Все ваши инструменты разработки ИИ в одном месте. Desktop Commander помещает все инструменты разработки в один чат. Выполняйте длительные команды терминала на вашем компьютере и управляйте процессами через Model Context Protocol (MCP). Создан на основе MCP Filesystem Server для предоставления дополнительных возможностей поиска и замены файлов при редактировании.
Функции
- Выполнение команд терминала с потоковой передачей вывода
- Поддержка тайм-аута и фонового выполнения команды
- Управление процессами (составление списка и завершение процессов)
- Управление сеансами для длительно выполняемых команд
- Управление конфигурацией сервера:
- Получить/установить значения конфигурации
- Обновить несколько настроек одновременно
- Динамические изменения конфигурации без перезапуска сервера
- Полные операции с файловой системой:
- Чтение/запись файлов
- Создать/перечислить каталоги
- Переместить файлы/каталоги
- Поиск файлов
- Получить метаданные файла
- Возможности редактирования кода:
- Хирургическая замена текста при небольших изменениях
- Полная переписывание файлов для внесения существенных изменений
- Поддержка нескольких файлов
- Замены на основе шаблонов
- рекурсивный поиск кода или текста в папках на основе vscode-ripgrep
- Комплексное ведение журнала аудита:
- Все вызовы инструментов автоматически регистрируются.
- Ротация журналов с ограничением размера в 10 МБ
- Подробные временные метки и аргументы
Установка
Сначала убедитесь, что вы загрузили и установили приложение Claude Desktop , а также у вас установлен npm .
Вариант 1: Установка через npx
Просто запустите это в терминале:
Для режима отладки (позволяет подключиться к инспектору Node.js):
Перезапустите Claude, если он запущен.
Вариант 2: использование установщика скрипта bash (macOS)
Пользователи macOS могут воспользоваться нашим автоматизированным установщиком bash, который проверит версию Node.js, установит ее при необходимости и автоматически настроит Desktop Commander:
Этот скрипт автоматически обрабатывает все зависимости и конфигурации, обеспечивая бесперебойную установку.
Вариант 3: Установка через Smithery
Чтобы автоматически установить Desktop Commander для Claude Desktop через Smithery :
Вариант 4: Добавить в claude_desktop_config вручную
Добавьте эту запись в ваш claude_desktop_config.json:
- На Mac:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- В Windows:
%APPDATA%\Claude\claude_desktop_config.json
- В Linux:
~/.config/Claude/claude_desktop_config.json
Перезапустите Claude, если он запущен.
Вариант 5: Оформить заказ на месте
- Клонировать и собрать:
Перезапустите Claude, если он запущен.
Команда установки выполнит следующие действия:
- Установить зависимости
- Построить сервер
- Настройте настольное приложение Клода
- При необходимости добавьте MCP-серверы в конфигурацию Клода.
Обновление Desktop Commander
При установке через npx (вариант 1) или Smithery (вариант 3) Desktop Commander будет автоматически обновляться до последней версии при каждом перезапуске Claude. Ручной процесс обновления не требуется.
При ручной установке вы можете выполнить обновление, повторно выполнив команду установки.
Использование
Сервер предоставляет полный набор инструментов, организованных в несколько категорий:
Доступные инструменты
Категория | Инструмент | Описание |
---|---|---|
Конфигурация | get_config | Получить полную конфигурацию сервера в формате JSON (включая blockedCommands, defaultShell, allowedDirectories, fileReadLineLimit, fileWriteLineLimit, telemetryEnabled) |
set_config_value | Установите определенное значение конфигурации по ключу. Доступные настройки: • blockedCommands : Массив команд оболочки, которые не могут быть выполнены• defaultShell : Оболочка, используемая для команд (например, bash, zsh, powershell)• allowedDirectories : Массив путей файловой системы, к которым сервер может получить доступ для файловых операций (⚠️ команды терминала по-прежнему могут получать доступ к файлам за пределами этих каталогов)• fileReadLineLimit : Максимальное количество строк для одновременного чтения (по умолчанию: 1000)• fileWriteLineLimit : Максимальное количество строк для одновременной записи (по умолчанию: 50)• telemetryEnabled : Включить/отключить телеметрию (логическое значение) | |
Терминал | execute_command | Выполнение команды терминала с настраиваемым тайм-аутом и выбором оболочки |
read_output | Прочитать новый вывод из запущенного сеанса терминала | |
force_terminate | Принудительно завершить запущенный сеанс терминала | |
list_sessions | Список всех активных терминальных сеансов | |
list_processes | Список всех запущенных процессов с подробной информацией | |
kill_process | Завершить запущенный процесс по PID | |
Файловая система | read_file | Чтение содержимого из локальной файловой системы или URL-адресов с построчной навигацией (поддерживает параметры смещения и длины) |
read_multiple_files | Чтение нескольких файлов одновременно | |
write_file | Запись содержимого файла с возможностью перезаписи или добавления (использует настраиваемые ограничения строк) | |
create_directory | Создайте новый каталог или убедитесь, что он существует | |
list_directory | Получить подробный список файлов и каталогов | |
move_file | Перемещать или переименовывать файлы и каталоги | |
search_files | Поиск файлов по имени с использованием сопоставления подстрок без учета регистра | |
search_code | Поиск шаблонов текста/кода в содержимом файла с помощью ripgrep | |
get_file_info | Получить подробные метаданные о файле или каталоге | |
Редактирование текста | edit_block | Применяйте целевые замены текста с улучшенными подсказками для небольших правок (включая обратную связь по различиям на уровне символов) |
Примеры использования инструмента
Формат блока поиска/замены:
Пример:
Расширенные возможности редактирования блоков
Инструмент edit_block
включает в себя несколько улучшений для большей надежности:
- Улучшенные подсказки : описания инструментов теперь подчеркивают необходимость внесения нескольких небольших целенаправленных правок, а не одного большого изменения.
- Резервный вариант нечеткого поиска : если точные совпадения не найдены, выполняется нечеткий поиск и предоставляется подробная обратная связь.
- Различия на уровне символов : показывает, что именно отличается, используя формат
{-removed-}{+added+}
- Поддержка множественных вхождений : можно заменить несколько экземпляров с помощью параметра
expected_replacements
- Комплексное ведение журнала : все нечеткие поиски регистрируются для анализа и отладки.
Если поиск не удался, вы увидите подробную информацию о самом близком найденном совпадении, включая процент сходства, время выполнения и различия в символах. Все эти данные автоматически регистрируются для последующего анализа с помощью инструментов журнала нечеткого поиска.
Поддержка URL-адресов
read_file
теперь может извлекать содержимое как из локальных файлов, так и из URL-адресов- Пример:
read_file
с параметромisUrl: true
для чтения из веб-ресурсов - Обрабатывает как текстовый, так и графический контент из удаленных источников.
- Изображения (локальные или из URL-адресов) отображаются визуально в интерфейсе Клода, а не в виде текста.
- Клод может видеть и анализировать фактическое содержание изображения
- Тайм-аут по умолчанию для URL-запросов составляет 30 секунд.
Анализ журнала нечеткого поиска (скрипты npm)
Система ведения журналов нечеткого поиска включает удобные скрипты npm для анализа журналов вне среды MCP:
Подробную документацию по этим скриптам см. в scripts/README.md .
Журналы нечеткого поиска
Desktop Commander включает в себя комплексное протоколирование для операций нечеткого поиска в инструменте edit_block
. Если точное совпадение не найдено, система выполняет нечеткий поиск и регистрирует подробную информацию для анализа.
Что регистрируется
Каждая операция нечеткого поиска регистрирует:
- Поиск и найденный текст : текст, который вы ищете, и тот, что был найден
- Оценка сходства : насколько близко совпадение (0-100%).
- Время выполнения : Сколько времени занял поиск
- Различия в характерах : Подробные различия, показывающие, в чем именно заключаются различия
- Метаданные файла : расширение, длина найденного текста
- Коды символов : Конкретные коды символов, вызывающие различия
Расположение журнала
Журналы автоматически сохраняются в:
- macOS/Linux :
~/.claude-server-commander-logs/fuzzy-search.log
- Windows :
%USERPROFILE%\.claude-server-commander-logs\fuzzy-search.log
Что вы узнаете
Журналы нечеткого поиска помогут вам понять:
- Почему точные совпадения невозможны : распространенные проблемы, такие как различия в пробелах, окончаниях строк или кодировке символов.
- Модели производительности : как сложность поиска влияет на время выполнения
- Проблемы с типами файлов : какие расширения файлов обычно имеют проблемы с соответствием
- Проблемы с кодировкой символов : определенные коды символов, которые вызывают различия
Аудит ведения журнала
Desktop Commander теперь включает в себя комплексное ведение журнала всех вызовов инструментов:
Что регистрируется
- Каждый вызов инструмента регистрируется с указанием метки времени, имени инструмента и аргументов (с защитой конфиденциальности)
- Журналы автоматически ротируются, когда достигают размера 10 МБ.
Расположение журнала
Журналы сохраняются в:
- macOS/Linux :
~/.claude-server-commander/claude_tool_call.log
- Windows :
%USERPROFILE%\.claude-server-commander\claude_tool_call.log
Этот контрольный журнал помогает при отладке, мониторинге безопасности и понимании того, как Клод взаимодействует с вашей системой.
Обработка длительных команд
Для команд, выполнение которых может занять некоторое время:
Управление конфигурацией
⚠️ Важные предупреждения о безопасности
- Всегда изменяйте конфигурацию в отдельном окне чата, в котором вы выполняете фактическую работу. Иногда Claude может попытаться изменить параметры конфигурации (например,
allowedDirectories
), если он сталкивается с ограничениями доступа к файловой системе. - Параметр
allowedDirectories
в настоящее время ограничивает только операции файловой системы , но не команды терминала. Команды терминала по-прежнему могут получать доступ к файлам за пределами разрешенных каталогов. Полная песочница терминала находится в планах.
Инструменты конфигурации
Управлять конфигурацией сервера можно с помощью предоставленных инструментов:
Конфигурация сохраняется в config.json
в рабочем каталоге сервера и сохраняется между перезапусками сервера.
Лучшие практики
- Создайте специальный чат для изменения конфигурации : внесите все изменения конфигурации в один чат, а затем начните новый чат для своей фактической работы.
- Будьте осторожны с пустыми
allowedDirectories
: установка этого параметра в пустой массив ([]
) предоставляет доступ ко всей файловой системе для файловых операций. - Используйте конкретные пути : вместо использования широких путей, таких как
/
, укажите точные каталоги, к которым вы хотите получить доступ. - Всегда проверяйте конфигурацию после внесения изменений : используйте
get_config({})
чтобы убедиться, что изменения были применены правильно.
Использование разных оболочек
Вы можете указать, какую оболочку использовать для выполнения команды:
Это позволяет использовать специфические для оболочки функции или поддерживать единообразие сред между командами.
execute_command
возвращается после тайм-аута с начальным выводом- Команда продолжается в фоновом режиме
- Используйте
read_output
с PID для получения нового вывода - При необходимости используйте
force_terminate
для остановки.
Отладка
Если вам необходимо отладить сервер, вы можете установить его в режиме отладки:
Это позволит:
- Настройте Claude для использования отдельного сервера «desktop-commander»
- Включите протокол инспектора Node.js с помощью флага
--inspect-brk=9229
- Приостановить выполнение в начале, пока не подключится отладчик
- Включить дополнительные переменные среды отладки
Чтобы подключить отладчик:
- В Chrome перейдите на
chrome://inspect
и найдите экземпляр Node.js. - В VS Code используйте конфигурацию отладки «Присоединить к процессу узла»
- Другие IDE/инструменты могут иметь похожие опции «присоединения» для отладки Node.js.
Важные замечания по отладке:
- Сервер приостановится при запуске, пока не подключится отладчик (из-за флага
--inspect-brk
) - Если вы не видите активности во время отладки, убедитесь, что вы подключены к правильному процессу Node.js.
- Возможно, запущено несколько процессов Node; подключитесь к тому, который находится на порту 9229.
- В списке серверов MCP Клода отладочный сервер обозначен как «desktop-commander-debug».
Поиск неисправностей:
- Если у Клода истекло время ожидания при попытке использовать сервер отладки, возможно, ваш отладчик подключен неправильно.
- При правильном подключении процесс продолжит выполнение после достижения первой точки останова.
- После подключения вы можете добавить дополнительные точки останова в вашей IDE.
Интеграция протокола контекста модели
Этот проект расширяет возможности сервера файловой системы MCP, позволяя:
- Поддержка локального сервера в Claude Desktop
- Полное выполнение системных команд
- Управление процессами
- Операции с файлами
- Редактирование кода с помощью блоков поиска/замены
Создано в рамках исследования Клода МКП: https://youtube.com/live/TlbjFDbl5Us
СДЕЛАННЫЙ
- 20-05-2025 Выпуск v0.1.40 - Добавлено ведение журнала аудита для всех вызовов инструментов, улучшены построчные файловые операции, улучшен edit_block с улучшенными подсказками для небольших правок, добавлены явные подсказки для отказа от телеметрии
- 05.05.2025 Ведение журнала нечеткого поиска — добавлена комплексная система ведения журнала для операций нечеткого поиска с подробными инструментами анализа, различиями на уровне символов и показателями производительности для помощи в отладке сбоев edit_block
- 29-04-2025 Отказ от телеметрии через конфигурацию - теперь в конфигурации есть настройка для отключения телеметрии, спросите в чате
- 23-04-2025 Улучшенная функциональность редактирования - улучшенный формат, добавлен нечеткий поиск и многократные замены, должно быть меньше сбоев и чаще использоваться блок редактирования
- 16-04-2025 Улучшенные конфигурации — улучшенные настройки разрешенных путей, команд и сред оболочки
- 14-04-2025 Исправления среды Windows — Решены проблемы, характерные для платформ Windows
- 14-04-2025 Улучшения Linux - Улучшенная совместимость с различными дистрибутивами Linux
- 12-04-2025 Улучшенные разрешенные каталоги и заблокированные команды - Улучшенная безопасность и проверка пути для ограничений чтения/записи файлов и команд терминала. Терминал по-прежнему может получать доступ к файлам, игнорируя разрешенные каталоги.
- 11-04-2025 Конфигурация оболочки - Добавлена возможность настройки предпочитаемой оболочки для выполнения команд.
- 07-04-2025 Добавлена поддержка URL-адресов — команда
read_file
теперь может извлекать содержимое из URL-адресов - 28-03-2025 Исправлена ошибка JSON «Watching /» — реализован пользовательский транспорт stdio для обработки сообщений, отличных от JSON, и предотвращения сбоев сервера.
- 25-03-2025 Улучшенный поиск кода ( объединен ) — улучшенное исследование кода с результатами, учитывающими контекст
Работа в процессе/TODO/дорожная карта
В настоящее время изучаются следующие возможности:
- Поддержка WSL — подсистемы Windows для интеграции Linux
- Поддержка SSH — удаленное выполнение команд сервера
- Лучшая поддержка файлов в таких форматах, как CSV/PDF
- Песочница терминала для Mac/Linux/Windows для повышения безопасности
- Режимы чтения файлов — например, разрешить чтение HTML как обычного текста или разметки.
- Поддержка интерактивной оболочки - ssh, node/python repl
- Улучшение чтения и записи больших файлов
❤️ Поддержка Desktop Commander
Зал славы болельщиков
Здесь представлены щедрые спонсоры. Спасибо за помощь в реализации этого проекта!
Веб-сайт
Посетите наш официальный сайт https://desktopcommander.app/ для получения последней информации, документации и обновлений.
СМИ
Узнайте больше об этом проекте с помощью следующих ресурсов:
Статья
Claude с MCPs заменил Cursor & Windsurf. Как это произошло? - Подробное исследование того, как Claude с возможностями Model Context Protocol меняет рабочие процессы разработчиков.
Видео
Видеоруководство по Claude Desktop Commander — посмотрите, как эффективно настроить и использовать Commander.
Публикация в AnalyticsIndiaMag
Сообщество
Присоединяйтесь к нашему серверу Discord , чтобы получать помощь, делиться отзывами и общаться с другими пользователями.
Отзывы
Если вы считаете этот проект полезным, пожалуйста, подумайте о том, чтобы поставить ему ⭐ звезду на GitHub! Это поможет другим узнать о проекте и поощрит его дальнейшее развитие.
Мы приветствуем вклад сообщества! Если вы нашли ошибку, у вас есть запрос на функцию или вы хотите внести свой вклад в код, вот как вы можете помочь:
- Нашли ошибку? Откройте вопрос на github.com/wonderwhy-er/DesktopCommanderMCP/issues
- Есть идея функции? Отправьте запрос функции в разделе вопросов
- Хотите внести свой код? Сделайте форк репозитория, создайте ветку и отправьте запрос на извлечение
- Вопросы или обсуждения? Начните обсуждение на вкладке GitHub Discussions
Мы будем очень признательны за любой вклад, большой или маленький!
Если вы считаете этот инструмент полезным для своего рабочего процесса, пожалуйста, рассмотрите возможность поддержки проекта .
Часто задаваемые вопросы
Вот ответы на некоторые распространенные вопросы. Для более полного FAQ см. наш подробный документ FAQ .
Что такое Desktop Commander?
Это инструмент MCP, который позволяет Claude Desktop получать доступ к вашей файловой системе и терминалу, превращая Claude в универсального помощника для кодирования, автоматизации, исследования кодовой базы и многого другого.
Чем это отличается от Cursor/Windsurf?
В отличие от инструментов, ориентированных на IDE, Claude Desktop Commander обеспечивает ориентированный на решение подход, который работает со всей вашей ОС, а не только в среде кодирования. Claude считывает файлы целиком, а не разбивает их на части, может работать над несколькими проектами одновременно и вносит изменения за один раз, не требуя постоянного просмотра.
Нужно ли мне платить за API-кредиты?
Нет. Этот инструмент работает со стандартной подпиской Claude Desktop Pro (20 долл. США в месяц), а не с вызовами API, поэтому вам не придется нести дополнительных расходов сверх абонентской платы.
Обновляется ли Desktop Commander автоматически?
Да, при установке через npx или Smithery Desktop Commander автоматически обновляется до последней версии при перезапуске Claude. Ручной процесс обновления не требуется.
Каковы наиболее распространенные варианты использования?
- Изучение и понимание сложных кодовых баз
- Создание диаграмм и документации
- Автоматизация задач в вашей системе
- Работа с несколькими проектами одновременно
- Внесение хирургических изменений в код с точным контролем
У меня возникли проблемы с установкой или использованием инструмента. Где я могу получить помощь?
Присоединяйтесь к нашему серверу Discord для поддержки сообщества, проверьте GitHub issues на предмет известных проблем или просмотрите полный FAQ для советов по устранению неполадок. Вы также можете посетить раздел FAQ на нашем сайте для более удобного использования. Если вы столкнулись с новой проблемой, пожалуйста, рассмотрите возможность открытия GitHub issue с подробностями о вашей проблеме.
Сбор данных и конфиденциальность
Desktop Commander собирает ограниченные анонимные данные телеметрии, чтобы помочь улучшить инструмент. Никакая личная информация, содержимое файлов, пути к файлам или аргументы команд не собираются.
Телеметрия включена по умолчанию. Чтобы отказаться:
- Откройте чат и просто спросите: «Отключить телеметрию».
- Чат-бот автоматически обновит ваши настройки.
Подробную информацию о сборе данных можно найти в нашей Политике конфиденциальности .
Лицензия
Массачусетский технологический институт
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Позволяет настольному приложению Claude выполнять команды терминала и редактировать файлы на вашем компьютере через MCP, с такими функциями, как выполнение команд, управление процессами и редактирование файлов на основе различий.
- Поиск, обновление, управление файлами и запуск команд терминала с помощью ИИ
- Оглавление
- Функции
- Установка
- Использование
- Анализ журнала нечеткого поиска (скрипты npm)
- Журналы нечеткого поиска
- Аудит ведения журнала
- Обработка длительных команд
- Управление конфигурацией
- Использование разных оболочек
- Отладка
- Интеграция протокола контекста модели
- СДЕЛАННЫЙ
- Работа в процессе/TODO/дорожная карта
- ❤️ Поддержка Desktop Commander
- Веб-сайт
- СМИ
- Отзывы
- Часто задаваемые вопросы
- Что такое Desktop Commander?
- Чем это отличается от Cursor/Windsurf?
- Нужно ли мне платить за API-кредиты?
- Обновляется ли Desktop Commander автоматически?
- Каковы наиболее распространенные варианты использования?
- У меня возникли проблемы с установкой или использованием инструмента. Где я могу получить помощь?
- Сбор данных и конфиденциальность
- Лицензия
Related Resources
Related MCP Servers
- -securityAlicense-qualityA utility tool that enables Claude Desktop to interact with external tools via the Model Context Protocol, providing features like email sending and simple calculations while simplifying the MCP setup process.Last updated -1299JavaScriptMIT License
- -securityAlicense-qualityAllows Claude to execute terminal commands on your computer and perform file system operations including surgical code editing with diff-based replacements.Last updated -11,148TypeScriptMIT License
- -securityAlicense-qualityA server that lets Claude desktop app execute terminal commands on your computer and edit files through Model Context Protocol, featuring command execution, process management, and advanced file operations.Last updated -11,148MIT License
- -security-license-qualityA server built with mcp-framework that allows users to extend Claude's capabilities by adding custom tools that can be used through the Claude Desktop client.Last updated -TypeScript