使用说明
项目简介
AppleScript MCP服务器是一个基于Model Context Protocol (MCP) 的后端应用,它充当LLM客户端与macOS系统之间的桥梁。通过这个服务器,LLM可以调用预定义的工具来执行AppleScript代码,从而实现对macOS应用程序和系统功能的控制和数据访问。例如,LLM可以利用此服务器创建日历事件、读取邮件、操作文件、获取系统信息等。
主要功能点
- 执行AppleScript代码: 允许LLM客户端通过 'applescript_execute' 工具,向服务器发送AppleScript代码片段,并在macOS系统上执行。
- 访问macOS应用和数据: 支持通过AppleScript与多种macOS应用程序(如Notes, Calendar, Contacts, Messages, Finder, Safari等)进行交互,获取和操作数据。
- 系统功能控制: 能够执行如搜索文件、获取电池状态、截屏、管理文件和文件夹、运行shell命令等系统级操作。
- 简单易用: 设计简洁直观,易于安装和配置,核心代码量少。
- 双语言支持: 提供Node.js和Python两种服务器端实现。
安装步骤
Node.js 版本:
- 安装Node.js和npm: 如果你的系统上没有安装Node.js和npm,请先安装。你可以从 nodejs.org 下载并安装。
- 全局安装 'applescript-mcp' 包: 打开终端,运行以下命令进行全局安装:
npm install -g @peakmojo/applescript-mcp
Python 版本:
- 安装Python: 确保你的系统上安装了Python 3.7 或更高版本。macOS 通常预装了Python。
- 安装 'uv' (推荐): 'uv' 是一个快速的Python包安装和虚拟环境管理工具。可以使用 Homebrew 安装:
或者使用 'pip' 安装:brew install uvpip install uv - 克隆仓库: 从GitHub克隆 'applescript-mcp' 仓库到本地:
git clone https://github.com/peakmojo/applescript-mcp cd applescript-mcp - 使用 'uv' 安装依赖并运行服务器: 在仓库根目录下,使用 'uv' 运行服务器脚本:
或者,如果你没有安装 'uv',可以使用 'pip' 安装依赖并运行:uv run src/applescript_mcp/server.pypip install -r requirements.txt python src/applescript_mcp/server.py
服务器配置
MCP客户端需要配置MCP服务器的启动命令才能连接。以下是针对 Node.js 和 Python 版本的配置信息,请根据你的选择配置到MCP客户端(例如 Claude Desktop):
Node.js 配置 (推荐):
{ "mcpServers": { "applescript_execute": { "command": "npx", // 使用 npx 命令运行 npm 包 "args": [ "@peakmojo/applescript-mcp" // 要执行的 npm 包名,全局安装后可以直接通过包名运行 ] } } }
Python 配置:
{ "mcpServers": { "applescript_execute": { "command": "uv", // 使用 uv 命令 (如果使用 pip,则替换为 python) "args": [ "--directory", // 指定工作目录 "/path/to/your/repo", // 替换为 applescript-mcp 仓库在您本地的绝对路径 "run", // uv run 命令用于执行 Python 脚本 "src/applescript_mcp/server.py" // Python 服务器脚本的路径 ] } } }
注意: 将 Python 配置中的 '/path/to/your/repo' 替换为你克隆的 'applescript-mcp' 仓库在本地的实际路径。 如果你没有使用 'uv',而是使用 'pip' 安装并运行 Python 版本,则 'command' 字段应改为 '"python"',并相应调整 'args'。
基本使用方法
-
启动MCP服务器: 根据上述安装步骤启动 Node.js 或 Python 版本的 AppleScript MCP 服务器。服务器启动后,通常会在终端输出 "MCP server started and ready to receive requests" 或类似信息。
-
配置MCP客户端: 在你的MCP客户端(如 Claude Desktop)中,配置 "mcpServers" 部分,使用上面提供的 JSON 配置代码,确保配置正确指向你启动的 AppleScript MCP 服务器。
-
在LLM Prompt中调用工具: 在LLM的Prompt中,你可以指示LLM调用 'applescript_execute' 工具来执行AppleScript代码。例如:
请执行AppleScript代码,创建一个新的备忘录,标题为 "LLM会议纪要",内容为 "今天的会议讨论了...".LLM 会解析你的指令,并生成调用 'applescript_execute' 工具的请求,并将相应的AppleScript代码作为参数发送给 AppleScript MCP 服务器。服务器执行 AppleScript 代码后,会将结果返回给 LLM 客户端。
示例AppleScript代码:
你可以参考仓库 'README.md' 文件中的 "Example Prompts" 部分,了解可以执行的 AppleScript 代码示例,例如:
- 获取电池电量:
tell application "System Events" set batteryLevel to get battery level of current battery of power supply return "Battery level: " & batteryLevel & "%" end tell - 创建日历事件:
tell application "Calendar" tell calendar "Home" make new event at end with properties {summary:"Team Meeting", start date:date "2024-08-10 10:00:00", end date:date "2024-08-10 11:00:00"} end tell end tell
安全提示: 请谨慎使用 'applescript_execute' 工具,避免执行未经验证的或恶意的AppleScript代码,因为它可以对你的系统进行操作。
信息
分类
桌面与硬件