mcpField
D
Desktop Automation

Desktop Automation

本地服务
github.com/tanob生产力3450 周前更新

关于 Desktop Automation

Desktop Automation 是一个基于 RobotJS 的 MCP 服务,为 LLM 提供桌面鼠标、键盘控制和屏幕截图能力。适合需要让模型操作本地桌面环境的用户,主要在 Claude Desktop 中测试。

主要功能

  1. 01鼠标移动与点击
  2. 02键盘按键与文本输入
  3. 03获取屏幕尺寸
  4. 04屏幕截图与截图资源

适用场景

  1. 01让 LLM 操作桌面应用的界面
  2. 02自动截取屏幕内容供模型分析

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 get_screen_size、screen_capture、keyboard_press、keyboard_type、mouse_click 和 mouse_move 等工具,并通过 screenshot:// 提供截图资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"desktop-automation": {
"command": "npx",
"args": [
"-y",
"mcp-desktop-automation"
]
}
}
}
启动命令npx -y mcp-desktop-automation

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-desktop-automation

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 桌面自动化

一个使用 RobotJS 提供桌面自动化和屏幕截图功能的模型上下文协议服务。此服务可让大模型控制鼠标移动、键盘输入,并截取桌面环境的屏幕截图。

配置桌面自动化服务

以下介绍如何配置 Claude Desktop 以使用 MCP 桌面自动化服务:

NPX
{
  "mcpServers": {
    "desktop-automation": {
      "command": "npx",
      "args": ["-y", "mcp-desktop-automation"]
    }
  }
}
权限

此服务需要系统级权限,以便:

  • 截取屏幕截图
  • 控制鼠标移动和点击
  • 模拟键盘输入

首次在 Claude Desktop 中运行此服务时,可能需要在操作系统的安全设置中授予这些权限。

限制

此服务可与各种 MCP 客户端配合使用,但主要使用 Claude Desktop 进行了测试。

重要:当前实现的响应大小限制为 1MB。对于屏幕截图,这意味着:

  • 高分辨率截图可能会超过此限制并导致失败
  • 测试表明,800x600 分辨率可稳定运行
  • 如果遇到问题,请考虑降低屏幕分辨率或截取特定屏幕区域

要求

  • Node.js (>=14.x)

组件

工具
  • get_screen_size

    • 获取屏幕尺寸
    • 无需输入参数
  • screen_capture

    • 截取当前屏幕内容
    • 无需输入参数
  • keyboard_press

    • 按下键盘上的某个键或组合键
    • 输入:
      • key(字符串,必填):要按下的键(例如:'enter'、'a'、'control')
      • modifiers(字符串数组,可选):按下该键时要同时按住的修饰键。可能的值:"control"、"shift"、"alt"、"command"
  • keyboard_type

    • 在当前光标位置输入文本
    • 输入:text(字符串,必填):要输入的文本
  • mouse_click

    • 执行鼠标点击
    • 输入:
      • button(字符串,可选,默认值:"left"):要点击的鼠标按键。可能的值:"left"、"right"、"middle"
      • double(布尔值,可选,默认值:false):是否执行双击
  • mouse_move

    • 将鼠标移动到指定坐标
    • 输入:
      • x(数字,必填):X 坐标
      • y(数字,必填):Y 坐标
资源

此服务提供对屏幕截图的访问:

  1. 屏幕截图列表(screenshot://list)

    • 按名称列出所有可用的屏幕截图
  2. 屏幕截图内容(screenshot://{id})

    • 已截取屏幕截图的 PNG 图像
    • 可通过屏幕截图 ID 访问(基于时间戳命名)

主要功能

  • 桌面鼠标控制
  • 键盘输入模拟
  • 屏幕尺寸检测
  • 屏幕截图功能
  • 简洁的 JSON 响应格式

许可证

此 MCP 服务采用 MIT License 许可。这意味着您可以自由使用、修改和分发此软件,但须遵守 MIT License 的条款和条件。有关详情,请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。