返回市场
克劳德桌面指挥官

克劳德桌面指挥官

作者:MrGNSS6 星标更新:2025-03-24

项目介绍

Desktop Commander MCP

Desktop Commander MCP

npm 下载量 smithery 徽章 请我喝杯咖啡 Discord

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

<a href="https://glama.ai/mcp/servers/zempur9oh4"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=3045592794,2276504722&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Claude Desktop Commander MCP 服务器" /> </a>

目录

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

特性

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

安装

首先,请确保您已下载并安装了 Claude 桌面应用,并且已经安装了 npm

方案 1:通过 Smithery 安装

要通过 Smithery 自动安装 Claude 桌面命令器:

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

设置命令将:

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

使用

该服务器提供了这些工具类别:

终端工具

  • 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
现有代码以替换
=======
新代码以插入
>>>>>>> REPLACE

示例:

src/main.js
<<<<<<< SEARCH
console.log("旧消息");
=======
console.log("新消息");
>>>>>>> REPLACE

处理长时间运行的命令

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

  1. execute_command 在超时后返回初始输出
  2. 命令继续在后台运行
  3. 使用 read_output 和 PID 获取新的输出
  4. 如需停止,使用 force_terminate

模型上下文协议集成

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

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

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

正在进行的工作和待办事项

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

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

媒体

通过以下资源了解更多关于这个项目的信息:

文章

Claude 替换了 Cursor & Windsurf。这如何发生的? - 详细探讨了具有模型上下文协议功能的 Claude 如何改变开发者工作流程。

视频

Claude 桌面命令器视频教程 - 观看如何有效地设置和使用指挥官。

社区

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

用户评价

救命啊!我支付了 Claude + Cursor 目前,我总是觉得有点重复。这最终解决了问题。我很高兴。非常感谢。另外今天 Claude 添加了网络搜索支持。有了这个 MCP + 网络搜索,它用最新的更新编写代码。当 Cursor 有时不起作用或所有快速请求都用完时,这非常好。 https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyyBt6_ShdDX_rIOad4AaABAg

这是我第一次在一个 YouTube 视频上留下评论,谢谢!我一直努力在 Cursor 中从一个旧的非空安全版本更新一个旧的 Flutter 应用程序到当前版本,并使用 Claude 3.7 实现了空安全。我大部分都完成了,但遇到了严重的 BLE 错误,我花了几天试图解决这个问题,但没有成功。我尝试了 Augment Code,但它也没有成功。我在 Claude 桌面上实现了你的 MCP,能够完全比较旧的新代码库,考虑到代码中的更新,并在几个小时内解决了问题。给那些尝试这个的人的一些建议,确保在适当的时候分阶段更改并提交,以便能够撤销不需要的更改。太棒了! https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg

很好!我刚刚使用 Windsurf,一周前购买了许可证,用于升级旧的全栈套接字项目,它多次表现良好或还可以,但也多次出现级联错误,不得不撤销所有更改,丢失了数百个级联令牌。仅仅一周就减少到不到 100 个令牌,不想只为 10 美元购买 300 个令牌。这个 Claude MCP,终于购买了 Claude Pro,但我需要非常好的理由来拥有它,除了 ChatGPT。现在我可以无限制地编码,不用担心令牌成本。
此外,这不仅仅是代码编辑,它远不止于此,感谢精彩的视频! https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyQFTmYLJ4VBwIlmql4AaABAg

这是一个很棒的工具,谢谢你,我喜欢使用它,因为它赋予了 Claude 进行外科手术式编辑的能力,使其更像一个人类开发者。 https://www.youtube.com/watch?v=ly3bed99Dy8&lc=Ugy4-exy166_Ma7TH-h4AaABAg

先生,你是我的英雄。你几乎总结了我的近期经历,比我能做的更好。Cursor 和 Windsurf 都让我感到沮丧,几乎对着电脑屏幕大喊。出于一时兴起,我想为什么不让 Claude 直接回答呢,从此我就再也没有回头。
Claude 首先保持我的理智,然后如有必要,再与其他 IDE、框架等互动。我以为我是唯一一个这样想的人,很高兴看到我不是唯一一个 lol。
33
1 https://medium.com/@pharmx/you-sir-are-my-hero-62cff5836a3e

贡献

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

我们欢迎社区的贡献!无论您发现了错误、有功能建议,还是想要贡献代码,这里是如何帮助的方法:

  • 发现了一个错误?github.com/wonderwhy-er/ClaudeComputerCommander/issues 开启一个问题
  • 有一个功能想法? 在问题部分提交一个功能请求
  • 想要贡献代码? 分叉仓库,创建一个分支,并提交一个拉取请求
  • 问题或讨论? 在 GitHub 讨论标签中开始一个讨论

无论大小,所有的贡献都非常宝贵!

如果您发现这个工具对您的工作流程有价值,请考虑 支持该项目

许可证

MIT