项目简介

这是一个基于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客户端的集成方式和提示词设计。

信息

分类

桌面与硬件