使用说明
项目简介
AppleScript MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在使大型语言模型 (LLM) 应用能够与 macOS 系统进行深度集成。它通过标准化的 MCP 协议,将 macOS 的各种功能封装成易于 LLM 调用的工具,从而扩展 LLM 的能力边界,使其能够控制系统行为、访问本地数据,实现更丰富的交互体验。
主要功能点
- 日历管理: 创建和查询日历事件。
- 剪贴板操作: 设置、获取和清除剪贴板内容。
- Finder 集成: 获取选中的文件、搜索文件、快速预览文件。
- 系统通知: 发送系统通知、切换勿扰模式。
- 系统控制: 调节系统音量、获取前台应用、启动和关闭应用、切换深色模式。
- iTerm 终端集成: 向 iTerm 粘贴剪贴板内容、在 iTerm 中执行命令。
简而言之,该服务器将 macOS 的各项功能,例如操作文件、发送通知、控制应用等,转化为一个个“工具”,LLM 可以通过调用这些工具来完成与 macOS 系统的交互。
安装步骤
- 环境准备: 确保你的 macOS 系统版本为 10.15 或更高,并且已安装 Node.js 18 或更高版本。
- 下载仓库: 使用 Git 克隆仓库到本地:
git clone https://github.com/joshrutkowski/applescript-mcp.git cd applescript-mcp - 安装依赖: 在仓库根目录下运行命令安装项目依赖:
npm install - 构建服务器: 运行构建命令编译 TypeScript 代码:
npm run build
服务器配置
MCP 客户端需要配置以下 JSON 格式信息才能连接到 AppleScript MCP Server。请注意,这里的 'command' 和 'args' 是 MCP 客户端用来启动服务器的命令,客户端会通过标准输入输出 (stdio) 与服务器进行通信。
{ "serverName": "applescript-server", // MCP 服务器名称,与仓库中配置一致 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件 "args": [ // 启动命令的参数 "index.js" // 指向构建后的服务器入口文件 (通常是仓库根目录下的 index.js) ], "transport": "stdio" // 指定使用标准输入输出 (stdio) 作为通信协议 }
参数注释:
- 'serverName': 服务器的名称,用于在客户端识别和管理不同的 MCP 服务器连接。
- 'command': 启动服务器进程的可执行命令。对于 Node.js 服务器,通常是 'node'。
- 'args': 传递给 'command' 的参数数组。这里 'index.js' 指向服务器的入口文件,客户端会执行 'node index.js' 来启动服务器。请确保 'index.js' 文件路径正确,通常是相对于仓库根目录的路径。
- 'transport': 指定 MCP 客户端与服务器通信的传输协议,这里 'stdio' 表示使用标准输入输出流。
基本使用方法
- 启动服务器: 在 MCP 客户端中配置好上述 JSON 信息后,客户端会根据配置启动 AppleScript MCP Server。
- 发现工具: 客户端连接服务器后,可以请求服务器列出所有可用的 “工具”。这些工具对应于 macOS 的各种功能,例如 'calendar_add' (添加日历事件), 'clipboard_get_clipboard' (获取剪贴板内容) 等。工具名称由 category name 和 script name 组成,用下划线 '_' 连接。
- 调用工具: LLM 或用户可以通过 MCP 客户端调用这些工具,并根据工具的 'inputSchema' 传入相应的参数。例如,调用 'system_volume' 工具并传入 'level: 50' 参数可以设置系统音量为 50%。
- 接收结果: 服务器执行 AppleScript 脚本后,会将结果以 JSON-RPC 响应的形式返回给客户端。结果可以是文本信息,例如脚本执行成功的消息,也可以是查询到的数据,例如剪贴板的内容或日历事件列表。
示例: 假设你使用 MCP 客户端连接到 AppleScript MCP Server,并希望获取当前剪贴板的内容。你可以调用名为 'clipboard_get_clipboard' 的工具,服务器会执行相应的 AppleScript 代码,并将剪贴板内容返回给客户端。
调试
如果遇到问题,可以参考 'README.md' 文件中的 "Debugging" 章节,启用 debug 日志或使用 MCP Inspector 工具进行调试。
总而言之,AppleScript MCP Server 提供了一个桥梁,使得 LLM 应用能够方便、安全地控制 macOS 系统,实现更智能、更自动化的工作流程。
信息
分类
桌面与硬件