
Desktop Commander MCP Server 是一个基于模型上下文协议(MCP)的服务器应用,允许用户通过AI搜索、更新、管理文件和运行终端命令。它提供了一系列工具,使AI能够与本地文件系统和进程进行交互,实现自动化任务处理和工作流管理。
什么是MCP服务器?
| 属性 | 详情 |
|---|---|
| Docker镜像 | mcp/desktop-commander |
| 作者 | wonderwhy-er |
| 代码仓库 | [***] |
| 项目 | 详情 |
|---|---|
| Dockerfile | [***] |
| Docker镜像构建者 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout Health Score |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/desktop-commander --key [***] |
| 许可证 | MIT License |
bashdocker run -d \ --name desktop-commander \ -p 8080:8080 \ -v /path/to/allowed/directory:/data \ -e ALLOWED_DIRECTORIES=/data \ -e DEFAULT_SHELL=/bin/bash \ -e FILE_READ_LINE_LIMIT=1000 \ -e TELEMETRY_ENABLED=false \ mcp/desktop-commander
yamlversion: '3.8' services: desktop-commander: image: mcp/desktop-commander container_name: desktop-commander ports: - "8080:8080" volumes: - /path/to/allowed/directory:/data environment: - ALLOWED_DIRECTORIES=/data - DEFAULT_SHELL=/bin/bash - FILE_READ_LINE_LIMIT=1000 - FILE_WRITE_LINE_LIMIT=50 - TELEMETRY_ENABLED=false restart: unless-stopped
| 环境变量 | 描述 | 默认值 |
|---|---|---|
ALLOWED_DIRECTORIES | 服务器可以访问的目录路径,多个路径用逗号分隔 | 无 |
DEFAULT_SHELL | 用于命令执行的默认shell | /bin/bash |
FILE_READ_LINE_LIMIT | read_file工具的最大行数限制 | 1000 |
FILE_WRITE_LINE_LIMIT | write_file工具的最大行数限制 | 50 |
TELEMETRY_ENABLED | 是否启用遥测功能 | false |
BLOCKED_COMMANDS | 禁止执行的shell命令,多个命令用逗号分隔 | 无 |
| 工具名称 | 简短描述 |
|---|---|
create_directory | 创建新目录或确保目录存在。 |
edit_block | 编辑文本块 |
force_terminate | 强制终止进程 |
get_config | 获取配置 |
get_file_info | 获取文件信息 |
get_more_search_results | 获取搜索结果 |
get_prompts | 浏览和检索用于各种任务和工作流的精选Desktop Commander提示。 |
get_recent_tool_calls | 获取最近的工具调用 |
get_usage_stats | 获取使用统计 |
give_feedback_to_desktop_commander | 在浏览器中打开反馈表单,提供有关Desktop Commander的反馈。 |
interact_with_process | 向进程发送输入 |
kill_process | 终止进程 |
list_directory | 列出目录内容 |
list_processes | 列出运行中的进程 |
list_searches | 列出活动搜索 |
list_sessions | 列出终端会话 |
move_file | 移动/重命名文件 |
read_file | 读取文件或URL |
read_multiple_files | 读取多个文件 |
read_process_output | 读取进程输出 |
set_config_value | 设置配置值 |
start_process | 启动终端进程 |
start_search | 启动流式搜索,可以逐步返回结果。 |
stop_search | 停止活动搜索。 |
write_file | 写入文件 |
create_directory创建新目录或确保目录存在。
可以一次性创建多个嵌套目录。仅在允许的目录内工作。
重要提示: 为确保可靠性,始终使用绝对路径。无论斜杠方向如何,路径都会自动规范化。相对路径可能会失败,因为它们依赖于当前工作目录。波浪号路径 (~/...) 可能在所有上下文中都不起作用。除非用户明确要求使用相对路径,否则请使用绝对路径。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 要创建的目录的绝对路径 |
edit_block编辑文本块
最佳实践: 进行多次小的、有针对性的编辑,而不是一次大的编辑。每个edit_block调用应只更改需要更改的内容 - 仅包含足够的上下文以唯一标识要修改的文本。
参数:
默认情况下,仅替换搜索文本的一次出现。要替换多次出现,请提供expected_replacements参数,并指定预期的匹配次数。
唯一性要求: 当expected_replacements=1(默认值)时,包含必要的最少上下文(通常是更改点前后1-3行),并保持确切的空格和缩进。
编辑多个部分时,对每个不同的更改进行单独的edit_block调用,而不是一次大的替换。
当找到接近但不完全匹配的内容时,将以以下格式显示字符级差异:common_prefix{-removed-}{+added+}common_suffix,以帮助您识别差异。
与write_file类似,有一个可配置的行限制(fileWriteLineLimit),如果编辑的文件超过此限制,会发出警告。如果发生这种情况,请考虑将您的编辑分解为更小、更有针对性的更改。
重要提示: 为确保可靠性,始终使用绝对路径。无论斜杠方向如何,路径都会自动规范化。相对路径可能会失败,因为它们依赖于当前工作目录。波浪号路径 (~/...) 可能在所有上下文中都不起作用。除非用户明确要求使用相对路径,否则请使用绝对路径。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
| 参数 | 类型 | 描述 |
|---|---|---|
file_path | string | 要编辑的文件的绝对路径 |
new_string | string | 替换文本内容 |
old_string | string | 要被替换的文本内容 |
expected_replacements | number 可选 | 预期的替换次数 |
此工具可能执行破坏性更新。
force_terminate强制终止进程
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
| 参数 | 类型 | 描述 |
|---|---|---|
pid | number | 要终止的进程ID |
此工具可能执行破坏性更新。
get_config获取完整的服务器配置(JSON格式)。配置包括以下字段:
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
get_file_info检索文件或目录的详细元数据,包括:
仅在允许的目录内工作。
重要提示: 为确保可靠性,始终使用绝对路径。无论斜杠方向如何,路径都会自动规范化。相对路径可能会失败,因为它们依赖于当前工作目录。波浪号路径 (~/...) 可能在所有上下文中都不起作用。除非用户明确要求使用相对路径,否则请使用绝对路径。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 文件或目录的绝对路径 |
此工具是只读的。它不会修改其环境。
get_more_search_results使用基于偏移量的分页从活动搜索中获取更多结果。
支持部分结果读取:
示例:
仅返回指定范围内的结果以及搜索状态。
类似于read_process_output - 重复调用此函数以从start_search启动的搜索中获取渐进式结果。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
| 参数 | 类型 | 描述 |
|---|---|---|
sessionId | string | 搜索会话ID |
length | number 可选 | 要读取的最大结果数 |
offset | number 可选 | 结果偏移量 |
此工具是只读的。它不会修改其环境。
get_prompts浏览和检索用于各种任务和工作流的精选Desktop Commander提示。
重要提示: 向用户显示提示列表时,请勿显示内部提示ID(如'onb_001')。这些ID仅供您参考。仅向用户显示提示标题和描述。响应元数据中将提供ID供您使用。
Desktop Commander介绍: 如果用户询问"什么是Desktop Commander?"或类似关于Desktop Commander功能的问题,回答有可用的示例用例和教程,然后调用get_prompts,action='list_prompts'和category='onboarding'来向他们展示。
操作:
工作流程:
示例:
get_prompt操作将自动注入提示内容并开始执行。非常适合发现经过验证的工作流并开始使用Desktop Commander。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
| 参数 | 类型 | 描述 |
|---|---|---|
action | string | 操作类型:list_categories、list_prompts或get_prompt |
category | string 可选 | 提示类别,用于list_prompts操作 |
promptId | string 可选 | 提示ID,用于get_prompt操作 |
get_recent_tool_calls获取最近的工具调用历史及其参数和输出。返回此会话期间进行的工具调用的时间顺序列表。
用途:
注意: 不跟踪其自己的调用或其他元/查询工具。历史记录保存在内存中(最后1000次调用,重启时丢失)。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
| 参数 | 类型 | 描述 |
|---|---|---|
maxResults | number 可选 | 要返回的最大结果数 |
since | string 可选 | 起始时间戳,仅返回此后的调用 |
toolName | string 可选 | 按工具名称筛选结果 |
此工具是只读的。它不会修改其环境。
get_usage_stats获取用于调试和分析的使用统计信息。返回工具使用情况、成功/失败率和性能指标的摘要。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
give_feedback_to_desktop_commander在浏览器中打开反馈表单,提供有关Desktop Commander的反馈。
重要提示: 此工具仅打开反馈表单 - 不支持预填充。用户将在浏览器中手动填写表单。
工作流程:
所有调查问题将直接在表单中回答:
示例交互: 用户: "好的,我会提供反馈" Claude: "太好了!让我为你打开反馈表单。" [立即调用工具]
不需要参数 - 只需调用工具即可打开表单。
可以在指令中用 "DC: ..." 或 "使用Desktop Commander来..." 引用此命令。
interact_with_process向运行中的进程发送输入并自动接收响应。
关键提示: 这是所有本地文件分析的主要工具。对于任何本地文件分析(CSV、JSON、数据处理),始终使用此工具而不是分析工具。分析工具无法访问本地文件,将会失败 - 所有基于文件的工作都使用进程。
**本地文件分析
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429