Windows控制服务器

MCPControl是一个Windows控制服务器,提供对鼠标、键盘、窗口管理和屏幕捕获等系统操作的编程控制,适用于AI模型与桌面的交互。

  • by claude-did-this
  • TypeScript
  • 本地部署
  • 331 星标
  • 更新于
在 GitHub 查看 Cheffromspace/MCPControl

使用说明

MCP控制

Windows控制服务器 模型上下文协议,提供对系统操作的编程控制,包括鼠标、键盘、窗口管理和屏幕捕获功能。

备注:此项目目前仅支持Windows。

🔥 为什么选择MCPControl?

MCPControl弥合了AI模型和桌面之间的差距,实现了对以下内容的安全、程序化控制:

  • 🖱️ 鼠标移动和点击
  • ⌨️ 键盘输入和快捷键
  • 🪟 窗口管理
  • 📸 屏幕截图和分析
  • 📋 剪贴板操作

🔌 快速开始

先决条件

  1. 安装构建工具(包括VC++工作负载)

    # Run as Administrator - may take a few minutes to complete
    winget install Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
    
  2. 安装Python (如果尚未安装)

    # Install Python (required for node-gyp)
    winget install Python.Python.3.12
    
  3. 安装Node.js

    # Install latest LTS version
    winget install OpenJS.NodeJS
    

安装

  1. 安装MCPControl软件包
    npm install -g mcp-control
    

配置

MCPControl在 1280x720分辨率的虚拟机 以获得最佳的点击精度。

配置您的Claude客户端以通过SSE传输连接到MCPControl:

选项1:直接SSE连接

要连接到VM或远程计算机上运行的MCPControl服务器:

{
  "mcpServers": {
    "MCPControl": {
      "transport": "sse",
      "url": "http://192.168.1.100:3232/mcp"
    }
  }
}

替换 192.168.1.100:3232 使用服务器的IP地址和端口。

选项2:与苏格兰和南方能源公司在当地启动

要使用SSE传输在本地启动MCPControl:

{
  "mcpServers": {
    "MCPControl": {
      "command": "mcp-control",
      "args": ["--sse"]
    }
  }
}

启动服务器

首先,在VM或本地计算机上启动MCPControl服务器:

mcp-control --sse

服务器将显示:

  • 可用网络接口及其IP地址
  • 端口号(默认值:3232)
  • 连接状态消息

VM设置示例

  1. 启动Windows虚拟机 分辨率为1280x720
  2. 安装MCPControl 在VM上:
    npm install -g mcp-control
    
  3. 运行服务器 使用SSE运输:
    mcp-control --sse
    
  4. 记下VM的IP地址 (例如。, 192.168.1.100)
  5. 配置Claude 使用SSE URL:
    {
      "mcpServers": {
        "MCPControl": {
          "transport": "sse",
          "url": "http://192.168.1.100:3232/mcp"
        }
      }
    }
    
  6. 重新启动克劳德 MCPControl将出现在您的MCP菜单中!

🔧 CLI选项

MCPControl支持多种用于高级配置的命令行标志:

# Run with SSE transport on default port (3232)
mcp-control --sse

# Run with SSE on custom port
mcp-control --sse --port 3000

# Run with HTTPS/TLS (required for production deployments)
mcp-control --sse --https --cert /path/to/cert.pem --key /path/to/key.pem

# Run with HTTPS on custom port
mcp-control --sse --https --port 8443 --cert /path/to/cert.pem --key /path/to/key.pem

命令行参数

  • --sse -为网络访问启用SSE(服务器发送事件)传输
  • --port [number] -指定自定义端口(默认值:3232)
  • --https -启用HTTPS/TLS(根据MCP规范,远程部署需要)
  • --cert [path] -TLS证书文件的路径(需要--https)
  • --key [path] -TLS私钥文件的路径(需要--https)

安全说明

根据MCP规范,HTTPS是 强制性的 适用于生产环境中所有基于HTTP的传输。部署MCPControl进行远程访问时,请始终使用 --https 带有有效TLS证书的标志。

🚀 常用用例

辅助自动化

  • 应用程序测试:将重复的UI测试委托给Claude,允许AI在应用程序中导航并报告问题
  • 工作流程自动化:让克劳德代表你操作应用程序,在你专注于创造性工作的同时处理重复性任务
  • 表格填写:让Claude在您的监督下处理数据输入任务

人工智能实验

  • AI游戏:观看克劳德通过视觉反馈学习玩简单游戏
  • 视觉推理:测试克劳德浏览视觉界面和解决视觉谜题的能力
  • 人工智能协作:探索新的交互范式,让Claude可以看到你的屏幕并帮助完成复杂的任务

开发和测试

  • 跨应用集成:通常不通信的网桥应用程序
  • UI测试框架:通过可视化验证创建稳健的测试场景
  • 演示创建:自动创建产品演示

⚠️ 重要免责声明

这个软件是实验性的,有潜在的危险

使用本软件即表示您承认并接受:

  • 通过此工具让AI模型直接控制您的计算机本身就存在风险
  • 该软件可以控制您的鼠标、键盘和其他系统功能,这些功能可能会导致意想不到的后果
  • 您使用此软件的风险完全由您自行承担
  • 本项目的创建者和贡献者对使用本软件可能造成的任何损坏、数据丢失或其他后果不承担任何责任
  • 该工具只能在有适当安全措施的受控环境中使用

使用风险自负

🌟 特性

🪟 Window Management

  • List all windows
  • Get active window info
  • Focus, resize & reposition

🖱️ Mouse Control

  • Precision movement
  • Click & drag operations
  • Scrolling & position tracking

⌨️ Keyboard Control

  • Text input & key combos
  • Key press/release control
  • Hold key functionality

📸 Screen Operations

  • High-quality screenshots
  • Screen size detection
  • Active window capture

🔧 自动化供应商

MCPControl为不同用例支持多个自动化提供商:

  • 密钥提交器 (默认)-具有高可靠性的本机Windows自动化
  • PowerShell -基于Windows PowerShell的自动化,操作更简单
  • 自动热键 -AutoHotkey v2脚本,满足高级自动化需求

提供程序配置

您可以使用环境变量配置自动化提供程序:

# Use a specific provider for all operations
export AUTOMATION_PROVIDER=autohotkey

# Configure AutoHotkey executable path (if not in PATH)
export AUTOHOTKEY_PATH="C:\Program Files\AutoHotkey\v2\AutoHotkey.exe"

或者使用模块化配置进行特定操作:

# Mix and match providers for different operations
export AUTOMATION_KEYBOARD_PROVIDER=autohotkey
export AUTOMATION_MOUSE_PROVIDER=keysender
export AUTOMATION_SCREEN_PROVIDER=keysender  
export AUTOMATION_CLIPBOARD_PROVIDER=powershell

请参阅特定于提供商的文档:

🛠️ 开发设置

如果您有兴趣从源代码进行贡献或构建,请参阅 贡献.md 详细说明。

开发要求

要构建此项目进行开发,您需要:

  1. Windows操作系统(密钥提交依赖关系所需)
  2. Node.js 18或更高版本(使用包含构建工具的官方Windows安装程序安装)
  3. npm包管理器
  4. 本机构建工具:
    • 节点gyp: npm install -g node-gyp
    • cmake js: npm install -g cmake-js

keysender依赖关系依赖于需要这些构建工具的特定于Windows的本机模块。

📋 项目结构

  • /src
    • /handlers -请求处理程序和工具管理
    • /tools -核心功能实现
    • /types -TypeScript类型定义
    • index.ts -主要应用入口点

🔖 存储库分支

  • main -具有最新功能和更改的主要开发分支
  • release -反映最新稳定标签(当前v0.2.0)的稳定发布分支

版本安装

您可以使用npm安装特定版本的MCPControl:

# Install the latest stable release (from release branch)
npm install mcp-control

# Install a specific version
npm install mcp-control@0.1.22

📚 依赖项

🚧 已知限制

  • 当前不支持窗口最小化/还原操作
  • 根据设置,多个屏幕功能可能无法按预期工作
  • get_creenshot实用程序不适用于VS代码扩展Cline。看 GitHub第1865期
  • 根据目标应用程序的不同,某些操作可能需要提升权限
  • 仅支持Windows
  • MCPControl在1280x720分辨率的单屏幕上效果最佳。点击精度针对此分辨率进行了优化。我们正在解决偏移/缩放错误,并寻找测试人员或帮助创建测试工具

👥 贡献

看 贡献.md

⚖️ 许可证

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

📖 参考文献