applescript-mcp MCP Server
一个用于macOS的AppleScript MCP服务器。
简介
applescript-mcp 是一个模型上下文协议(MCP)服务器,让AI应用能通过AppleScript与macOS交互,控制系统功能、管理文件和处理通知等。
安装前提条件
- macOS 10.15+
- Node.js 18+
安装步骤
# 安装依赖
npm install
# 构建服务器
npm run build
# 启动MCP Inspector进行测试
npx @modelcontextprotocol/inspector node path/to/server/index.js
核心功能
类别 | 功能 |
---|---|
日历 | 创建和列出事件 |
剪贴板 | 获取、设置和清除内容 |
Finder | 获取选中文件、搜索文件、预览文件 |
通知 | 发送通知、切换勿扰模式 |
系统 | 控制音量、管理应用、切换深色模式 |
iTerm | 执行命令、粘贴剪贴板内容 |
命令示例
日历事件
// 创建日历事件
{
"category": "calendar",
"command": "add",
"params": {
"title": "团队会议",
"startDate": "2023-10-30T15:00:00",
"endDate": "2023-10-30T16:00:00"
}
}
系统控制
// 打开应用程序
{
"category": "system",
"command": "launch_app",
"params": {
"name": "Safari"
}
}
// 调整音量
{
"category": "system",
"command": "volume",
"params": {
"level": 50
}
}
开发扩展
创建新类别:
- 在
src/categories/
创建新的类别文件 - 定义脚本和参数
- 在
src/index.ts
中注册类别
// 新类别示例
export const newCategory: ScriptCategory = {
name: "my_category",
description: "自定义功能类别",
scripts: [
{
name: "my_command",
description: "执行自定义操作",
schema: {
type: "object",
properties: {
param: { type: "string", description: "参数说明" }
},
required: ["param"]
},
script: (args) => `
tell application "App"
-- 使用 ${args.param} 的AppleScript代码
end tell
`
}
]
};
调试
# 启动调试模式
DEBUG=applescript-mcp* npm start
# 使用Inspector测试
npm run inspector