项目简介
MCPControl是一个专为Windows操作系统设计的Model Context Protocol (MCP) 服务器实现。它允许遵循MCP标准的AI客户端(如某些大型语言模型客户端)以安全、编程化的方式与用户的桌面环境进行交互。通过暴露一系列自动化能力作为MCP工具,MCPControl使得AI可以直接执行桌面操作,例如控制鼠标、模拟键盘输入、管理应用程序窗口、捕获屏幕内容以及操作剪贴板。这为构建AI驱动的桌面自动化、辅助操作或实验性人机协作提供了基础框架。
主要功能点
- 鼠标控制: 精确移动、点击(左键、右键、中键)、双击、拖拽以及获取当前鼠标位置。
- 键盘控制: 模拟文本输入、按压单个按键、组合按键(快捷键)以及按键的按住/释放操作。
- 窗口管理: 获取当前活动窗口信息、根据标题聚焦特定窗口、调整窗口大小和位置。
- 屏幕截图: 捕获全屏或指定区域的屏幕截图,支持不同格式和优化选项。
- 剪贴板操作: 读取、设置、清空剪贴板文本内容以及检查剪贴板是否有文本。
- 灵活后端: 支持多种自动化实现后端(如keysender, AutoHotkey等),提供配置灵活性。
安装步骤
注意: MCPControl目前仅支持Windows操作系统。部分功能依赖于特定的Windows API或第三方工具,且某些自动化后端(如keysender)需要Windows上的原生编译环境。建议在测试环境中运行此服务器,尤其是在虚拟机中,以降低潜在风险。
- 安装Node.js: MCPControl是基于Node.js构建的。请确保您已安装Node.js的最新LTS版本。推荐使用winget安装:
# 在PowerShell或CMD中运行 winget install OpenJS.NodeJS - 安装构建工具: 如果您使用keysender作为自动化后端(默认选项),它依赖于原生模块,需要Microsoft C++ Build Tools。推荐使用winget安装Visual Studio Build Tools:
如果您遇到安装问题,或者更倾向于手动安装,可以参考Visual Studio官网获取Visual Studio Build Tools。# **以管理员身份运行** PowerShell 或 CMD winget install Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended" - 安装Python: 部分Node.js原生模块的构建工具 (node-gyp) 可能依赖Python。推荐使用winget安装Python:
安装时请确保勾选 "Add Python to PATH" 选项。winget install Python.Python.3.12 - 全局安装MCPControl: 使用npm全局安装MCPControl包:
npm install -g mcp-control
服务器配置 (供MCP客户端参考)
MCP客户端需要通过配置信息来发现和连接MCP服务器。以下是MCP客户端连接到MCPControl服务器的标准配置示例(JSON格式),您需要根据实际情况调整:
{ // ... 其他客户端配置 ... "mcpServers": { "MCPControl": { // 您可以为这个服务器连接取一个任意名称 "transport": "sse", // 指定使用Server-Sent Events (SSE) 传输协议 "url": "http://192.168.1.100:3232/mcp", // 服务器的地址和端口。请替换为实际运行MCPControl的机器IP和端口。 // 或者,如果客户端可以在本地启动服务器进程: // "command": "mcp-control", // 用于启动MCPControl服务器进程的命令 // "args": ["--sse"] // 传递给MCPControl命令的参数,--sse启用SSE模式 } } }
参数注释:
- 'mcpServers': 这是MCP客户端配置中用于定义MCP服务器连接的顶级键。
- 'MCPControl': 客户端为此连接分配的内部名称。您可以使用任何描述性名称。
- 'transport': 指定客户端与服务器通信使用的传输协议。对于网络连接,通常是'sse'。对于本地启动,可能使用'stdio'(通常是默认且不需要显式配置)。
- 'url': 如果使用网络连接(如'sse'),指定服务器的完整URL,包括协议(http或https)、IP地址或主机名、端口和路径(MCPControl默认路径是'/mcp')。
- 'command': 如果客户端支持本地启动服务器进程,指定用于执行MCPControl服务器的命令名(通常是'mcp-control',因为它是一个全局安装的npm包)。
- 'args': 传递给启动命令的命令行参数数组。'["--sse"]'告诉MCPControl服务器以SSE模式启动。您还可以添加其他参数,例如 '["--sse", "--port", "3000"]' 来指定端口,或 '["--sse", "--https", "--cert", "/path/to/cert.pem", "--key", "/path/to/key.pem"]' 来启用HTTPS(强烈推荐用于远程访问)。
基本使用方法
- 启动MCPControl服务器: 打开PowerShell或命令提示符,运行以下命令以SSE模式启动服务器(这是AI客户端通常通过网络连接的方式):
服务器启动后,会在控制台输出其监听的IP地址、端口号(默认为3232)以及状态信息。记下显示的URL(例如 'http://192.168.1.100:3232/mcp')。mcp-control --sse - 配置AI客户端: 根据上一步记下的URL,在您的MCP客户端配置中添加或修改对应的MCP服务器配置(参考上文的JSON示例)。
- 连接与交互: 重新启动您的AI客户端。客户端应该会自动发现并连接到MCPControl服务器。一旦连接成功,AI将能够通过调用MCPControl提供的工具(例如'move_mouse', 'type_text', 'get_screenshot'等)来控制您的Windows桌面。
重要安全提示: 授予AI对您计算机的桌面控制权具有固有风险。强烈建议在隔离的虚拟机环境中运行MCPControl,并仔细管理AI的权限和使用方式。
信息
分类
桌面与硬件