项目简介
macOS Automator MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,专门用于接收来自 LLM 客户端的指令,并在运行该服务器的 macOS 机器上执行 AppleScript 或 JavaScript for Automation (JXA) 脚本。它将 macOS 强大的自动化能力暴露给 LLM 应用,使 AI 能够直接控制和交互 macOS 环境。
主要功能点
- 执行 macOS 脚本: 核心功能是安全地执行 AppleScript 或 JXA 脚本。
- 多种脚本来源: 支持直接提供脚本内容、指定本地脚本文件路径,或使用内置知识库中的预定义脚本 ID。
- 知识库集成: 内置一个包含常用 macOS 自动化任务脚本的知识库。客户端可通过特定工具查询和发现这些脚本,并使用其唯一 ID 直接调用。
- 参数传递: 支持向脚本传递字符串参数 ('arguments') 或结构化的 JSON 数据 ('inputData'),用于定制化脚本行为,特别是在调用知识库脚本时。
- 系统及应用控制: 利用 AppleScript/JXA 能力,能够自动化控制 Finder、Safari、Chrome、Mail、Terminal 等 macOS 应用,以及系统设置、剪贴板等功能。
- 错误处理: 能够捕获脚本执行中的错误(包括语法错误、运行时错误、权限问题、超时等),并以 MCP 标准错误格式返回给客户端。
MCP客户端配置
为了让您的 MCP 客户端(如基于 LLM 的代理应用)能够连接并使用此服务器,您需要在客户端的配置文件中添加如下服务器配置信息。这是一个 JSON 格式的配置片段,通常位于客户端的 MCP 配置部分(例如 'mcp.json' 文件中)。
请将以下概念配置添加到您的 MCP 客户端设置中:
- 服务器名称: 'macos_automator' (这是客户端识别该服务器的唯一名称)
- 启动命令 (command): 'npx' (用于执行 npm 包的命令)
- 启动参数 (args):
- '-y' (自动确认安装 MCP 包)
- '@steipete/macos-automator-mcp@latest' (指定要运行的 MCP 服务器包及其版本)
- 环境变量 (env) (可选): 例如设置 'LOG_LEVEL' 控制服务器日志输出级别 ('DEBUG', 'INFO', 'WARN', 'ERROR')。
配置示例(概念):
{ "mcpServers": { "macos_automator": { "command": "npx", "args": [ "-y", "@steipete/macos-automator-mcp@latest" ], "env": { "LOG_LEVEL": "INFO" } } } }
完成此配置后,您的 MCP 客户端即可通过名称 'macos_automator' 与该服务器建立连接并调用其提供的工具。
基本使用方法
一旦您的 MCP 客户端配置并连接了 macOS Automator MCP 服务器,您就可以通过调用其提供的工具来实现自动化任务:
- 发现可用脚本: 调用 'get_scripting_tips' 工具。您可以不带参数列出所有类别 ('listCategories: true'),按类别浏览 ('category: "finder"'),或使用关键词搜索 ('searchTerm: "current tab url"') 来查找合适的自动化脚本。该工具将返回脚本的描述、代码以及最重要的 可执行 ID (Runnable ID) 和所需输入说明 ('argumentsPrompt')。
- 执行脚本: 调用 'execute_script' 工具。
- 对于在步骤 1 中发现的知识库脚本,使用其 可执行 ID 作为 'kbScriptId' 参数。如果脚本需要输入,根据 'argumentsPrompt' 的说明,将数据通过 'inputData' (命名参数) 或 'arguments' (位置参数) 传递。
- 对于简单的、一次性的任务,可以直接提供脚本内容作为 'scriptContent' 参数,并指定 'language' ('applescript' 或 'javascript')。
- 对于本地已有的复杂脚本,可以提供脚本的绝对路径作为 'scriptPath' 参数,并指定 'language' 及可能的 'arguments'。
重要提示: 运行此 MCP 服务器的应用程序(例如 Terminal 或 Node.js)在 macOS 的“系统设置”>“隐私与安全性”>“自动化”和“辅助功能”中需要获得执行脚本和控制其他应用程序的相应权限。首次尝试控制特定应用时,macOS 可能会弹出授权请求。
信息
分类
桌面与硬件