Desktop Commander MCP 项目详细介绍
项目概述
Desktop Commander MCP 是一个基于模型上下文协议 (MCP) 的服务器工具,专为 Claude Desktop 应用程序设计。它通过 MCP 协议为 Claude 提供终端控制、文件系统搜索和差异化文件编辑功能,将 Claude 转变为一个强大的开发助手。
这个项目扩展了 MCP 文件系统服务器的功能,使开发者能够通过 Claude 直接操作本地系统,执行命令,管理文件,并进行代码编辑,超越了传统的 AI 编辑器的能力范围。
核心功能特性
🖥️ 终端操作
- 命令执行: 执行终端命令并支持输出流式传输
- 超时控制: 可配置的命令超时和后台执行支持
- 进程管理: 列出和终止运行中的进程
- 会话管理: 支持长时间运行命令的会话管理
- 多Shell支持: 支持 bash、zsh、powershell 等不同Shell环境
📁 文件系统操作
- 文件读写: 完整的文件读取和写入功能
- 目录管理: 创建、列出、移动文件和目录
- 文件搜索: 基于文件名的搜索功能
- 元数据获取: 获取文件和目录的详细信息
- 多文件支持: 同时读取多个文件
- URL内容读取: 支持从URL读取文本和图像内容
✏️ 代码编辑能力
- 精确替换: 针对小幅修改的外科手术式文本替换
- 完整重写: 针对大幅更改的完整文件重写
- 多文件支持: 同时编辑多个文件
- 模式替换: 基于模式的文本替换
- 代码搜索: 使用 vscode-ripgrep 进行递归代码或文本搜索
⚙️ 服务器配置管理
- 配置获取/设置: 获取和设置配置值
- 批量更新: 一次更新多个设置
- 动态配置: 无需重启服务器即可进行配置更改
- 安全控制: 支持阻止特定命令和限制目录访问
安装方式
方式一:NPX 快速安装(推荐)
npx @wonderwhy-er/desktop-commander@latest setup
方式二:macOS 自动化安装
curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh | bash
方式三:Smithery 安装
npx -y @smithery/cli install @wonderwhy-er/desktop-commander --client claude
方式四:手动构建安装
git clone https://github.com/wonderwhy-er/DesktopCommanderMCP.git
cd DesktopCommanderMCP
npm run setup
主要工具分类
配置管理工具
get_config: 获取完整服务器配置set_config_value: 设置特定配置值
终端工具
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: 在文件内容中搜索文本/代码模式get_file_info: 获取文件或目录详细元数据
文本编辑工具
edit_block: 应用外科手术式文本替换
技术优势
与传统IDE工具对比
- 全系统解决方案: 不仅限于IDE环境,可操作整个操作系统
- 完整文件读取: Claude能够完整读取文件,而非分块处理
- 多项目支持: 可同时处理多个项目
- 一次性执行: 可一次性执行更改,减少反复确认
成本效益
- 基于Claude Desktop的标准Pro订阅($20/月)
- 无需额外API调用费用
- 自动更新机制,通过NPX或Smithery安装时自动获取最新版本
使用场景
开发场景
- 复杂代码库的探索和理解
- 生成图表和文档
- 跨系统任务自动化
- 多项目同时工作
- 精确的代码修改
安全特性
- 可配置的阻止命令列表
- 允许目录访问控制
- 进程管理和监控
- 配置持久化和验证