← 返回目录
D

Desktop Commander

社区
通过AI搜索、更新、管理文件和运行终端命令
GitHub 源仓库 ↗
★ 9.4k Stars 分类 · 开发工具 非常热门 源版本 9bd8422dd676
54FMRS · D
可靠性
7/20
安全与权限
6/20
维护活跃度
12/20
文档质量
15/20
安装易用性
14/20

Desktop Commander是一个功能强大的MCP服务器,提供终端控制、文件管理和进程管理。它广泛支持多种客户端,并包含丰富的文件格式支持(Excel、PDF、DOCX)。然而,用户必须注意安全限制,并按照建议使用Docker隔离以获得更强安全性。

查看 FMRS 评分方法 →

Desktop Commander 是一个MCP服务器,为Claude等AI提供终端控制、文件系统搜索和差异文件编辑能力。它基于MCP文件系统服务器构建,支持远程AI控制、文件预览UI、增强的终端交互、内存中代码执行(Python/Node.js/R)、原生Excel/PDF/DOCX支持、进程管理、审计日志和安全防护(如符号链接防护、命令黑名单、Docker隔离)。

工具能力

get_config
获取服务器完整配置,包括blockedCommands、defaultShell、allowedDirectories、fileReadLineLimit、fileWriteLineLimit、telemetryEnabled。
set_config_value
按键设置特定配置值,如blockedCommands、defaultShell、allowedDirectories、fileReadLineLimit、fileWriteLineLimit、telemetryEnabled。
start_process
启动程序,并智能检测其何时准备好接收输入。
interact_with_process
向正在运行的程序发送命令并获取响应。
read_process_output
读取运行中进程的输出。
force_terminate
强制终止运行中的终端会话。
list_sessions
列出所有活动终端会话。
list_processes
列出所有运行中的进程及其详细信息。
kill_process
按PID终止运行中的进程。
read_file
从本地文件系统、URL、Excel文件(.xlsx, .xls, .xlsm)和PDF读取内容,支持基于行/页的分页。
read_multiple_files
同时读取多个文件。
write_file
写入文件内容,支持重写或追加模式。支持Excel文件(JSON 2D数组格式)。对于PDF,请使用write_pdf。
write_pdf
从Markdown创建新PDF或修改现有PDF(插入/删除页面)。支持HTML/CSS样式和SVG图形。
create_directory
创建新目录或确保其存在。
list_directory
获取文件和目录的详细递归列表(支持深度参数,默认深度=2)。
move_file
移动或重命名文件和目录。
start_search
开始按名称或内容模式进行流式搜索(搜索文本文件和Excel内容)。
get_more_search_results
从活动搜索中获取分页结果,支持偏移量。
stop_search
优雅地停止活动搜索。
list_searches
列出所有活动搜索会话。
get_file_info
获取文件或目录的详细元数据(包括Excel文件的表单信息)。
edit_block
对文本文件应用目标文本替换,或对Excel文件进行基于范围的单元格更新。
get_usage_stats
获取使用统计信息以供自己洞察。
get_recent_tool_calls
获取最近的工具调用历史,包括参数和输出,用于调试和上下文恢复。
give_feedback_to_desktop_commander
在浏览器中打开反馈表单,向Desktop Commander团队提供反馈。

安装接入

  1. 确保已安装Node.js。2. 运行 npx @wonderwhy-er/desktop-commander@latest setup(或使用其他安装方式,如Smithery、手动配置、Docker)。3. 重启Claude Desktop。
claude_desktop_config.json
{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest"
      ]
    }
  }
}

选型与风险

适合谁

  • 希望让AI助手直接控制终端和文件系统的开发者。
  • 需要在Claude Desktop等MCP客户端中增强代码编辑、自动化任务和代码库探索能力的用户。
  • 需要处理Excel、PDF、DOCX等复杂文件格式的场景。

不适合谁

  • 需要完全沙箱环境的用户(除非使用Docker安装)。
  • 对安全敏感的场所,因为终端命令可以绕过目录限制。
  • 不需要终端控制,只需基本文件操作的用户。

所需权限

  • 文件系统读写权限,包括访问allowedDirectories目录之外的终端命令。
  • 执行任意终端命令的能力(受blockedCommands限制)。
  • 管理进程(启动、交互、终止)。
  • 访问网络以获取URL内容(read_file)。

风险与副作用

  • 终端命令可以访问allowedDirectories之外的文件,存在安全风险。
  • 命令黑名单可能被符号链接、命令替换或绝对路径绕过。
  • 建议在单独的聊天窗口中进行配置更改,以避免Claude意外修改配置。
  • 如果不想使用Docker隔离,可能对主机系统造成风险。

常见排障

  1. 如果Claude无法启动,请检查claude_desktop_config.json中的JSON语法。
  2. 如果命令超时,请使用后台执行或读取输出功能。
  3. 如果搜索失败,检查搜索模式是否正确,或使用模糊搜索日志分析。
  4. 如果调试时Claude超时,确保调试器已正确连接。

使用场景

数据分析:让Claude在内存中运行Python代码分析CSV/Excel文件。
远程访问:通过SSH连接服务器并检查磁盘空间。
开发:启动Node.js并测试API,或运行交互式Node会话。
代码库探索:递归搜索文件和内容,理解复杂代码库。
文件操作:读取、写入、编辑Excel、PDF、DOCX文件。

支持客户端

Claude Desktop完整支持
Cursor完整支持
Windsurf完整支持
VS Code / GitHub Copilot完整支持
Cline完整支持
Roo Code完整支持
Claude Code完整支持
Trae完整支持
Kiro完整支持
Codex (OpenAI)完整支持
JetBrains (AI Assistant)完整支持
Gemini CLI完整支持
Augment Code完整支持
Qwen Code完整支持