Desktop Commander MCP

Desktop Commander MCP

Desktop Commander MCP 是一個強大的開源工具,與 Claude Desktop 整合,使 AI 代理能夠對您的本地開發環境進行全面控制和自動化,讓 Claude 能夠互動處理您的文件、終端、進程,並以零每個令牌的 API 成本執行複雜的代碼編輯和系統任務。

Author: wonderwhy-er


查看協議

什麼是 Desktop Commander MCP?

Desktop Commander MCP 是一個模型上下文協議 (MCP) 伺服器,使 AI 語言模型(如 Claude Desktop)與您的本地機器之間能夠進行高級系統級交互。它遠超過典型的 AI 編輯器,將必要的開發者工具——終端命令、文件管理、代碼編輯和自動化——封裝在一個安全界面後,直接通過 Claude Desktop 運行,而無需每個令牌的 API 積分。它旨在將 Claude 轉變為一個多功能的開發助手,能夠全代碼庫的探索、精確更改、自動化腳本和跨整個操作系統的工作流程管理,而不僅僅是在 IDE 內。

如何配置 Desktop Commander MCP

  1. 安裝 Claude Desktop:下載並安裝 Claude Desktop
  2. 通過 npx 快速安裝:在終端運行 npx @wonderwhy-er/desktop-commander@latest setup
  3. 其他安裝選項
    • 使用 Smithery CLI,執行 npx -y @smithery/cli install @wonderwhy-er/desktop-commander --client claude
    • 使用 macOS 的 bash 腳本:curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh | bash
    • 編輯 claude_desktop_config.json,在 mcpServers 下添加伺服器配置。
    • 或使用 git clone ... 進行本地克隆/構建,然後執行 npm run setup
  4. 設置後重新啟動 Claude Desktop 以啟用新的 MCP 伺服器。
  5. 配置設置
    • 使用 Claude 聊天中的 get_config({})set_config_value({ key, value }) 工具調整選項,如被阻止的命令、允許的目錄或默認shell。
    • 始終用 get_config({}) 驗證配置更改。
    • 出於安全考慮,維護專用的配置聊天,並指定確切的目錄訪問限制。

設置保存在伺服器的工作目錄中的 config.json 內。您可以通過請求 Claude “disable telemetry” 來直接禁用遙測。

如何使用 Desktop Commander MCP

  1. 啟動 Claude Desktop 並開啟一個新的聊天。
  2. 使用自然語言互動:請 Claude 执行诸如读取、搜索、编辑文件、运行终端命令或管理进程等操作——Claude 将调用相应的 MCP 工具。
  3. 手動工具調用:您可以直接使用 MCP 工具函數名稱,例如:
    execute_command({ "command": "ls -la", "shell": "/bin/zsh" })
    read_file({ "path": "README.md" })
    edit_block({ "changes": "...edit block format..." })
    
  4. 處理長時間運行的任務
    • 對於在背景中繼續運行的進程,使用 list_sessions 來監控,使用 read_output 擷取命令輸出,並使用 force_terminate 停止它們。
  5. 文本/代碼搜索和編輯
    • 使用編輯塊語法進行精確替換。
    • 使用 search_codesearch_filesedit_block 等工具執行和協調複雜的代碼庫更改。
  6. 切換殼層
    • 通過命令工具中的 shell 參數選擇您首選的 shell——例如,bash、zsh 或 powershell。

該界面使您能夠無縫地自動化任務、執行系統腳本、管理文件和進程,以及編輯代碼——通過與 Claude 的對話來完成。

主要功能

  • 終端命令執行:運行命令並提供實時輸出、超時和自定義殼層的選項。
  • 後台進程管理:列出、監控和終止運行中的進程或終端會話。
  • 配置管理:獲取/設置伺服器設置,包括命令限制和目錄訪問,無需重新啟動。
  • 文件系統操作:讀取,寫入,移動,搜索,獲取文件/目錄的信息;支持批量操作和模式搜索。
  • 檔案搜尋/編輯:使用安全的編輯塊格式進行模糊、多次出現的文本/代碼搜索和模式替換。
  • 高級代碼編輯:精確的文本更改、多文件支持、模式匹配,並與 ripgrep 集成進行深入代碼庫探索。
  • 圖像和 URL 處理read_file 可以預覽和分析本地文件和遠程網絡資源,支持文本和圖像。
  • 安全控制:定義允許的目錄,阻止高風險命令,並檢查遙測(支持選擇退出)。
  • 跨平台:在 macOS、Windows 和 Linux 上完全運行,並具有自動環境特定修復。

使用場景

  • 在數分鐘內探索、搜索和理解大型或複雜的代碼庫
  • 精確、手術式地重構或修補多個文件/項目的代碼
  • 通過提取和處理代碼/文本生成文檔或圖表
  • 從單一聊天界面自動化重複或跨項目的開發者任務
  • 通過 AI 執行系統腳本、環境設置和進程管理
  • 快速調試、試執行或終止進程、構建和伺服器運行
  • 在多個操作系統環境中工作,而無需每個令牌的 API 成本

常見問題

1. 什麼是 Desktop Commander MCP? 它是一個 MCP 伺服器,使 Claude Desktop 能夠完全與您的文件系統和操作系統互動,實現例如代碼庫探索、細緻的代碼編輯、自動化和終端/進程控制等任務。

2. 這與 Cursor 或 Windsurf 等工具有什麼不同? Desktop Commander MCP 提供超越任何 IDE 的廣泛操作系統級控制,支持多項目和多目錄的工作流,提供完整的文件訪問(而不是部分文件),並利用 Claude Desktop Pro 計劃,而無需額外每個令牌的 API 成本。

3. Desktop Commander 是否需要 API 積分或額外支付? 不需要——一旦您擁有 Claude Desktop Pro,所有操作都在本地完成,無需額外的使用費用或每個令牌的收費。

4. 如何更新 Desktop Commander? 如果是通過 npx 或 Smithery 安裝,Desktop Commander 在您重新啟動 Claude Desktop 時會自動更新。對於手動安裝,只需重新執行設置命令即可。

5. 有收集遙測數據嗎? 默認情況下,遙測是最小的,且不包含個人信息。您可以隨時通過要求 Claude:"disable telemetry" 來選擇退出。