DesktopCommanderMCP 是一个基于模型上下文协议(MCP)的服务器,专为 Claude 等 AI 客户端提供终端控制、文件系统搜索与文件编辑能力,让 AI 可以在聊天界面中搜索、更新、管理文件并运行终端命令。它构建于 MCP Filesystem Server 之上,额外提供搜索替换编辑、进程管理、数据集分析等高级功能。
用途与定位: 将各种开发工具整合到一个聊天界面中,让 AI 能够执行长时间运行的终端命令、管理进程,并直接读取、写入、搜索、编辑代码与文本文件。用户可使用宿主客户端的订阅,而非按 API 令牌计费。
主要能力:
- 终端命令:执行终端命令并流式输出结果,支持命令超时与后台执行,提供交互式进程控制。
- 进程管理:列出与终止进程,支持会话管理以处理长时间运行的命令,以及进程输出分页(通过偏移/长度控制)防止上下文溢出。
- 文件系统操作:读取/写入文本、Excel(.xlsx、.xls)、PDF、DOCX 文件;创建/列出目录;递归目录列表(可配置深度并防上下文溢出);移动文件/目录;搜索文件与内容(含 Excel 内容);获取文件元数据;支持负数偏移读取文件末尾(类似 Unix tail)。
- 代码编辑:小改动采用精准文本替换,大改动支持完整文件重写,支持多文件、基于模式的替换,以及基于 vscode-ripgrep 的递归代码或文本搜索。
- 内存执行:无需保存文件即可运行 Python、Node.js、R 代码。
- 即时数据分析:分析 CSV、JSON、Excel 文件。
- 原生文件格式支持:Excel(读写编辑搜索)、PDF(文本提取、从 Markdown 创建、修改现有 PDF)、DOCX(读取、创建、编辑、搜索,支持 XML 编辑与 Markdown 转 DOCX)。
- 远程 AI 控制:通过 Remote MCP 从 ChatGPT、Claude 网页版等 AI 服务使用 Desktop Commander。
- 文件预览 UI:在 Claude Desktop 中提供可视化文件预览,支持渲染 Markdown、内联图片、可展开内容、内置 Markdown 编辑器,以及“在文件夹中打开”快捷访问。
- 本地工具调用历史与审计日志:工具调用与参数记录在本地,可通过 get_recent_tool_calls 查看近期调用历史(带有限输出预览),基于大小的轮转/修剪保持历史文件有界。
- 配置管理:获取/设置配置值,批量更新多个设置,无需重启服务器即可动态更改配置。
- 安全护栏(非沙箱,详见 SECURITY.md):文件操作中的符号链接穿越防护、用于防止意外执行的命令黑名单、Docker 隔离以实现完全隔离。
安装与使用方式: 支持多种安装方式:
- 在终端运行 npx @wonderwhy-er/desktop-commander@latest setup(支持 --debug 调试模式、--no-onboarding 禁用新用户引导)。
- bash 安装脚本。
- Smithery(https://smithery.ai/server/@wonderwhy-er/desktop-commander)。
- 手动编辑 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)。
- 本地克隆仓库:cd DesktopCommanderMCP && git pull && npm run setup。
- Docker 隔离运行(需 Docker Desktop,持久化工作环境)。
也支持其他 MCP 兼容客户端:Cursor(~/.cursor/mcp.json 或项目 .cursor/mcp.json)、Windsurf(~/.codeium/windsurf/mcp_config.json)、VS Code(.vscode/mcp.json 或用户设置)、Cline、Roo Code、Claude Code、Trae、Kiro、Codex(~/.codex/config.toml)、JetBrains IDE、Gemini CLI(~/.gemini/settings.json)、Augment Code、Qwen Code(.qwen/settings.json 或 ~/.qwen/settings.json)等。
远程设备:通过 npx @wonderwhy-er/desktop-commander@latest remote 启动,首次运行需浏览器认证,然后在 mcp.desktopcommander.app 连接 AI。远程设备仅在运行时接受命令,命令在用户权限下本地执行,使用安全 OAuth 认证与加密通道。
更新与卸载:选项 1、2、3、4、6 支持自动更新(重启 Claude 时自动更新);选项 5(本地检出)需手动更新(git pull && npm run setup)。卸载可运行 npx @wonderwhy-er/desktop-commander@latest remove,或手动从 claude_desktop_config.json 的 mcpServers 中移除 desktop-commander 条目。
工具示例:edit_block 工具支持模糊搜索回退、字符级差异显示({-removed-}{+added+} 格式)、通过 expected_replacements 参数替换多处匹配,以及综合日志记录。
适用场景: 适合需要 AI 直接在本地执行终端命令、管理进程、搜索和编辑代码/文本文件、分析数据的开发者与高级用户。也可用于测试、开发或需要在完全隔离环境中运行(Docker)的场景。
限制与注意事项:
- 自身定位为安全护栏而非沙箱,完整隔离需使用 Docker。
- 远程设备仅在运行时接受命令,命令在本地以用户权限执行。
- 不同安装方式的更新行为不同。
- 其他未在资料中提及的功能、收费、价格、平台或效果暂未提供。