什么是 Desktop Commander MCP?
Desktop Commander MCP 是一个模型上下文协议(MCP)服务器,能够实现 AI 语言模型(如 Claude Desktop)与本地机器之间的高级系统级交互。它远远超出了典型的 AI 编辑器,通过安全接口封装了基本的开发者工具——终端命令、文件管理、代码编辑和自动化——直接通过 Claude Desktop 工作,而无需每个令牌的 API 额度。它旨在将 Claude 打造成一个多功能的开发助手,能够进行全面的代码库探索、精确更改、自动化脚本编写和跨整个操作系统的工作流程管理,而不仅仅局限于 IDE 内。
如何配置 Desktop Commander MCP
- 安装 Claude Desktop:下载并安装 Claude Desktop。
- 通过 npx 快速安装:在终端中运行
npx @wonderwhy-er/desktop-commander@latest setup
。 - 其他安装选项:
- 使用 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
在本地克隆/构建。
- 使用 Smithery CLI 运行
- 在设置后重启 Claude Desktop 以启用新的 MCP 服务器。
- 配置设置:
- 在 Claude 聊天中使用
get_config({})
和set_config_value({ key, value })
工具调整选项,如阻止的命令、允许的目录或默认 Shell。 - 始终通过
get_config({})
验证配置更改。 - 出于安全考虑,维护专门的配置聊天并指定确切的目录访问限制。
- 在 Claude 聊天中使用
设置会保存在服务器的工作目录中的 config.json
中。您可以通过让 Claude 在聊天中说“禁用遥测”来直接禁用遥测。
如何使用 Desktop Commander MCP
- 启动 Claude Desktop 并打开一个新聊天。
- 使用自然语言进行互动:请 Claude 执行操作,例如读取、搜索、编辑文件、运行终端命令或管理进程——Claude 会调用相应的 MCP 工具。
- 手动工具调用:您可以直接使用 MCP 工具的函数名称,例如:
execute_command({ "command": "ls -la", "shell": "/bin/zsh" }) read_file({ "path": "README.md" }) edit_block({ "changes": "...edit block format..." })
- 处理长时间运行的任务:
- 对于在后台继续的进程,使用
list_sessions
进行监控,使用read_output
获取命令输出,并使用force_terminate
停止它们。
- 对于在后台继续的进程,使用
- 文本/代码搜索和编辑:
- 使用编辑块语法进行精确替换。
- 使用
search_code
、search_files
和edit_block
等工具执行和协调复杂的代码库更改。
- 切换 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 说“禁用遥测”来选择退出。