MacMCP - macOS无障碍交互服务器

项目简介

MacMCP是一个Model Context Protocol (MCP) 服务器,它允许支持MCP的大型语言模型(LLM)客户端通过标准输入输出(stdio)协议与macOS操作系统进行交互。它利用macOS的无障碍API,使LLM能够像普通用户一样操作和控制应用程序界面、管理窗口、使用键盘等。

主要功能点

MacMCP提供了多种功能,以工具的形式暴露给LLM客户端使用:

  • 界面探索与交互: 能够浏览和分析macOS应用程序的用户界面元素,并执行点击、输入文本、滚动等操作。
  • 屏幕截图: 捕获整个屏幕或特定应用窗口的图像,为LLM提供视觉上下文。
  • 应用管理: 启动、切换和退出macOS应用程序。
  • 窗口管理: 控制应用窗口的位置、大小、最小化或最大化状态。
  • 菜单导航: 访问和激活应用菜单项。
  • 键盘模拟: 发送键盘输入和执行快捷键。
  • 剪贴板管理: 读取和写入系统剪贴板内容,包括文本和图像。

安装步骤

  1. 克隆仓库: 打开终端,执行以下命令克隆项目代码:
    git clone https://github.com/obra/macMCP.git
    cd macMCP
  2. 构建项目: 使用Swift构建项目。建议构建发布版本以获得更好的性能:
    swift build -c release
  3. 授予无障碍权限: MacMCP需要访问macOS的无障碍功能。请手动授予权限:
    • 打开 系统设置 > 隐私与安全性 > 辅助功能 (Accessibility)
    • 点击左下角的加号 (+) 图标。
    • 找到并选择您刚才构建好的MacMCP可执行文件。通常位于项目目录下的 '.build/release/MacMCP'。
    • 勾选MacMCP旁边的复选框,以授予权限。

服务器配置 (供MCP客户端使用)

MacMCP作为Stdio协议的MCP服务器运行。您的MCP客户端(例如Claude Desktop等支持MCP的LLM应用)需要进行配置才能连接到MacMCP。

配置时,您需要告诉客户端以下信息:

  • 服务器名称: 给这个连接起一个易于识别的名称(例如:“macOS辅助功能”)。
  • 启动命令 (Command): MacMCP可执行文件的完整路径。例如,如果您在项目根目录构建并运行,路径可能是 './.build/release/MacMCP'。
  • 启动参数 (Arguments): 可选的命令行参数。例如,您可以使用 '--debug' 启用调试日志输出。
  • 协议 (Protocol): 选择 Stdio 协议。

具体的配置界面和格式取决于您使用的MCP客户端软件。您只需要提供上述路径和参数信息即可。

基本使用方法

完成安装、构建和权限设置后,并且您的MCP客户端已配置好与MacMCP的连接,LLM就可以通过客户端利用MacMCP提供的工具与macOS进行交互了。

LLM客户端会根据需要调用MacMCP暴露的各种工具(如UI交互工具、截图工具、应用管理工具等),MacMCP则会执行相应的macOS操作并将结果(如界面结构信息、截图数据、操作结果等)返回给LLM。

信息

分类

桌面与硬件