让AI自动化控制电脑的一切操作automation-mcp
✨ 什么是自动化 MCP?
自动化 MCP 是一个模型上下文协议(MCP)服务器,为AI模型提供完整的 macOS 桌面自动化能力。它使AI助手能够:
- 🖱️ 控制鼠标(点击、移动、滚动、拖拽)
- ⌨️ 输入键盘指令(包括系统快捷键)
- 📸 截取屏幕截图并分析内容
- 🪟 管理窗口(聚焦、移动、调整大小、最小化)
- 🎯 通过坐标与UI元素交互
- 🎨 分析屏幕颜色并高亮区域
- 🔍 等待图像出现在屏幕上
🚀 快速开始
确保已安装 furi,然后运行以下命令:
ounter(line furi add ashwwwin/automation-mcp
接着运行:
ounter(line furi start automation-mcp
即可完成!(或直接使用furi桌面应用无需命令行)。
🥲 常规安装(不使用furi)
先决条件
- Bun 运行时 – 安装命令:
curl -fsSL https://bun.sh/install | bash
1. 克隆与安装
ounter(lineounter(lineounter(line git clone https://github.com/ashwwwin/automation-mcp.git cd automation-mcp bun install
2. 启动服务器
ounter(lineounter(lineounter(lineounter(lineounter(line # 使用HTTP传输启动(推荐用于Web应用) bun run index.ts # 或使用stdio传输启动(适用于命令行工具) bun run index.ts --stdio
3. 授予权限
首次运行时,macOS会请求权限。必须授予这些权限以确保完整功能:
- 辅助功能 – 允许键盘/鼠标控制
- 屏幕录制 – 启用截图和屏幕分析
或手动在以下位置启用:系统设置 → 隐私与安全性 → 辅助功能/屏幕录制
🛠️ 可用工具
🖱️ 鼠标控制
mouseClick– 在坐标处点击左/右/中键mouseDoubleClick– 在坐标处双击mouseMove– 移动光标至指定位置mouseGetPosition– 获取当前光标位置mouseScroll– 向任意方向滚动mouseDrag– 从当前位置拖拽至目标位置mouseButtonControl– 按下/释放鼠标按钮mouseMovePath– 沿多点平滑路径移动
⌨️ 键盘输入
type– 输入文本或按键组合keyControl– 高级按键按下/释放控制systemCommand– 常用快捷键(复制、粘贴、撤销、保存等)
📸 屏幕捕获与分析
screenshot– 截取全屏、区域或特定窗口screenInfo– 获取屏幕尺寸screenHighlight– 视觉高亮屏幕区域colorAt– 获取任意像素颜色waitForImage– 等待图像出现(模板匹配)
🪟 窗口管理
getWindows– 列出所有打开窗口getActiveWindow– 获取当前活动窗口windowControl– 聚焦、移动、调整大小、最小化窗口
🔧 架构
核心组件
- FastMCP 服务器 – 处理MCP协议通信
- nut.js 集成 – 跨平台桌面自动化(自定义构建)
- 平台权限管理 – 原生权限处理(macOS/Windows/Linux)
- 屏幕工具 – 截图与分析工具
- 备用系统 – 平台特定实现(必要时)
🔒 安全与权限
平台特定权限
macOS
- 辅助功能 – 需要用于:
- 鼠标点击与移动
- 键盘输入模拟
- 窗口管理
- 屏幕录制 – 需要用于:
- 截取屏幕截图
- 屏幕分析
- 颜色检测
权限处理
服务器自动:
- 检测支持平台上缺失的权限
- 请求权限授予(macOS)
- 尽可能提供备用功能
- 显示清晰的平台特定权限说明
安全说明
- 仅限本地运行(无网络访问)
- 需要显式权限授予
- 可限制为特定应用程序
- 所有操作均被记录
🚀 集成示例
与 Claude Desktop + furi
如果已配置furi与Claude Desktop,无需额外操作。
在MCP配置中添加:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line { "mcpServers": { "furi": { "command": "furi", "args": ["connect"] } } }
与 Claude Desktop
在MCP配置中添加:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line { "mcpServers": { "automation": { "command": "bun", "args": ["run", "/path/to/automation-mcp/index.ts", "--stdio"] } } }
🐛 故障排除
常见问题
权限被拒绝错误
- 确保已授予辅助功能和屏幕录制权限
- 确保安装Xcode命令行工具:
xcode-select --install
🙋♂️ 支持
遇到问题?请查看故障排除部分或提交问题,包括:
- 操作系统及版本
- 错误信息
- 重现步骤
祝您自动化愉快!🎉 让您的AI以前所未有的方式控制计算机。
项目地址
https://github.com/ashwwwin/automation-mcp/blob/main/README.md
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)