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 在聊天中说“禁用遥测”来直接禁用遥测。

如何使用 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 参数选择您首选的 Shell——例如,bash、zsh 或 powershell。

该接口让您能够无缝地自动化任务、执行系统脚本、管理文件和进程以及编辑代码——所有这一切都通过与 Claude 的对话完成。

主要特性

  • 终端命令执行:运行具有实时输出、超时和自定义 Shell 的命令。
  • 后台进程管理:列出、监控和终止正在运行的进程或终端会话。
  • 配置管理:获取/设置服务器设置,包括命令限制和目录访问,无需重启。
  • 文件系统操作:读取、写入、移动、搜索,并获取文件/目录的信息;支持批处理操作和模式搜索。
  • 档案搜索/编辑:使用安全编辑块格式进行模糊、多次出现的文本/代码搜索和模式替换。
  • 高级代码编辑:外科式文本更改、多文件支持、模式匹配,集成 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 安装,重启 Claude Desktop 时,Desktop Commander 会自动更新。对于手动安装,只需重新运行设置命令。

5. 是否收集遥测数据? 遥测数据默认是最小的且非个人化的。您可以随时通过让 Claude 说“禁用遥测”来选择退出。