终端命令与文件编辑工具

Desktop Commander MCP是一款允许Claude桌面应用执行终端命令和管理文件的工具,支持命令执行、进程管理、文件操作和代码编辑功能。

  • by MrGNSS
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 MrGNSS/ClaudeDesktopCommander

使用说明

桌面指挥官MCP

简短版本。两件关键的事情。终端命令和基于差异的文件编辑。

目录

这是一个服务器,允许Claude桌面应用程序在您的计算机上执行长时间运行的终端命令,并通过模型上下文协议(MCP)+构建在 MCP文件系统服务器 以提供额外的搜索和替换文件编辑功能。

特性

  • 使用输出流执行终端命令
  • 命令超时和后台执行支持
  • 流程管理(列出并终止流程)
  • 长时间运行命令的会话管理
  • 完整的文件系统操作:
    • 读/写文件
    • 创建/列出目录
    • 移动文件/目录
    • 搜索文件
    • 获取文件元数据
    • 代码编辑功能:
    • 小改动的手术文本替换
    • 重大更改的完整文件重写
    • 多文件支持
    • 基于模式的替换

安装

首先,确保您已下载并安装 克劳德桌面应用程序 你有 npm已安装.

选项1:通过Smithery安装

通过以下方式自动安装克劳德桌面版Desktop Commander 史密瑟里:

npx -y @smithery/cli install @wonderwhy-er/desktop-commander --client claude

选项2:安装npx槽

只需在终端中运行即可

npx @wonderwhy-er/desktop-commander setup

如果正在运行,请重新启动Claude

选项3:手动添加到claude_desktop_config

将此条目添加到您的claude_desktop_config.json中(在Mac上,可在~/Library/Application\Support/claude/claude_desktop-config.json中找到):

{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ]
    }
  }
}

如果正在运行,请重新启动Claude

选项4:在当地结账

  1. 克隆和构建:
git clone https://github.com/wonderwhy-er/ClaudeComputerCommander.git
cd ClaudeComputerCommander
npm run setup

如果正在运行,请重新启动Claude

setup命令将:

  • 安装依赖项
  • 构建服务器
  • 配置Claude的桌面应用程序
  • 如果需要,将MCP服务器添加到Claude的配置中

用法

服务器提供以下工具类别:

终端工具

  • execute_command:运行具有可配置超时的命令
  • read_output:从长时间运行的命令中获取输出
  • force_terminate:停止运行命令会话
  • list_sessions:查看活动命令会话
  • list_processes:查看系统进程
  • kill_process:通过PID终止进程
  • block_command/unblock_command:管理命令黑名单

文件系统工具

  • read_file/write_file:文件操作
  • create_directory/list_directory:目录管理
  • move_file:移动/重命名文件
  • search_files:基于模式的文件搜索
  • get_file_info:文件元数据

编辑工具

  • edit_block:应用手术文本替换(最适合文件大小小于20%的更改)
  • write_file:完成文件重写(最适合大于20%的大更改或edit_block失败时)

搜索/替换块格式:

filepath.ext
<<<<<<< SEARCH
existing code to replace
=======
new code to insert
>>>>>>> REPLACE

例子:

src/main.js
<<<<<<< SEARCH
console.log("old message");
=======
console.log("new message");
>>>>>>> REPLACE

处理长时间运行的命令

对于可能需要一段时间的命令:

  1. execute_command 超时后返回初始输出
  2. 命令在后台继续
  3. 使用 read_output 使用PID获得新的输出
  4. 使用 force_terminate 必要时停止

模型上下文协议集成

此项目扩展了MCP文件系统服务器,以启用:

  • Claude Desktop中的本地服务器支持
  • 完整系统命令执行
  • 过程管理
  • 文件 操作
  • 使用搜索/替换块进行代码编辑

作为探索Claude MCP的一部分而创建:https://youtube.com/live/TlbjFDbl5Us

正在进行的工作和TODO

目前正在开发或计划以下功能:

  • 更好的代码搜索 (进行中)-通过上下文感知结果增强代码探索
  • 更好的配置 (进行中)-改进了允许的路径、命令和shell环境的设置
  • Windows环境修复程序 (进行中)-解决Windows平台特有的问题
  • Linux改进 (进行中)-增强与各种Linux发行版的兼容性
  • 对WSL的支持 -用于Linux集成的Windows子系统
  • 支持SSH -远程服务器命令执行
  • 安装故障排除指南 -设置问题的全面帮助

媒体

通过以下资源了解有关此项目的更多信息:

文章

克劳德用MCP取代了Cursor和Windsurf。这是怎么发生的? -详细探讨具有模型上下文协议功能的Claude如何改变开发人员的工作流程。

视频

克劳德桌面指挥官视频教程 -观看如何有效地设置和使用Commander。

社区

加入我们 Discord服务器 获取帮助、分享反馈并与其他用户联系。

客户评价

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyyBt6_ShdDX_rIOad4AaABAg

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyQFTmYLJ4VBwIlmql4AaABAg

https://www.youtube.com/watch?v=ly3bed99Dy8&lc=Ugy4-exy166_Ma7TH-h4Aabag

https://medium.com/@pharmx/you-sir-are-my-hero-62cf5836a3e

贡献

如果你觉得这个项目有用,请考虑给它一个⭐ GitHub上的明星!这有助于其他人发现该项目并鼓励进一步开发。

我们欢迎社区的贡献!无论你是发现了一个bug,有一个功能请求,还是想贡献代码,以下是你可以提供帮助的方法:

  • 发现bug了吗? 在以下位置打开问题 github.com/wonderwhy-er/ClaudeComputerCommander/issues
  • 有一个功能想法吗? 在问题部分提交功能请求
  • 想贡献代码吗? 分叉存储库,创建分支,并提交拉取请求
  • 问题或讨论? 在GitHub讨论选项卡中开始讨论

所有的贡献,无论大小,都非常感谢!

如果您认为此工具对您的工作流程很有价值,请考虑 支持该项目.

许可证

麻省理工学院