MCP控制
使用 nut.js 和模型上下文协议(MCP)构建的 Windows 控制服务器,提供对 Windows 系统操作的程序化控制,包括鼠标、键盘、窗口管理和屏幕捕获功能。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"MCPControl": {
"args": [
"--no-cache",
"-y",
"mcp-control"
],
"command": "npx"
}
}
}
服务介绍
MCPControl
Windows 控制服务器,用于 Model Context Protocol,提供对系统操作的编程控制,包括鼠标、键盘、窗口管理和屏幕捕获功能。
几个月前,我开发了这个项目作为一个实验,想看看 Claude 是否能玩一些视频游戏。看到它工作后,我感到印象深刻,但随后将其搁置。最近,该项目引起了社区的关注,促使我重新开始开发。虽然目前处于预发布状态,但我正在积极努力使其稳定。如果您遇到任何问题,请通过问题跟踪器提交。
注意:此项目目前仅支持 Windows。
⚠️ 重要免责声明
此软件是实验性的,可能存在危险
通过使用此软件,您承认并接受以下几点:
- 通过此工具让 AI 模型直接控制您的计算机本质上是有风险的
- 此软件可以控制您的鼠标、键盘和其他系统功能,这可能会导致意外后果
- 您完全自行承担使用此软件的风险
- 本项目的创建者和贡献者不对此软件造成的任何损害、数据丢失或其他后果承担责任
- 该工具仅应在有适当安全措施的受控环境中使用
使用风险自负
功能
-
窗口管理
- 列出所有窗口
- 获取活动窗口信息
- 获取窗口标题
- 获取窗口大小和位置
- 聚焦窗口
- 调整窗口大小
- 重新定位窗口
-
鼠标控制
- 鼠标移动
- 点击操作
- 滚动功能
- 拖动操作
- 光标位置跟踪
-
键盘控制
- 文本输入
- 键组合
- 按键/释放操作
- 按住键功能
-
屏幕操作
- 屏幕捕获
- 获取屏幕尺寸
- 检测活动窗口
-
剪贴板集成
- 获取剪贴板内容
- 设置剪贴板内容
- 清除剪贴板
- 检查剪贴板状态
使用方法
只需配置您的 Claude MCP 设置以使用 MCPControl,如 MCP 服务器配置 部分所示。无需安装!
从源代码构建
如果您有兴趣贡献或从源代码构建,请参阅 CONTRIBUTING.md 以获取详细说明。
开发要求
为了构建此项目进行开发,您需要:
- Windows 操作系统(keysender 依赖项需要)
- Node.js 18 或更高版本(使用官方 Windows 安装程序安装,其中包括构建工具)
- npm 包管理器
- 原生构建工具:
- node-gyp:
npm install -g node-gyp - cmake-js:
npm install -g cmake-js
- node-gyp:
keysender 依赖项依赖于特定于 Windows 的原生模块,这些模块需要这些构建工具。
MCP 服务器配置
要使用此项目,您需要必要的构建工具:
- 使用官方的 Windows 安装程序安装 Node.js,该安装程序包含了必要的构建工具
- 安装其他必需的工具:
npm install -g node-gyp
npm install -g cmake-js
然后,在你的 MCP 设置中添加以下配置:
{
"mcpServers": {
"MCPControl": {
"command": "npx",
"args": [
"--no-cache",
"-y",
"mcp-control"
]
}
}
}
配置完 MCP 设置后,重启客户端以在菜单中看到 MCPControl 服务。
项目结构
/src/handlers- 请求处理程序和工具管理/tools- 核心功能实现/types- TypeScript 类型定义index.ts- 主应用程序入口点
依赖项
- @modelcontextprotocol/sdk - 用于协议实现的 MCP SDK
- keysender - 仅限 Windows 的 UI 自动化库
- clipboardy - 剪贴板处理
- sharp - 图像处理
- uuid - UUID 生成
测试
该项目目前包含针对核心功能的单元测试。未来开发计划中的测试领域包括:
- 跨模块功能的集成测试
- 性能测试
- 错误处理验证
已知限制
- 当前不支持窗口最小化/恢复操作
- 多屏幕功能可能根据设置无法按预期工作
- get_screenshot 实用程序与 VS Code 扩展 Cline 不兼容。参见 GitHub issue #1865
- 某些操作可能需要提升权限,具体取决于目标应用程序
- 仅支持 Windows
贡献
请参阅 CONTRIBUTING.md
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。