article
README
🚀 MCPControl 控制服务器
MCPControl 是一款专为模型上下文协议(Model Context Protocol)打造的 Windows 控制服务器。它支持通过编程方式对系统进行操作,涵盖鼠标、键盘控制,窗口管理以及屏幕捕获等实用功能。
⚠️ 重要提示
此项目目前仅支持 Windows 系统。
🚀 快速开始
快速演示(30 秒精彩展示)
想看看 MCPControl 有什么神奇之处?尝试我们的交互式演示:
# 使用一条命令运行演示
node demo.cjs
演示内容包括:
- 展示所有可用的 MCPControl 工具
- 显示屏幕尺寸
- 跟踪鼠标位置
- 获取活动窗口信息
- 选择是否截取屏幕并保存到桌面
无需运行其他命令,演示会自动管理 MCPControl 服务器!
⚠️ 重要免责声明
⚠️ 重要提示
此软件为实验性质且可能具有潜在危险。使用本软件即表示您承认并接受以下内容:
- 通过此工具让 AI 模型直接控制您的计算机存在固有风险。
- 该软件可以控制鼠标、键盘和其他系统功能,可能导致意外后果。
- 您使用此软件完全自担风险。
- 本项目及其贡献者对因使用此软件导致的任何损害、数据丢失或其他后果不承担责任。
- 此工具应在受控环境中使用,并采取适当的安全措施。
请自行承担风险。
✨ 主要特性
- 窗口管理
- 列出所有窗口
- 获取活动窗口信息
- 获取窗口标题
- 获取窗口大小和位置
- 窗口聚焦
- 窗口缩放
- 移动窗口
- 鼠标控制
- 鼠标移动
- 点击操作
- 滚动功能
- 拖拽操作
- 鼠标位置跟踪
- 键盘控制
- 输入文本
- 模拟按键
- 处理特殊键(如 Tab、Enter)
- 屏幕捕获
- 截取窗口内容
- 截取指定区域
- 获取屏幕分辨率
- 剪贴板操作
- 获取剪贴板内容
- 设置剪贴板内容
- 管理复制粘贴功能
📦 安装指南
- 安装依赖:
npm install mcp-control - 创建配置文件(如
config.json):{ "port": 3000, "debug": true, "clipboardPath": "%APPDATA%/Clipboard" } - 运行服务器:
node index.js
💻 使用示例
基础用法
const MCP = require('mcp-control');
const client = new MCP.Client('localhost', 3000);
async function main() {
await client.connect();
console.log(await client.getActiveWindow());
await client.setClipboardContent("Hello, World!");
await client.disconnect();
}
main().catch(console.error);
📚 详细文档
已知限制
- 窗口最小化/还原操作目前不被支持
- 部分屏幕功能可能因环境配置不同而无法正常工作
get_screenshot工具与 VS Code 扩展 Cline 不兼容。详见 GitHub 问题 #1865- 某些操作可能需要 elevated 权限,具体取决于目标应用程序
- 目前仅支持 Windows 系统
- 使用 Ctrl 键组合(如 Ctrl+C、Ctrl+V)可能导致服务器崩溃,原因是 stdio 处理问题。此问题将在即将发布的版本中通过 MCP 规范的新流式 HTTP 传输协议解决。详见 GitHub 问题 #120
贡献指南
请参阅 CONTRIBUTING.md
📄 许可证
本项目 licensed under MIT License,具体详见 LICENSE 文件。
扫码加入微信群