DesktopCommanderMCP
一句话简介
一个通过模型上下文协议为 AI 助手提供本地文件操作、终端命令执行等桌面控制能力的 TypeScript 服务器。
标签
适用应用场景
- 让 Claude 等 AI 直接读写本地文件
- 通过 AI 执行终端命令管理进程
- 自动化批量处理桌面文件与脚本
- 为开发助手提供本地环境交互能力
README 中文摘要
项目概述
Desktop Commander MCP 是一个基于 Model Context Protocol(模型上下文协议)的服务器,让 AI 客户端能够搜索、更新、管理本地文件并执行终端命令。它构建于 MCP Filesystem Server 之上,提供更强的搜索和替换能力。通过它,用户可以使用 AI 主机客户端订阅额度,无需支付额外的 API token 费用。
核心特性
文件与文档处理
- 多格式文件读写:支持文本、Excel(.xlsx/.xls/.xlsm)、PDF、DOCX 文件
- PDF 工具:从 Markdown 创建 PDF、读取文本、按页编辑
- DOCX 工具:通过底层 XML 实现精准编辑,并支持 Markdown 转 DOCX
- Excel 工具:原生读写、单元格级别更新、内容搜索
- URL 抓取:
read_file支持设置isUrl: true从网络读取文本或图片资源,默认 30 秒超时
终端与进程
- 启动进程并智能判断何时进入可交互状态
- 向运行中的进程发送命令并读取响应
- 列出活动会话、终止进程、流式读取输出
- 支持命令超时与后台执行,输出分页防上下文溢出
编辑能力
edit_block工具支持精准文本替换;匹配失败时启用模糊搜索回退- 字符级 diff 提示(
{-removed-}{+added+}) - 支持
expected_replacements参数批量替换多处 - 基于 vscode-ripgrep 的递归搜索
文件预览界面
Claude Desktop 内嵌可视化面板:Markdown 渲染、内置编辑器、图片内联显示、目录树浏览、PDF/Excel/DOCX 原生展示、代码高亮、HTML 渲染等。Markdown 文件可在全屏模式下直接编辑并保存到磁盘。
配置与安全
get_config/set_config_value动态读写配置(blockedCommands、defaultShell、allowedDirectories、fileReadLineLimit、fileWriteLineLimit、telemetryEnabled)- 符号链接遍历防护、命令黑名单、审计日志自动按 10MB 轮转
- Docker 安装选项提供完全沙箱隔离
安装方式
Claude Desktop 安装(推荐)
最简方式是通过 npx 自动安装并支持自动更新:
npx @wonderwhy-er/desktop-commander@latest setup
其他选项包括:macOS bash 一键脚本、Smithery 平台、手动编辑 claude_desktop_config.json、本地 git 检出、Docker 容器。
手动 JSON 配置示例:
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": ["-y", "@wonderwhy-er/desktop-commander@latest"]
}
}
}
配置文件路径:
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json
其他客户端
支持 Cursor、Windsurf、VS Code + Copilot、Cline、Roo Code、Claude Code、JetBrains、Gemini CLI、Codex、Qwen Code、Trae、Kiro、Augment Code 等。所有客户端使用同样的标准 JSON 配置;Claude Code 用 claude mcp add 命令注册;Codex 使用 TOML 配置。
Docker 高级用法
挂载自定义目录的示例:
{
"args": [
"run", "-i", "--rm",
"-v", "/Users/username/Projects:/mnt/Projects",
"-v", "/Users/username/Downloads:/mnt/Downloads",
"mcp/desktop-commander:latest"
]
}
支持 --status 查看状态、--reset 重置所有持久化数据。
更新与卸载
选项 1、2、3、4、6 重启 Claude 后自动更新;选项 5(本地 git 检出)需手动 git pull && npm run setup。
卸载命令:
npx @wonderwhy-er/desktop-commander@latest remove
卸载器会自动备份 Claude 配置、移除 MCP 入口,遇到错误时从备份恢复。
主要工具一览
| 类别 | 工具 | 用途 |
|---|---|---|
| 配置 | get_config / set_config_value |
读写运行时配置 |
| 终端 | start_process / interact_with_process / read_process_output / force_terminate / list_sessions / list_processes / kill_process |
启动、与进程交互、列出与终止 |
| 文件系统 | read_file / read_multiple_files / write_file / write_pdf / create_directory / list_directory / move_file / start_search / get_more_search_results / stop_search / list_searches / get_file_info |
全面文件操作与搜索 |
| 编辑 | edit_block |
精准文本或单元格替换 |
| 分析 | get_usage_stats / get_recent_tool_calls / give_feedback_to_desktop_commander |
调试、统计、反馈 |
edit_block 使用格式
filepath.ext
<<<<<<< SEARCH
待替换内容
=======
新内容
>>>>>>> REPLACE
典型场景示例
- 数据分析:让 AI 直接用内存中的 Python 分析 CSV/JSON/Excel
- 远程运维:建立 SSH 会话、查询磁盘空间、维护数据库连接
- 开发测试:启动 Node.js 进程、交互式运行 API 调用
- 代码探索:递归搜索代码库、批量重构文件
摘要更新于 2026-07-15 00:33:11
· 原文 50112 字符
· md5 15db72bd35ea…