返回市场
控制中心

控制中心

作者:claude-did-this255 星标更新:2025-11-20

项目介绍

MCPControl

<p align="center"> <img src="https://github.com/user-attachments/assets/1c577e56-7b8d-49e9-aaf5-b8550cc6cfc0" alt="MCPControl Logo" width="250"> </p> <p align="center"> <a href="https://github.com/Cheffromspace/MCPControl/releases/tag/v0.2.0"> <img src="https://img.shields.io/badge/release-v0.2.0-blue.svg" alt="最新版本"> </a> </p>

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

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

🔥 为什么选择MCPControl?

MCPControl弥合了AI模型与桌面之间的差距,实现了安全、程序化的控制:

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

🔌 快速开始

先决条件

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

    # 以管理员身份运行 - 可能需要几分钟完成
    winget install Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
    
  2. 安装Python(如果尚未安装)

    # 安装Python(node-gyp所需)
    winget install Python.Python.3.12
    
  3. 安装Node.js

    # 安装最新的LTS版本
    winget install OpenJS.NodeJS
    

安装

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

配置

MCPControl在分辨率为1280x720的虚拟机中效果最佳,以优化点击精度。

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

选项1:直接SSE连接

用于连接到运行在虚拟机或远程机器上的MCPControl服务器:

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

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

选项2:本地启动并使用SSE

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

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

启动服务器

首先,在您的虚拟机或本地机器上启动MCPControl服务器:

mcp-control --sse

服务器将显示:

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

虚拟机设置示例

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

🔧 命令行选项

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

# 使用默认端口(3232)的SSE传输运行
mcp-control --sse

# 在自定义端口上使用SSE运行
mcp-control --sse --port 3000

# 使用HTTPS/TLS(生产部署所需)
mcp-control --sse --https --cert /path/to/cert.pem --key /path/to/key.pem

# 在自定义端口上使用HTTPS运行
mcp-control --sse --https --port 1443 --cert /path/to/cert.pem --key /path/to/key.pem

命令行参数

  • --sse - 启用SSE(服务器发送事件)传输以进行网络访问
  • --port [数字] - 指定自定义端口(默认:3232)
  • --https - 启用HTTPS/TLS(根据MCP规范,远程部署时必需)
  • --cert [路径] - TLS证书文件路径(与--https一起使用时必需)
  • --key [路径] - TLS私钥文件路径(与--https一起使用时必需)

安全说明

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

🚀 流行用例

辅助自动化

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

AI实验

  • AI游戏:观看Claude通过视觉反馈学习玩简单游戏
  • 视觉推理:测试Claude导航视觉界面和解决视觉谜题的能力
  • 人机协作:探索新的交互范式,其中Claude可以看到您的屏幕并帮助完成复杂任务

开发和测试

  • 跨应用集成:桥接通常不通信的应用程序
  • UI测试框架:创建具有视觉验证的强大测试场景
  • 演示创建:自动化产品演示的创建

⚠️ 重要免责声明

本软件是实验性的且可能危险

通过使用本软件,您承认并接受以下内容:

  • 通过此工具直接控制计算机的AI模型本质上是有风险的
  • 该软件可以控制您的鼠标、键盘和其他系统功能,可能会导致意外后果
  • 您完全自行承担使用本软件的风险
  • 本项目的创建者和贡献者不对因使用本软件而产生的任何损害、数据丢失或其他后果承担责任
  • 本工具应仅在有适当安全措施的受控环境中使用

自行承担风险

🌟 功能

<table> <tr> <td> <h3>🪟 窗口管理</h3> <ul> <li>列出所有窗口</li> <li>获取活动窗口信息</li> <li>聚焦、调整大小及重新定位</li> </ul> </td> <td> <h3>🖱️ 鼠标控制</h3> <ul> <li>精确移动</li> <li>点击和拖拽操作</li> <li>滚动及位置跟踪</li> </ul> </td> </tr> <tr> <td> <h3>⌨️ 键盘控制</h3> <ul> <li>文本输入及组合键</li> <li>按键按下/释放控制</li> <li>保持按键功能</li> </ul> </td> <td> <h3>📸 屏幕操作</h3> <ul> <li>高质量截图</li> <li>屏幕尺寸检测</li> <li>活动窗口捕获</li> </ul> </td> </tr> </table>

🔧 自动化提供商

MCPControl支持多种自动化提供商以适应不同的使用场景:

  • keysender(默认) - 高可靠性的原生Windows自动化
  • powershell - 基于Windows PowerShell的简化操作自动化
  • autohotkey - AutoHotkey v2脚本用于高级自动化需求

提供商配置

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

# 对所有操作使用特定提供商
export AUTOMATION_PROVIDER=autohotkey

# 配置AutoHotkey可执行文件路径(如果不在PATH中)
export AUTOHOTKEY_PATH="C:\Program Files\AutoHotkey\v2\AutoHotkey.exe"

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

# 混合匹配不同操作的提供商
export AUTOMATION_KEYBOARD_PROVIDER=autohotkey
export AUTOMATION_MOUSE_PROVIDER=keysender
export AUTOMATION_SCREEN_PROVIDER=keysender  
export AUTOMATION_CLIPBOARD_PROVIDER=powershell

查看特定提供商的文档:

🛠️ 开发设置

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

开发要求

为了开发构建此项目,您需要:

  1. Windows操作系统(keysender依赖项所需)
  2. Node.js 18或更高版本(使用包含构建工具的官方Windows安装程序安装)
  3. npm包管理器
  4. 原生构建工具:
    • node-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的具体版本:

# 安装最新的稳定版本(来自release分支)
npm install mcp-control

# 安装特定版本
npm install mcp-control@0.1.22

📚 依赖项

🚧 已知限制

  • 当前不支持窗口最小化/恢复操作
  • 多屏功能可能无法按预期工作,具体取决于设置
  • get_screenshot实用程序在VS Code扩展Cline中不起作用。请参阅GitHub问题#1865
  • 根据目标应用程序的不同,某些操作可能需要提升权限
  • 仅支持Windows
  • MCPControl在分辨率为1280x720的单屏环境下效果最佳。我们正在解决偏移/缩放错误,并寻找测试者或帮助创建测试工具

👥 贡献

请参阅CONTRIBUTING.md

⚖️ 许可证

本项目采用MIT许可证 - 详情见LICENSE文件。

📖 参考资料

MseeP.ai 安全评估徽章