Skip to main content
Glama

Claude Desktop Commander MCP

桌面指挥官 MCP

使用 AI 搜索、更新、管理文件并运行终端命令

使用代码和文本、运行流程并自动执行任务,远远超越其他 AI 编辑器 - 无需 API 令牌成本。

桌面指挥官 MCP

目录

所有 AI 开发工具一站式服务。Desktop Commander 将所有开发工具集中到一个聊天窗口。您可以在计算机上执行长时间运行的终端命令,并通过模型上下文协议 (MCP) 管理进程。它基于MCP 文件系统服务器构建,提供额外的文件搜索和替换编辑功能。

特征

  • 使用输出流执行终端命令
  • 命令超时和后台执行支持
  • 进程管理(列出和终止进程)
  • 长时间运行命令的会话管理
  • 服务器配置管理:
    • 获取/设置配置值
    • 一次更新多个设置
    • 无需重启服务器即可动态更改配置
  • 完整的文件系统操作:
    • 读/写文件
    • 创建/列出目录
    • 移动文件/目录
    • 搜索文件
    • 获取文件元数据
  • 代码编辑功能:
    • 外科手术文本替换的小改动
    • 针对重大变更进行完整文件重写
    • 多文件支持
    • 基于模式的替换
    • 基于 vscode-ripgrep 的文件夹中的递归代码或文本搜索
  • 全面的审计日志:
    • 所有工具调用都会自动记录
    • 日志轮换,大小限制为 10MB
    • 详细的时间戳和参数

安装

首先,确保您已经下载并安装了Claude Desktop 应用程序,并且已经安装了 npm

选项 1:通过 npx 安装

只需在终端中运行此命令:

npx @wonderwhy-er/desktop-commander@latest setup

对于调试模式(允许 Node.js 检查器连接):

npx @wonderwhy-er/desktop-commander@latest setup --debug

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

选项 2:使用 bash 脚本安装程序(macOS)

对于 macOS 用户,您可以使用我们的自动 bash 安装程序,它将检查您的 Node.js 版本,根据需要安装它,并自动配置 Desktop Commander:

curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh | bash

该脚本自动处理所有依赖项和配置,以实现无缝的安装体验。

选项 3:通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Desktop Commander:

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

选项 4:手动添加到 claude_desktop_config

将此条目添加到您的 claude_desktop_config.json:

  • 在 Mac 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • 在 Windows 上: %APPDATA%\Claude\claude_desktop_config.json
  • 在 Linux 上: ~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "desktop-commander": { "command": "npx", "args": [ "-y", "@wonderwhy-er/desktop-commander" ] } } }

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

选项 5:本地结账

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

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

安装命令将:

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

更新桌面指挥官

通过 npx(选项 1)或 Smithery(选项 3)安装后,Desktop Commander 会在您重启 Claude 时自动更新到最新版本。无需手动更新。

对于手动安装,您可以通过再次运行安装命令进行更新。

用法

该服务器提供了一套全面的工具,分为以下几类:

可用工具

类别工具描述
配置get_config获取完整的服务器配置为 JSON(包括 blockedCommands、defaultShell、allowedDirectories、fileReadLineLimit、fileWriteLineLimit、telemetryEnabled)
set_config_value通过键设置特定的配置值。可用设置:• blockedCommands :无法执行的 Shell 命令数组• defaultShell :用于命令的 Shell(例如,bash、zsh、powershell)• allowedDirectories :服务器可以访问以进行文件操作的文件系统路径数组(⚠️ 终端命令仍然可以访问这些目录之外的文件)• fileReadLineLimit :一次读取的最大行数(默认值:1000)• fileWriteLineLimit :一次写入的最大行数(默认值:50)• telemetryEnabled :启用/禁用遥测(布尔值)
终端execute_command执行具有可配置超时和 shell 选择的终端命令
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使用 ripgrep 在文件内容中搜索文本/代码模式
get_file_info检索有关文件或目录的详细元数据
文本编辑edit_block应用有针对性的文本替换,并增强对较小编辑的提示(包括字符级差异反馈)

工具使用示例

搜索/替换块格式:

filepath.ext <<<<<<< SEARCH content to find ======= new content >>>>>>> REPLACE

例子:

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

增强的编辑块功能

edit_block工具包含多项增强功能以提高可靠性:

  1. 改进的提示:工具描述现在强调进行多个小的、有针对性的编辑,而不是一次大的更改
  2. 模糊搜索回退:当精确匹配失败时,它会执行模糊搜索并提供详细的反馈
  3. 字符级差异:使用{-removed-}{+added+}格式准确显示不同之处
  4. 多次出现支持:可以使用expected_replacements参数替换多个实例
  5. 全面记录:所有模糊搜索均记录下来,以供分析和调试

当搜索失败时,您将看到找到的最接近匹配项的详细信息,包括相似度百分比、执行时间和字符差异。所有这些详细信息都会自动记录,以便稍后使用模糊搜索日志工具进行分析。

URL 支持

  • read_file现在可以从本地文件和 URL 获取内容
  • 示例:使用isUrl: true参数的read_file从 Web 资源读取
  • 处理来自远程源的文本和图像内容
  • 图像(本地或来自 URL)在 Claude 的界面中以视觉方式显示,而不是以文本形式显示
  • 克劳德可以看到并分析实际图像内容
  • URL 请求的默认超时时间为 30 秒

模糊搜索日志分析(npm脚本)

模糊搜索日志系统包括方便的 npm 脚本,用于分析 MCP 环境之外的日志:

# View recent fuzzy search logs npm run logs:view -- --count 20 # Analyze patterns and performance npm run logs:analyze -- --threshold 0.8 # Export logs to CSV or JSON npm run logs:export -- --format json --output analysis.json # Clear all logs (with confirmation) npm run logs:clear

有关这些脚本的详细文档,请参阅scripts/README.md

模糊搜索日志

Desktop Commander 在edit_block工具中包含了对模糊搜索操作的全面日志记录。当未找到完全匹配的结果时,系统会执行模糊搜索并记录详细信息以供分析。

记录的内容

每次模糊搜索操作都会记录:

  • 搜索并找到文本:您正在寻找的文本与找到的内容
  • 相似度得分:匹配程度(0-100%)
  • 执行时间:搜索花费的时间
  • 字符差异:详细差异,准确显示不同之处
  • 文件元数据:扩展名、搜索/找到的文本长度
  • 字符代码:导致差异的具体字符代码

日志位置

日志自动保存至:

  • macOS/Linux~/.claude-server-commander-logs/fuzzy-search.log
  • Windows%USERPROFILE%\.claude-server-commander-logs\fuzzy-search.log

您将学到什么

模糊搜索日志可以帮助您了解:

  1. 精确匹配失败的原因:常见问题,例如空格差异、行尾或字符编码
  2. 性能模式:搜索复杂性如何影响执行时间
  3. 文件类型问题:哪些文件扩展名通常存在匹配问题
  4. 字符编码问题:导致差异的特定字符代码

审计日志

Desktop Commander 现在包括所有工具调用的全面日志记录:

记录的内容

  • 每个工具调用都会记录时间戳、工具名称和参数(已进行隐私保护)
  • 当日志大小达到 10MB 时,会自动轮换

日志位置

日志保存到:

  • macOS/Linux~/.claude-server-commander/claude_tool_call.log
  • Windows%USERPROFILE%\.claude-server-commander\claude_tool_call.log

此审计跟踪有助于调试、安全监控以及了解 Claude 如何与您的系统交互。

处理长时间运行的命令

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

配置管理

⚠️ 重要安全警告

  1. 请务必在与实际工作不同的聊天窗口中更改配置。如果遇到文件系统访问限制,Claude 有时可能会尝试修改配置设置(例如allowedDirectories )。
  2. 目前, allowedDirectories设置仅限制文件系统操作,而不限制终端命令。终端命令仍然可以访问允许目录之外的文件。完整的终端沙盒功能正在规划中。

配置工具

您可以使用提供的工具管理服务器配置:

// Get the entire config get_config({}) // Set a specific config value set_config_value({ "key": "defaultShell", "value": "/bin/zsh" }) // Set multiple config values using separate calls set_config_value({ "key": "defaultShell", "value": "/bin/bash" }) set_config_value({ "key": "allowedDirectories", "value": ["/Users/username/projects"] })

配置保存到服务器工作目录中的config.json ,并在服务器重启后仍然存在。

最佳实践

  1. 为配置更改创建专用聊天:在一次聊天中进行所有配置更改,然后为实际工作开始新的聊天。
  2. 小心使用空的allowedDirectories :将其设置为空数组( [] )将授予对整个文件系统的文件操作访问权限。
  3. 使用特定路径:不要使用像/这样的宽路径,而是指定您想要访问的确切目录。
  4. 更改后始终验证配置:使用get_config({})确认您的更改已正确应用。

使用不同的 Shell

您可以指定使用哪个 shell 来执行命令:

// Using default shell (bash or system default) execute_command({ "command": "echo $SHELL" }) // Using zsh specifically execute_command({ "command": "echo $SHELL", "shell": "/bin/zsh" }) // Using bash specifically execute_command({ "command": "echo $SHELL", "shell": "/bin/bash" })

这使得您可以使用特定于 shell 的功能或在命令之间保持一致的环境。

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

调试

如果需要调试服务器,可以以调试模式安装:

# Using npx npx @wonderwhy-er/desktop-commander@latest setup --debug # Or if installed locally npm run setup:debug

这将:

  1. 配置 Claude 使用单独的“desktop-commander”服务器
  2. 使用--inspect-brk=9229标志启用 Node.js 检查器协议
  3. 在开始时暂停执行,直到调试器连接
  4. 启用额外的调试环境变量

连接调试器:

  • 在 Chrome 中,访问chrome://inspect并查找 Node.js 实例
  • 在 VS Code 中,使用“附加到节点进程”调试配置
  • 其他 IDE/工具可能有类似的用于 Node.js 调试的“附加”选项

重要调试说明:

  • 服务器将在启动时暂停,直到调试器连接(由于--inspect-brk标志)
  • 如果在调试期间没有看到活动,请确保您连接到正确的 Node.js 进程
  • 可能有多个 Node 进程正在运行;连接到端口 9229 上的进程
  • 在 Claude 的 MCP 服务器列表中,调试服务器被标识为“desktop-commander-debug”

故障排除:

  • 如果 Claude 在尝试使用调试服务器时超时,则您的调试器可能未正确连接
  • 正确连接后,进程将在到达第一个断点后继续执行
  • 连接后,您可以在 IDE 中添加其他断点

模型上下文协议集成

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

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

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

完毕

  • 2025 年 5 月 20 日 v0.1.40 版本发布- 为所有工具调用添加了审计日志记录,改进了基于行的文件操作,增强了 edit_block,为较小的编辑提供了更好的提示,添加了明确的遥测退出提示
  • 2025 年 5 月 5 日模糊搜索日志记录- 为模糊搜索操作添加了全面的日志记录系统,其中包含详细的分析工具、字符级差异和性能指标,以帮助调试 edit_block 故障
  • 2025 年 4 月 29 日通过配置退出遥测- 现在可以在配置中禁用遥测,请在聊天中询问
  • 2025 年 4 月 23 日增强编辑功能- 改进格式,添加模糊搜索和多现替换,失败率更低,编辑块使用频率更高
  • 2025 年 4 月 16 日 更好的配置- 改进了允许的路径、命令和 shell 环境的设置
  • 2025 年 4 月 14 日 Windows 环境修复- 解决了特定于 Windows 平台的问题
  • 2025 年 4 月 14 日 Linux 改进- 增强与各种 Linux 发行版的兼容性
  • 2025 年 12 月 4 日 更完善的允许目录和阻止命令- 改进了文件读写和终端命令限制的安全性和路径验证。终端仍然可以访问文件,而无需考虑允许的目录。
  • 2025 年 11 月 4 日 Shell 配置- 增加了配置用于命令执行的首选 Shell 的功能
  • 2025 年 7 月 4 日添加了 URL 支持- read_file命令现在可以从 URL 获取内容
  • 2025 年 3 月 28 日修复了“Watching /” JSON 错误- 实现了自定义 stdio 传输来处理非 JSON 消息并防止服务器崩溃
  • 2025 年 3 月 25 日 更好的代码搜索已合并) - 通过上下文感知结果增强代码探索

正在进行的工作/待办事项/路线图

目前正在探索以下功能:

  • 支持 WSL - Windows Subsystem for Linux 集成
  • 支持 SSH - 远程服务器命令执行
  • 更好地支持 CSV/PDF 等格式的文件
  • 为 Mac/Linux/Windows 提供终端沙盒以提高安全性
  • 文件读取模式- 例如,允许将 HTML 读取为纯文本或 markdown
  • 交互式 shell 支持- ssh、node/python repl
  • 改进大文件的读写

❤️ 支持桌面指挥官

球迷名人堂

这里列出了慷慨的支持者。感谢您帮助促成这个项目!

网站

访问我们的官方网站https://desktopcommander.app/获取最新信息、文档和更新。

媒体

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

文章

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

视频

Claude Desktop Commander 视频教程- 观看如何有效设置和使用 Commander。

AnalyticsIndiaMag 上发表的论文

社区

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

评价

如果您觉得这个项目有用,请考虑在 GitHub 上点个⭐!这有助于其他人发现这个项目,并鼓励进一步开发。

我们欢迎社区的贡献!无论您是发现了错误、提出了功能请求,还是想贡献代码,都可以通过以下方式提供帮助:

  • **发现 bug 了?**请在github.com/wonderwhy-er/DesktopCommanderMCP/issues提交问题
  • **有功能创意?**请在问题版块提交功能请求
  • **想要贡献代码?**分叉代码库,创建分支,然后提交拉取请求
  • **有问题或想讨论?**请在 GitHub 讨论选项卡中发起讨论

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

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

常见问题

以下是一些常见问题的解答。如需更全面的常见问题解答,请参阅我们详细的常见问题解答文档

什么是桌面指挥官?

它是一个 MCP 工具,使 Claude Desktop 能够访问您的文件系统和终端,将 Claude 变成一个多功能的编码、自动化、代码库探索等助手。

这与 Cursor/Windsurf 有何不同?

与专注于 IDE 的工具不同,Claude Desktop Commander 提供了一种以解决方案为中心的方法,它兼容整个操作系统,而不仅仅是在编码环境中。Claude 会完整读取文件,而不是将其分块,可以同时处理多个项目,并且可以一次性执行更改,而无需不断进行审查。

我需要支付 API 积分吗?

不。此工具与 Claude Desktop 的标准 Pro 订阅(每月 20 美元)兼容,而不是与 API 调用兼容,因此您不会产生订阅费以外的额外费用。

Desktop Commander 会自动更新吗?

是的,通过 npx 或 Smithery 安装后,Desktop Commander 会在您重启 Claude 时自动更新到最新版本。无需手动更新。

最常见的用例有哪些?

  • 探索和理解复杂的代码库
  • 生成图表和文档
  • 在整个系统中自动执行任务
  • 同时处理多个项目
  • 通过精确控制进行手术代码更改

我在安装或使用该工具时遇到了问题。我该如何获得帮助?

加入我们的Discord 服务器获取社区支持,查看GitHub Issues了解已知问题,或查看完整的常见问题解答获取故障排除技巧。您还可以访问我们网站的常见问题解答部分,获得更便捷的用户体验。如果您遇到新问题,请考虑创建 GitHub Issue并详细说明您的问题。

数据收集与隐私

Desktop Commander 会收集有限的匿名遥测数据,以帮助改进该工具。它不会收集任何个人信息、文件内容、文件路径或命令参数。

遥测功能默认启用。要选择退出,请执行以下操作:

  1. 打开聊天并简单询问: “禁用遥测”
  2. 聊天机器人���自动更新您的设置。

有关数据收集的完整详细信息,请参阅我们的隐私政策

执照

麻省理工学院

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

允许 Claude 桌面应用程序通过 MCP 执行终端命令并编辑计算机上的文件,其功能包括命令执行、进程管理和基于差异的文件编辑。

  1. 使用 AI 搜索、更新、管理文件并运行终端命令
    1. 目录
      1. 特征
        1. 安装
          1. 选项 1:通过 npx 安装
          2. 选项 2:使用 bash 脚本安装程序(macOS)
          3. 选项 3:通过 Smithery 安装
          4. 选项 4:手动添加到 claude\_desktop\_config
          5. 选项 5:本地结账
          6. 更新桌面指挥官
        2. 用法
          1. 可用工具
          2. 工具使用示例
          3. 增强的编辑块功能
          4. URL 支持
        3. 模糊搜索日志分析(npm脚本)
          1. 模糊搜索日志
            1. 记录的内容
            2. 日志位置
            3. 您将学到什么
          2. 审计日志
            1. 记录的内容
            2. 日志位置
          3. 处理长时间运行的命令
            1. 配置管理
              1. ⚠️ 重要安全警告
              2. 配置工具
              3. 最佳实践
            2. 使用不同的 Shell
              1. 调试
                1. 模型上下文协议集成
                  1. 完毕
                    1. 正在进行的工作/待办事项/路线图
                      1. ❤️ 支持桌面指挥官
                        1. 球迷名人堂
                      2. 网站
                        1. 媒体
                          1. 文章
                          2. 视频
                          3. AnalyticsIndiaMag 上发表的论文
                          4. 社区
                        2. 评价
                          1. 常见问题
                            1. 什么是桌面指挥官?
                            2. 这与 Cursor/Windsurf 有何不同?
                            3. 我需要支付 API 积分吗?
                            4. Desktop Commander 会自动更新吗?
                            5. 最常见的用例有哪些?
                            6. 我在安装或使用该工具时遇到了问题。我该如何获得帮助?
                          2. 数据收集与隐私
                            1. 执照

                              Related MCP Servers

                              • -
                                security
                                A
                                license
                                -
                                quality
                                A utility tool that enables Claude Desktop to interact with external tools via the Model Context Protocol, providing features like email sending and simple calculations while simplifying the MCP setup process.
                                Last updated -
                                129
                                9
                                JavaScript
                                MIT License
                                • Apple
                              • -
                                security
                                A
                                license
                                -
                                quality
                                Allows Claude to execute terminal commands on your computer and perform file system operations including surgical code editing with diff-based replacements.
                                Last updated -
                                20,782
                                TypeScript
                                MIT License
                                • Apple
                                • Linux
                              • -
                                security
                                A
                                license
                                -
                                quality
                                A server that lets Claude desktop app execute terminal commands on your computer and edit files through Model Context Protocol, featuring command execution, process management, and advanced file operations.
                                Last updated -
                                20,782
                                MIT License
                                • Linux
                                • Apple
                              • -
                                security
                                -
                                license
                                -
                                quality
                                A server built with mcp-framework that allows users to extend Claude's capabilities by adding custom tools that can be used through the Claude Desktop client.
                                Last updated -
                                TypeScript

                              View all related MCP servers

                              MCP directory API

                              We provide all the information about MCP servers via our MCP API.

                              curl -X GET 'https://glama.ai/api/mcp/v1/servers/wonderwhy-er/DesktopCommanderMCP'

                              If you have feedback or need assistance with the MCP directory API, please join our Discord server