引言
@wonderwhy-er/desktop-commander 是一个强大的 MCP(Model Context Protocol)服务器实现,专为与大语言模型 (LLM) 集成而设计。它通过标准化接口,使 LLM 能够执行终端命令、管理文件系统和控制进程。结合 MCP Inspector 这一交互式调试工具,开发者可以轻松测试和验证其功能。本文将详细介绍 Desktop Commander 的功能、安装步骤、测试用例帮助我们快速使用公共的服务器。
什么是 Desktop Commander?
Desktop Commander 是一个基于 Node.js 的 MCP 服务器,支持以下核心功能:
- 执行系统命令:运行操作系统命令(如启动应用程序或查询系统信息)。
- 文件系统操作:读写文件、列出目录内容等。
- 进程管理:启动、监控或终止进程。
- 跨平台支持:兼容 Windows、Linux 和 macOS(本文以 Windows 为例)。
通过 MCP Inspector,开发者可以在交互界面中测试这些功能,验证命令执行结果并调试潜在问题。Desktop Commander 特别适合需要自动化任务或与 LLM 集成的工作场景,例如 Claude Desktop 的工具调用。
安装与配置
前提条件
- Node.js:版本 18.20.8 或更高(建议从 Node.js 官网 下载)。
- Python:3.8 或更高,推荐 3.10+,需配置 Conda 环境。
- MCP Inspector:通过 npm 安装 @modelcontextprotocol/inspector。
- 操作系统:Windows 10/11(其他系统需调整命令格式)。
安装步骤
-
安装 Node.js:
-
下载并安装 Node.js(v18.20.8+)。
-
验证:
node -v npm -v
-
-
配置 Conda 环境:
-
安装 Miniconda 或 Anaconda。
-
创建并激活 Python 环境:
iniconda create -n python39 python=3.9 conda activate python39
-
-
安装 MCP Inspector 和 Desktop Commander:
bashnpm install -g @modelcontextprotocol/inspector npm install -g @wonderwhy-er/desktop-commander
通过MCP Inspector运行Desktop Commander
我们以系统管理的身份打开cmd,这注意乱码问题需要特殊处理:
我们是使用windows操作系统,设置CMD 使用 UTF-8 编码,默认windows的CMD使用的GBK,所以才会有乱码问题
bash
#通过下面的命令查看
chcp

设置成uft-8:
chcp 65001

另外由于Desktop Commander是使用python运行命令,所以也需要设置python的编码格式,必须要设置,不然无法运行。
bash
set PYTHONIOENCODING=utf-8 && npx @modelcontextprotocol/inspector npx @wonderwhy-er/desktop-commander

核心功能用例
执行系统命令
功能 :运行操作系统命令,如启动应用程序。 示例:启动 Windows 计算器。
json
{
"command": "start calc",
"timeout_ms": 5000
}
- 输出:计算器启动,返回进程 ID(PID)。
- 用途:自动化启动工具或脚本。

查找文件
功能 :搜索指定关键字的文件。 示例:查找D:\ai\mcp 文件中包含 "mcpconfig" 的文件。
用途:快速检索相关的文件。
读取文件
功能 :读取具体的文件内容。 示例:读取D:\ai\mcp\mcpconfig.json 文件的内容。


用途:获取本地文件作为内容与llm交互。
查找文件内容
功能 :搜索指定文件中的内容。 示例:查找D:\ai\mcp\mcpconfig.json 文件中包含 "desktop"的代码 。

用途:快速检索文件内容,适合日志分析或验证文件数据。
写文件
功能 :把内容写到文件中。 示例:把"hello"写到D:\ai\mcp\test.txt文件下,会自动创建此文件,然后写入。



用途:直接把llm生成的结果生成文件。
结论
@wonderwhy-er/desktop-commander 是一个功能强大的 MCP 服务器,结合 MCP Inspector 可实现系统命令执行、文件操作(包括内容查找)和进程管理。其跨平台支持和易用性使其成为 LLM 集成开发的理想工具。通过本文提供的安装步骤、测试用例和调试方法,开发者可以快速上手并解决常见问题。