返回市场
swift-mcp-图形界面

swift-mcp-图形界面

作者:NakaokaRei48 星标更新:2025-07-26

项目介绍

Swift MCP GUI 服务器

一个通过 SwiftAutoGUI 控制 macOS 的模型上下文协议(MCP)服务器。此服务器提供了通过 MCP 客户端编程控制鼠标和键盘的工具。

要求

  • macOS 15.0 或更高版本
  • Swift 6.0 或更高版本
  • Xcode 16.0 或更高版本

安装

  1. 克隆此仓库:
git clone https://github.com/NakaokaRei/swift-mcp-gui.git
cd swift-mcp-gui
  1. 安装
swift package experimental-install
  1. 将命令添加到您的 MCP 客户端。
{
  "mcpServers" : {
    "swift-mcp-gui" : {
      "command" : "/Users/USERNAME/.swiftpm/bin/swift-mcp-gui"
    }
  }
}

可用工具

该服务器提供了以下用于控制 macOS 的工具:

1. 鼠标移动

  • 工具名称:moveMouse
  • 输入:
    • x: 数字(x 坐标)- 接受整数、浮点数或字符串表示
    • y: 数字(y 坐标)- 接受整数、浮点数或字符串表示
  • 将鼠标光标移动到指定坐标

2. 鼠标点击

  • 工具名称:mouseClick
  • 输入:
    • button: 字符串("left" 或 "right")
  • 在当前光标位置执行鼠标点击

3. 键盘输入

  • 工具名称:sendKeys
  • 输入:
    • keys: 字符串数组(键名)
  • 发送键盘快捷键或组合键
  • 示例键: "command", "control", "option", "shift", "return", "space", "a", "1" 等

4. 滚动

  • 工具名称:scroll
  • 输入:
    • direction: 字符串("up", "down", "left", "right")
    • clicks: 数字(滚动次数)
  • 在指定方向上执行滚动

5. 屏幕尺寸

  • 工具名称:getScreenSize
  • 返回主屏幕的尺寸(宽度和高度)

6. 像素颜色

  • 工具名称:getPixelColor
  • 输入:
    • x: 数字(x 坐标)- 接受整数、浮点数或字符串表示
    • y: 数字(y 坐标)- 接受整数、浮点数或字符串表示
  • 返回指定坐标处像素的 RGBA 颜色值(0-255)

7. 屏幕截图

  • 工具名称:captureScreen
  • 输入:
    • quality: 数字(可选,0.0-1.0,默认:0.1)- JPEG 压缩质量
    • scale: 数字(可选,0.1-1.0,默认:0.25)- 图像大小缩放因子
  • 捕获整个屏幕并返回为 base64 编码的 JPEG 图像
  • 默认设置(10% 质量,25% 缩放)优化了快速处理,防止超时

8. 区域截图

  • 工具名称:captureRegion
  • 输入:
    • x: 数字(区域的 x 坐标)
    • y: 数字(区域的 y 坐标)
    • width: 数字(区域的宽度)
    • height: 数字(区域的高度)
    • quality: 数字(可选,0.0-1.0,默认:0.1)- JPEG 压缩质量
    • scale: 数字(可选,0.1-1.0,默认:0.25)- 图像大小缩放因子
  • 捕获特定屏幕区域并返回为 base64 编码的 JPEG 图像
  • 默认设置优化了快速处理

9. 保存截图

  • 工具名称:saveScreenshot
  • 输入:
    • filename: 字符串(保存截图的路径)
    • x: 数字(可选,区域的 x 坐标)
    • y: 数字(可选,区域的 y 坐标)
    • width: 数字(可选,区域的宽度)
    • height: 数字(可选,区域的高度)
    • quality: 数字(可选,0.0-1.0,默认:0.1)- JPEG 压缩质量
    • scale: 数字(可选,0.1-1.0,默认:0.25)- 图像大小缩放因子
  • 捕获屏幕或区域并将其保存到文件
  • 文件格式由文件名扩展名确定(.jpg, .jpeg, .png)
  • 质量参数仅影响 JPEG 文件

10. 执行 AppleScript

  • 工具名称:executeAppleScript
  • 输入:
    • script: 字符串(要执行的 AppleScript 代码)
  • 直接执行 AppleScript 代码并返回结果
  • 如果脚本返回值,则返回 "AppleScript 结果: <结果>"
  • 如果脚本完成但未返回值,则返回 "AppleScript 执行成功(无结果返回)"

11. 执行 AppleScript 文件

  • 工具名称:executeAppleScriptFile
  • 输入:
    • path: 字符串(AppleScript 文件的路径)
  • 从文件中执行 AppleScript 并返回结果
  • 如果脚本返回值,则返回 "AppleScript 结果: <结果>"
  • 如果脚本完成但未返回值,则返回 "AppleScript 文件执行成功(无结果返回): <路径>"

安全考虑

此服务器需要在系统偏好设置中具有完全辅助功能权限才能控制您的鼠标和键盘。运行时请谨慎,并仅连接可信的 MCP 客户端。

许可证

MIT 许可证