Total PC Control

Total PC Control

一个使用 nut.js 提供屏幕、鼠标和键盘控制的 MCP 服务器。

jasondsmith72

操作系统自动化
访问服务器

README

Total PC Control

一个 MCP (模型上下文协议) 服务器,它使用 nut.js 提供对您的屏幕、鼠标和键盘的控制。

⚠️ 警告:谨慎使用

此软件能够以编程方式控制您的鼠标、键盘和其他系统操作。 通过使用此软件,您承认并接受以下内容:

  • 通过此工具让 AI 模型直接控制您的计算机可能会导致意想不到的后果
  • 该软件可以控制您的鼠标、键盘和其他系统功能
  • 您完全自行承担使用此软件的风险
  • 本项目的创建者和贡献者对因使用此软件而可能造成的任何损害、数据丢失或其他后果不承担任何责任

功能

  • 📷 屏幕截图: 捕获整个屏幕或特定区域的屏幕截图
  • 🖱️ 鼠标控制: 移动鼠标光标、单击、双击和滚动
  • ⌨️ 键盘输入: 输入文本并按下键盘快捷键
  • 🪟 窗口管理: 查找、聚焦和操作应用程序窗口
  • 📋 剪贴板访问: 复制和粘贴文本

前提条件

  • Node.js 16 或更高版本
  • npm 或 yarn
  • cmake-js(用于构建原生依赖项)

安装

  1. 克隆存储库:
git clone https://github.com/jasondsmith72/total-pc-control.git
cd total-pc-control
  1. 全局安装 cmake-js(构建原生依赖项需要):
npm install -g cmake-js
  1. 安装 libnut 核心库(nut.js 需要):
git clone https://github.com/nut-tree/libnut.git libnut-core
cd libnut-core
npm install
cmake-js rebuild
cd ..
  1. 安装依赖项并构建项目:
npm install
npm run build

与 Claude for Desktop 一起使用

  1. 编辑您的 Claude for Desktop 配置文件:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. 将以下内容添加到您的配置中:
{
  "mcpServers": {
    "total-pc-control": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/total-pc-control/build/index.js"
      ]
    }
  }
}

/ABSOLUTE/PATH/TO/ 替换为您克隆存储库的实际路径。

  1. 重新启动 Claude for Desktop

  2. 在 Claude 界面中查找锤子图标,以指示可用的工具。

可用工具

屏幕截图

  • capture_screen: 捕获整个屏幕作为图像
  • capture_region: 捕获屏幕的特定区域

鼠标控制

  • move_mouse: 将鼠标光标移动到特定位置
  • click_mouse: 在当前位置或指定坐标处单击鼠标
  • double_click: 在当前位置或指定坐标处双击
  • right_click: 在当前位置或指定坐标处右键单击
  • scroll_mouse: 向上或向下滚动鼠标滚轮

键盘输入

  • type_text: 在当前光标位置输入文本
  • press_key: 按下特定的键盘键或组合键
  • hold_key: 按住一个键
  • release_key: 释放按住的键

窗口管理

  • find_window: 按标题或应用程序名称查找窗口
  • focus_window: 将窗口置于前台
  • get_active_window: 获取有关当前活动窗口的信息

剪贴板操作

  • copy_to_clipboard: 将文本复制到剪贴板
  • paste_from_clipboard: 从剪贴板获取文本

开发

要在开发模式下运行服务器:

npm run dev

要运行测试:

npm test

许可证

本项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
Beamlit MCP Server

Beamlit MCP Server

一个 MCP 服务器实现,它支持 Beamlit CLI 和 AI 模型之间的无缝集成,并使用模型上下文协议标准。

官方
TypeScript
ThingsPanel MCP

ThingsPanel MCP

一个集成服务器,将人工智能模型与 ThingsPanel 物联网平台连接起来,使人工智能助手能够通过自然语言与物联网设备交互,以进行设备控制、数据检索和管理操作。

官方
Python
systemd-coredump MCP Server

systemd-coredump MCP Server

启用支持 MCP 的应用程序,通过与 systemd-coredump 功能集成,来访问、管理和分析系统核心转储。

本地
JavaScript
Terminal Controller for MCP

Terminal Controller for MCP

一个 MCP 服务器,它通过一个标准化的接口,使 LLM 能够安全地执行终端命令、进行目录导航和进行文件系统操作。

本地
Python
mac-apps-launcher

mac-apps-launcher

一个 MCP 服务器,用于在 MacOS 上列出和启动应用程序。 (Yī gè MCP fúwùqì, yòng yú zài MacOS shàng lièchū hé qǐdòng yìngyòng chéngxù.)

本地
JavaScript
applescript-mcp

applescript-mcp

使LLM应用程序能够通过AppleScript与macOS交互。

本地
TypeScript
Google Tasks MCP Server

Google Tasks MCP Server

与 Google Tasks 集成,以允许列出、读取、搜索、创建、更新和删除任务。

本地
TypeScript
MCP 3D Printer Server

MCP 3D Printer Server

通过 MCP 服务器实现与 3D 打印机管理系统的交互,支持 STL 文件操作、切片以及对 OctoPrint、Klipper、Duet 等打印机的控制。

本地
TypeScript