关于 Total PC Control
Total PC Control 是通过 nut.js 控制屏幕、鼠标和键盘的 MCP 服务,适用于执行桌面自动化的 MCP 客户端。它还提供仅限 Windows 的 UI Automation 工具。
主要功能
- 01捕获全屏或指定区域
- 02移动、点击、滚动和拖动鼠标
- 03输入文本并按下组合键
- 04检查和操作应用窗口
- 05读取和写入剪贴板内容
适用场景
- 01捕获屏幕或指定区域
- 02自动执行鼠标和键盘输入
- 03通过剪贴板复制或粘贴文本
- 04检查并操作 Windows UI 元素
MCP 相关
向 MCP 客户端提供屏幕捕获、鼠标、键盘、剪贴板、窗口及 Windows UI Automation 工具。README 提醒,直接控制计算机可能导致意外操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Total PC Control
一个 MCP(Model Context Protocol)服务,使用 nut.js 控制屏幕、鼠标和键盘。
⚠️ 警告:请谨慎使用
本软件支持以编程方式控制鼠标、键盘和其他系统操作。使用本软件即表示你知悉并接受以下事项:
- 通过此工具让 AI 模型直接控制你的计算机可能导致意外后果
- 本软件可以控制鼠标、键盘和其他系统功能
- 你完全自行承担使用本软件的风险
- 本项目的创建者和贡献者对使用本软件可能造成的任何损害、数据丢失或其他后果概不负责
功能
- 📷 屏幕捕获:截取整个屏幕或特定区域
- 🖱️ 鼠标控制:移动鼠标光标、单击、双击和滚动
- ⌨️ 键盘输入:输入文本并按下键盘快捷键
- 🪟 窗口管理:查找、聚焦和操作应用程序窗口
- 📋 剪贴板访问:复制和粘贴文本
先决条件
- Node.js 16 或更高版本
- npm 或 yarn
- cmake-js(用于构建原生依赖项)
安装
- 克隆代码库:
git clone https://github.com/jasondsmith72/total-pc-control.git
cd total-pc-control
- 全局安装 cmake-js(构建原生依赖项所需):
npm install -g cmake-js
- 安装 libnut 核心库(nut.js 所需):
git clone https://github.com/nut-tree/libnut.git libnut-core
cd libnut-core
npm install
cmake-js rebuild
cd ..
- 安装依赖项并构建项目:
npm install
npm run build
与 Claude for Desktop 搭配使用
- 编辑 Claude for Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- 将以下内容添加到配置中:
{
"mcpServers": {
"total-pc-control": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/total-pc-control/build/index.js"
]
}
}
}
将 /ABSOLUTE/PATH/TO/ 替换为克隆代码库的实际路径。
-
重启 Claude for Desktop
-
在 Claude 界面中查找锤子图标,确认可用工具。
可用工具
屏幕捕获
capture_screen:将整个屏幕捕获为图像。支持format(png/jpeg)和quality(仅 jpeg)参数。capture_region:捕获屏幕的特定区域。需要left、top、width、height。支持format和quality。get_screen_size:获取屏幕的尺寸(宽度和高度)。
鼠标控制
move_mouse:将鼠标光标移动到指定的x、y位置。get_mouse_position:获取鼠标光标当前的x、y位置。click_mouse:在当前位置单击鼠标。可选参数button(left、middle、right)。click_at:在指定的x、y位置单击鼠标。可选参数button。double_click:在当前位置双击鼠标。double_click_at:在指定的x、y位置双击鼠标。scroll_mouse:滚动鼠标滚轮。需要direction(up/down)。可选参数amount。drag_mouse:将鼠标从当前位置拖动到目标x、y位置。drag_mouse_from_to:将鼠标从startX、startY位置拖动到endX、endY位置。
键盘输入
type_text:在当前光标位置输入文本。需要text。type_text_with_delay:以按键间隔延迟的方式输入文本。需要text。可选参数delayMs。press_key:按下指定的键盘按键。需要key。press_key_shortcut:按下键盘快捷键(组合按键)。需要keys数组。hold_key:按住键盘按键。需要key。release_key:释放按住的键盘按键。需要key。
剪贴板操作
get_clipboard_text:获取剪贴板中的文本。set_clipboard_text:将文本设置到剪贴板中。需要提供text。copy_selected_text:将所选文本复制到剪贴板并返回(使用 Ctrl+C/Cmd+C)。paste_text:在当前光标位置粘贴文本(使用 Ctrl+V/Cmd+V)。需要提供text。get_clipboard_image:以 Base64 数据的形式获取剪贴板中的图像(如果有)。
UI 自动化工具(仅限 Windows)
这些工具通过 PowerShell 使用 Windows UI Automation 与 UI 元素交互。
get_ui_element_info:在指定窗口中查找 UI 元素,并返回其属性(Name、AutomationId、ClassName、ControlType、BoundingRectangle、IsEnabled、IsOffscreen、Value、Children)。- 需要提供
windowTitle(可以是部分匹配)。 - 要查找特定元素,至少需要提供
elementName、automationId或className之一。 - 如果未提供元素标识符,则列出窗口的直接子元素。
- 需要提供
invoke_ui_element_action:对指定的 UI 元素执行操作。- 需要提供
windowTitle。 - 需要提供
action(Click、SetValue或Focus)。 - 至少需要提供
elementName、automationId或className之一。 - 如果
action为SetValue,则需要提供valueToSet(字符串)。
- 需要提供
开发
在开发模式下运行服务:
npm run dev
运行测试:
npm test
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。