swift-mcp-gui 解决方案概述
swift-mcp-gui
是一款基于 Model Context Protocol (MCP) 的服务器,专为开发者设计,旨在实现 AI 模型对 macOS 系统的程序化控制。它通过 SwiftAutoGUI 提供了一系列工具,包括鼠标移动和点击、键盘输入以及滚动控制,使 AI 模型能够与 macOS 应用程序和界面进行交互。
该服务器的核心价值在于,它为 AI 模型提供了一种安全、可控的方式来自动化 macOS 上的任务,例如软件测试、数据录入或图形界面操作。开发者可以通过 MCP 客户端向 swift-mcp-gui
发送指令,从而驱动鼠标和键盘,模拟用户操作。
swift-mcp-gui
采用客户端-服务器架构,通过标准输入/输出或 HTTP/SSE 等传输机制与 MCP 客户端通信。安装简便,只需通过 Swift Package Manager 即可完成。但请注意,由于该服务器具有完全控制鼠标和键盘的权限,因此务必谨慎运行,并仅连接受信任的 MCP 客户端,以确保系统安全。
swift-mcp-gui 核心能力
鼠标控制:精准定位与点击
swift-mcp-gui 提供了通过 MCP 客户端精确控制鼠标的能力。它允许 AI 模型将鼠标光标移动到屏幕上的指定坐标 (x, y),并模拟鼠标点击,支持左键和右键。该功能通过 SwiftAutoGUI 框架实现,确保在 macOS 环境下的稳定性和准确性。AI 模型可以通过调用 moveMouse
工具来移动鼠标,并通过 mouseClick
工具来执行点击操作。
例如,一个 AI 助手可以利用此功能自动完成软件安装过程中的点击确认步骤,或者在图像编辑软件中精确选择工具栏上的图标。这种能力极大地扩展了 AI 模型与图形界面交互的范围,使其能够执行更复杂的任务。在技术实现上,该功能依赖于 macOS 的辅助功能 API,需要用户授权才能正常工作。
键盘输入:模拟按键与快捷键
该服务器允许 AI 模型模拟键盘输入,包括单个字符、特殊按键(如 Command、Control、Option、Shift)以及组合快捷键。通过 sendKeys
工具,AI 模型可以发送一个包含按键名称的字符串数组,从而实现各种键盘操作。这使得 AI 模型能够与文本编辑器、命令行界面等应用进行交互,并执行诸如复制粘贴、保存文件等操作。
例如,一个自动化测试脚本可以使用此功能来模拟用户在网页表单中填写信息,或者在终端中输入命令。该功能对于需要大量文本输入或快捷键操作的场景非常有用。在技术实现上,sendKeys
工具将接收到的按键信息转换为 macOS 可以识别的事件,并将其发送到当前活动窗口。
滚动控制:模拟滚动操作
swift-mcp-gui 允许 AI 模型模拟鼠标滚轮的滚动操作,支持向上、向下、向左和向右四个方向的滚动。通过 scroll
工具,AI 模型可以指定滚动的方向和滚动量(以“clicks”为单位)。这使得 AI 模型能够浏览长文档、网页或代码文件,并进行内容定位。
例如,一个 AI 助手可以使用此功能来自动浏览网页,查找特定信息,或者在电子表格中滚动到指定行。该功能对于需要处理大量内容或进行快速导航的场景非常有用。在技术实现上,scroll
工具将接收到的滚动方向和滚动量转换为 macOS 可以识别的滚动事件,并将其发送到当前活动窗口。