✨ 什么是自动化 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)