项目简介
这是一个基于Model Context Protocol (MCP) 的服务器,旨在让大型语言模型(LLM)能够与用户的桌面环境进行交互。通过该服务器,LLM可以执行模拟鼠标操作、键盘输入以及捕获屏幕截图等任务,从而扩展LLM的应用范围到桌面自动化领域。
主要功能点
- 鼠标控制: 精确移动鼠标到指定坐标,模拟鼠标点击(左键、右键、中键,支持双击)。
- 键盘输入: 模拟按下单个按键或组合键,以及输入文本字符串。
- 屏幕信息: 获取当前屏幕的尺寸信息。
- 屏幕截图: 捕获整个屏幕的当前内容,并以标准MCP资源形式提供,可供LLM访问。
- 资源管理: 提供截图列表及截图内容本身作为可访问的资源。
安装步骤
该服务器是Node.js应用。请确保您的系统中已安装Node.js(建议版本14.x或更高)。 通过 npm 或 yarn 全局安装该包:
npm install -g mcp-desktop-automation # 或者 yarn global add mcp-desktop-automation
或者,您也可以使用 npx 直接运行,无需预先安装(详见服务器配置部分)。
服务器配置
MCP客户端需要配置如何启动这个服务器。典型的配置信息通常包含服务器名称、启动命令及其参数。对于此桌面自动化服务器,您可以在MCP客户端(例如支持MCP的LLM应用)的配置中添加如下设置:
// 这是一个JSON格式的配置示例,实际配置方式取决于您的MCP客户端 { "mcpServers": { "desktop-automation": { // 您给这个服务器起的名字,供客户端内部识别 "command": "npx", // 启动命令:使用 npx 工具 "args": ["-y", "mcp-desktop-automation"] // 传递给 npx 的参数:安装并运行 mcp-desktop-automation 包 } } }
请注意: 首次运行此服务器时,您的操作系统可能会提示需要授予屏幕录制、控制鼠标和键盘等权限,请务必允许。
重要提示: 当前服务器对响应大小有限制(约1MB)。高分辨率截图可能超过此限制导致失败。如果遇到问题,请尝试降低屏幕分辨率或仅截取屏幕部分区域。
基本使用方法
启动配置了此服务器的MCP客户端(如兼容的LLM应用)。客户端会自动与服务器建立连接并获取其能力(提供的工具和资源)。 LLM随后可以通过JSON-RPC调用服务器提供的工具(如 'mouse_move', 'keyboard_type', 'screen_capture' 等)来执行桌面操作,或访问资源(如 'screenshot://list' 获取截图列表,'screenshot://{id}' 获取具体截图内容)。具体如何提示LLM使用这些能力取决于LLM客户端的集成方式和提示词设计。
信息
分类
桌面与硬件