
Desktop Commander MCP

2025.03.27
1
终端命令执行文件管理代码编辑开发效率
Desktop Commander MCP 是一个基于 Model Context Protocol (MCP) 的服务,旨在为 Claude 桌面应用提供执行终端命令和文件编辑的能力。它允许用户在本地计算机上执行长时间运行的终端命令,并提供文件系统操作和代码编辑功能。
View on GitHub
Overview
基本能力
产品定位
Desktop Commander MCP 是一个为 Claude 桌面应用设计的服务,通过 Model Context Protocol (MCP) 提供终端命令执行和文件编辑功能,旨在提升开发者的工作效率。
核心功能
- 终端命令执行:支持执行终端命令并实时输出结果,包括超时和后台执行支持。
- 进程管理:可以列出和终止系统进程。
- 文件系统操作:包括文件读写、目录创建和列表、文件移动、文件搜索和获取文件元数据。
- 代码编辑:支持基于搜索/替换的文本编辑,适用于小范围修改和大范围重写。
- 代码搜索:基于 vscode-ripgrep 的递归代码或文本搜索功能。
适用场景
- 开发者需要在 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
:获取文件元数据。code_search
:递归文本和代码搜索。
编辑工具
edit_block
:适用于小范围文本替换(小于文件大小的 20%)。write_file
:适用于大范围文件重写(大于文件大小的 20%)。
常见问题解答
- 如何处理长时间运行的命令?
execute_command
在超时后返回初始输出。- 命令在后台继续运行。
- 使用
read_output
和 PID 获取新输出。 - 使用
force_terminate
停止命令。
使用教程
使用依赖
- 确保已安装 Claude 桌面应用 和 npm。
安装教程
选项 1:通过 Smithery 安装
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:本地克隆
git clone https://github.com/wonderwhy-er/ClaudeComputerCommander.git
cd ClaudeComputerCommander
npm run setup
重启 Claude 应用。
调试方式
- 安装完成后,重启 Claude 应用以确保配置生效。
- 使用
execute_command
测试命令执行功能。 - 使用
edit_block
或write_file
测试文件编辑功能。 - 查看终端输出或日志文件以排查问题。