项目简介
AppleScript MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用程序。它作为大型语言模型 (LLM) 客户端与 macOS 应用程序之间的桥梁,允许 LLM 通过执行 AppleScript 来控制和自动化 macOS 系统上的各种任务。这为 LLM 应用提供了强大的能力,使其能够与现实世界中的桌面环境进行深度交互。
主要功能点
- 安全执行AppleScript: 仅运行经过审核的预定义脚本,确保系统操作的安全性。
- 支持自定义脚本: 允许用户通过配置启用执行自定义 AppleScript 代码,提供了高度的灵活性和控制力。
- 简便的配置管理: 提供用户友好的配置选项,方便设置和调整服务器行为及脚本参数。
- 无缝集成LLM客户端: 为大型语言模型提供标准化的接口和丰富的上下文服务,实现高级功能和智能自动化。
- 丰富的macOS自动化工具: 内置一系列工具,包括:
- 文件管理: 设置/获取 Finder 文件标签、获取文件扩展信息、在 Finder 中显示文件。
- 应用字典读取: 读取 macOS 应用程序的 AppleScript 字典,了解其可用的类、命令、属性和事件。
- 权限检查: 检查应用程序的自动化权限状态,并提供授权指导。
- BBEdit 交互: 创建 BBEdit 笔记本和项目等。
安装步骤
本服务器专为 macOS 系统设计,并使用 Deno 运行时。请按照以下步骤进行下载和安装:
-
系统要求:
- macOS 10.14 或更高版本。
- 系统已启用 AppleScript(通常默认启用)。
- 稳定的互联网连接,用于下载文件。
-
下载应用程序: 访问项目的 Release 页面。在此页面,您将找到最新版本的下载链接。点击链接下载应用程序包。
-
安装应用程序: 下载完成后,找到 '.dmg' 文件并双击打开。一个新的安装窗口将出现,请将 'bb-applescript-mcp-server' 图标拖动到您的“应用程序 (Applications)”文件夹中完成安装。安装完成后,请弹出 '.dmg' 文件。
-
打开并配置应用程序: 安装后,前往您的“应用程序”文件夹,双击 'bb-applescript-mcp-server' 打开。您会看到一个简单的界面,可以根据您的需求配置预定义脚本或自定义脚本的运行方式。
服务器配置
MCP客户端与本服务器建立连接时,需要提供服务器的启动命令和相关参数。请参考以下信息进行配置:
- 服务器名称 (Server Name): 'applescript-mcp-server'
- 启动命令 (Command): 'deno' (这是 Deno 运行时的主命令)
- 启动参数 (Arguments):
- 'run': 指示 Deno 运行一个脚本。
- '--allow-all': 授予服务器进程在 macOS 上执行 AppleScript 所需的所有系统权限,包括文件读写和执行外部命令。
- '--unstable-kv': 启用 Deno 提供的不稳定的 Key-Value 存储功能,服务器内部可能会用到。
- 'server/main.ts': 这是本服务器的主程序文件路径,Deno 将会运行它。
- 环境变量 (Optional Environment Variables): 您可以在启动命令前设置以下环境变量,以调整服务器行为:
- 'ENABLE_ARBITRARY_SCRIPTS': 设置为 'true' 会允许 LLM 通过 'run_script' 工具执行任何提供的 AppleScript 代码,这具有较高风险,默认为 'false' 以确保安全。建议仅在完全信任 LLM 或有特定需求时开启。
- 'APPLESCRIPT_TIMEOUT_DEFAULT': 定义所有 AppleScript 调用的默认超时时间,以毫秒为单位。
- 'APPLESCRIPT_TIMEOUT_MAX': 定义允许设置的最大 AppleScript 调用超时时间,以毫秒为单位,防止长时间运行的脚本阻塞。
基本使用方法
- 启动 MCP 服务器: 按照上述安装步骤,启动 'bb-applescript-mcp-server' 应用程序。
- LLM 客户端调用: 您的 LLM 客户端通过 MCP 协议向服务器发送请求,调用服务器注册的各种工具。
- 自动化执行: 服务器接收请求后,会根据请求内容执行对应的 AppleScript,与 macOS 应用程序进行交互,并将操作结果(例如,文件信息、命令执行结果、错误信息等)以标准化的 JSON 格式返回给 LLM 客户端。
示例: 一个 LLM 客户端可以调用 'read_dictionary' 工具来获取“Finder”应用程序的 AppleScript 字典。服务器接收请求,执行 AppleScript 来查询 Finder 的能力,并将详细的字典信息返回给 LLM。LLM 随后可以利用这些信息来构建更精确的 AppleScript 命令,以执行文件操作等任务。
信息
分类
桌面与硬件