桌面指挥官 MCP
使用 AI 搜索、更新、管理文件并运行终端命令
使用代码和文本、运行流程并自动执行任务,远远超越其他 AI 编辑器 - 无需 API 令牌成本。
目录
所有 AI 开发工具一站式服务。Desktop Commander 将所有开发工具集中到一个聊天窗口。您可以在计算机上执行长时间运行的终端命令,并通过模型上下文协议 (MCP) 管理进程。它基于MCP 文件系统服务器构建,提供额外的文件搜索和替换编辑功能。
特征
- 使用输出流执行终端命令
- 命令超时和后台执行支持
- 进程管理(列出和终止进程)
- 长时间运行命令的会话管理
- 服务器配置管理:
- 获取/设置配置值
- 一次更新多个设置
- 无需重启服务器即可动态更改配置
- 完整的文件系统操作:
- 读/写文件
- 创建/列出目录
- 移动文件/目录
- 搜索文件
- 获取文件元数据
- 代码编辑功能:
- 外科手术文本替换的小改动
- 针对重大变更进行完整文件重写
- 多文件支持
- 基于模式的替换
- 基于 vscode-ripgrep 的文件夹中的递归代码或文本搜索
- 全面的审计日志:
- 所有工具调用都会自动记录
- 日志轮换,大小限制为 10MB
- 详细的时间戳和参数
安装
首先,确保您已经下载并安装了Claude Desktop 应用程序,并且已经安装了 npm 。
选项 1:通过 npx 安装
只需在终端中运行此命令:
对于调试模式(允许 Node.js 检查器连接):
如果正在运行,请重新启动 Claude。
选项 2:使用 bash 脚本安装程序(macOS)
对于 macOS 用户,您可以使用我们的自动 bash 安装程序,它将检查您的 Node.js 版本,根据需要安装它,并自动配置 Desktop Commander:
该脚本自动处理所有依赖项和配置,以实现无缝的安装体验。
选项 3:通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Desktop Commander:
选项 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
如果正在运行,请重新启动 Claude。
选项 5:本地结账
- 克隆并构建:
如果正在运行,请重新启动 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 | 应用有针对性的文本替换,并增强对较小编辑的提示(包括字符级差异反馈) |
工具使用示例
搜索/替换块格式:
例子:
增强的编辑块功能
edit_block
工具包含多项增强功能以提高可靠性:
- 改进的提示:工具描述现在强调进行多个小的、有针对性的编辑,而不是一次大的更改
- 模糊搜索回退:当精确匹配失败时,它会执行模糊搜索并提供详细的反馈
- 字符级差异:使用
{-removed-}{+added+}
格式准确显示不同之处 - 多次出现支持:可以使用
expected_replacements
参数替换多个实例 - 全面记录:所有模糊搜索均记录下来,以供分析和调试
当搜索失败时,您将看到找到的最接近匹配项的详细信息,包括相似度百分比、执行时间和字符差异。所有这些详细信息都会自动记录,以便稍后使用模糊搜索日志工具进行分析。
URL 支持
read_file
现在可以从本地文件和 URL 获取内容- 示例:使用
isUrl: true
参数的read_file
从 Web 资源读取 - 处理来自远程源的文本和图像内容
- 图像(本地或来自 URL)在 Claude 的界面中以视觉方式显示,而不是以文本形式显示
- 克劳德可以看到并分析实际图像内容
- URL 请求的默认超时时间为 30 秒
模糊搜索日志分析(npm脚本)
模糊搜索日志系统包括方便的 npm 脚本,用于分析 MCP 环境之外的日志:
有关这些脚本的详细文档,请参阅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
您将学到什么
模糊搜索日志可以帮助您了解:
- 精确匹配失败的原因:常见问题,例如空格差异、行尾或字符编码
- 性能模式:搜索复杂性如何影响执行时间
- 文件类型问题:哪些文件扩展名通常存在匹配问题
- 字符编码问题:导致差异的特定字符代码
审计日志
Desktop Commander 现在包括所有工具调用的全面日志记录:
记录的内容
- 每个工具调用都会记录时间戳、工具名称和参数(已进行隐私保护)
- 当日志大小达到 10MB 时,会自动轮换
日志位置
日志保存到:
- macOS/Linux :
~/.claude-server-commander/claude_tool_call.log
- Windows :
%USERPROFILE%\.claude-server-commander\claude_tool_call.log
此审计跟踪有助于调试、安全监控以及了解 Claude 如何与您的系统交互。
处理长时间运行的命令
对于可能需要一段时间的命令:
配置管理
⚠️ 重要安全警告
- 请务必在与实际工作不同的聊天窗口中更改配置。如果遇到文件系统访问限制,Claude 有时可能会尝试修改配置设置(例如
allowedDirectories
)。 - 目前,
allowedDirectories
设置仅限制文件系统操作,而不限制终端命令。终端命令仍然可以访问允许目录之外的文件。完整的终端沙盒功能正在规划中。
配置工具
您可以使用提供的工具管理服务器配置:
配置保存到服务器工作目录中的config.json
,并在服务器重启后仍然存在。
最佳实践
- 为配置更改创建专用聊天:在一次聊天中进行所有配置更改,然后为实际工作开始新的聊天。
- 小心使用空的
allowedDirectories
:将其设置为空数组([]
)将授予对整个文件系统的文件操作访问权限。 - 使用特定路径:不要使用像
/
这样的宽路径,而是指定您想要访问的确切目录。 - 更改后始终验证配置:使用
get_config({})
确认您的更改已正确应用。
使用不同的 Shell
您可以指定使用哪个 shell 来执行命令:
这使得您可以使用特定于 shell 的功能或在命令之间保持一致的环境。
- 超时后,
execute_command
返回初始输出 - 命令在后台继续
- 使用
read_output
和 PID 来获取新的输出 - 如果需要,使用
force_terminate
停止
调试
如果需要调试服务器,可以以调试模式安装:
这将:
- 配置 Claude 使用单独的“desktop-commander”服务器
- 使用
--inspect-brk=9229
标志启用 Node.js 检查器协议 - 在开始时暂停执行,直到调试器连接
- 启用额外的调试环境变量
连接调试器:
- 在 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 会收集有限的匿名遥测数据,以帮助改进该工具。它不会收集任何个人信息、文件内容、文件路径或命令参数。
遥测功能默认启用。要选择退出,请执行以下操作:
- 打开聊天并简单询问: “禁用遥测”
- 聊天机器人将自动更新您的设置。
有关数据收集的完整详细信息,请参阅我们的隐私政策。
执照
麻省理工学院
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
允许 Claude 桌面应用程序通过 MCP 执行终端命令并编辑计算机上的文件,其功能包括命令执行、进程管理和基于差异的文件编辑。
- 使用 AI 搜索、更新、管理文件并运行终端命令
- 目录
- 特征
- 安装
- 用法
- 模糊搜索日志分析(npm脚本)
- 模糊搜索日志
- 审计日志
- 处理长时间运行的命令
- 配置管理
- 使用不同的 Shell
- 调试
- 模型上下文协议集成
- 完毕
- 正在进行的工作/待办事项/路线图
- ❤️ 支持桌面指挥官
- 网站
- 媒体
- 评价
- 常见问题
- 数据收集与隐私
- 执照
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA 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 -1912,2683MIT License
- AsecurityFlicenseAqualityA 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 -3677TypeScript
- AsecurityFlicenseAqualityA specialized MCP server for Claude Desktop that allows executing terminal commands for malware analysis with support for common analysis tools like file, strings, hexdump, objdump, and xxd.Last updated -73JavaScript
- -securityFlicense-qualityIntegration project for Model Context Protocol (MCP) servers with Claude Desktop App, enabling filesystem operations, development support, and file management through natural language.Last updated -TypeScript