使用说明
Logic Pro MCP服务器
通过模型上下文协议对Apple Logic Pro进行人工智能控制。
一个MCP服务器,让AI助手(Claude等)通过AppleScript、macOS Accessibility API和虚拟MIDI控制Logic Pro。
特性
| 类别 | 工具 | 方法 |
|---|---|---|
| 运输 | 播放、停止、录制、节奏、循环、节拍器 | AppleScript/Key命令 |
| 轨迹 | 列表、创建、选择、重命名、删除、静音、独奏 | 辅助功能+AppleScript |
| 插件 | 列出已安装、加载、读/写参数、预设 | auval +可访问性API |
| MIDI | 发送音符、和弦、CC、模式 | 虚拟MIDI端口(节点MIDI) |
| 项目 | 打开、保存、关闭、反弹、撤消/恢复 | AppleScript |
| 混音器 | 显示、通道条信息、加载条设置 | 辅助功能 |
共35个工具 用于全面的Logic Pro控制。
先决条件
- macOS (索诺玛14+推荐)
- Node.js 18+
- 迅速 5.9+(包含在Xcode/命令行工具中)
- Logic Pro 已安装并正在运行
安装
# Clone and install
git clone <repo-url>
cd logic-pro-mcp
npm install
# Build TypeScript
npm run build
# Build Swift accessibility helper
npm run build:swift
macOS设置
1.授予无障碍访问权限
系统设置→ 隐私和安全→ 无障碍
将您的终端应用程序(terminal.app、iTerm2或Claude Desktop应用程序)添加到允许列表中。
2.Logic Pro设置
Open Logic Pro→ 设置→ 无障碍→ 启用 “默认情况下在控件视图中打开插件窗口”
这将插件参数公开给Accessibility API。
Claude桌面配置
将此添加到您的Claude Desktop配置中(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"logic-pro": {
"command": "node",
"args": ["/absolute/path/to/logic-pro-mcp/dist/index.js"]
}
}
}
使用示例
连接后,您可以问Claude以下问题:
- “列出我项目中的所有曲目”
- “创建新的软件乐器曲目”
- “在所选曲目上加载频道均衡器”
- “轨道2上的压缩机参数是什么?”
- “将速度设置为128 BPM”
- “通过MIDI发送C大调和弦”
- “跳出我的项目”
建筑
Claude AI ←→ MCP Server (stdio) ←→ Logic Pro
│
┌─────────────┼─────────────┐
▼ ▼ ▼
AppleScript Accessibility Virtual MIDI
(osascript) (Swift Helper) (node-midi)
项目结构
logic-pro-mcp/
├── src/
│ ├── index.ts # MCP server entry
│ ├── bridges/
│ │ ├── applescript.ts # osascript wrapper
│ │ ├── accessibility.ts # Swift helper wrapper
│ │ └── midi-bridge.ts # node-midi virtual port
│ └── tools/
│ ├── transport.ts # Play, Stop, Record, Tempo
│ ├── tracks.ts # Track management
│ ├── plugins.ts # Plugin listing & control
│ ├── midi.ts # MIDI note/CC sending
│ ├── project.ts # Project management
│ └── mixer.ts # Mixer controls
├── swift-helper/
│ ├── Package.swift
│ └── Sources/LogicAccessibility/
│ └── main.swift # AXUIElement interaction
├── package.json
├── tsconfig.json
└── README.md
局限性
- Logic Pro没有公共API——此MCP使用系统级自动化
- 一些UI脚本操作是 时间敏感 (使用短延迟)
- 插件参数访问需要 控件视图 待启用
- Swift辅助功能必须是 编译 首次使用前
- 访问权限必须明确 授予 由用户
许可证
麻省理工学院