Logic Pro控制服务

一个用于控制macOS上Logic Pro的服务,提供AppleScript控制、MIDI控制和Scripter模板等功能。

  • by PsychQuant
  • Swift
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 kiki830621/che-logic-pro-mcp

使用说明

che逻辑pro mcp

用于在macOS上控制Logic Pro的MCP服务器。

特性

  • AppleScript控件 -传输、轨道管理、视图控制、通过键盘快捷键编辑命令
  • MIDI控制 -虚拟MIDI端口、音符/CC/和弦消息、MMC(MIDI机器控制)
  • 脚本编写器模板 -Logic Pro Scripter MIDI FX的内置和自定义JavaScript模板

安装

构建

cd che-logic-pro-mcp
swift build -c release

二进制位置: .build/release/CheLogicProMCP

配置

克劳德桌面

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "che-logic-pro-mcp": {
      "command": "/path/to/che-logic-pro-mcp/.build/release/CheLogicProMCP"
    }
  }
}

克劳德代码

# Copy to ~/bin and add to Claude Code
# --scope user    : available across all projects (stored in ~/.claude.json)
# --transport stdio: local binary execution via stdin/stdout
# --              : separator between claude options and the command
mkdir -p ~/bin
cp .build/release/CheLogicProMCP ~/bin/
claude mcp add --scope user --transport stdio che-logic-pro-mcp -- ~/bin/CheLogicProMCP

💡 提示: 始终将二进制文件安装到本地目录,如 ~/bin/。避免将其放置在云同步文件夹(Dropbox、iCloud、OneDrive)中,因为文件同步操作可能会导致MCP连接超时。

macOS权限

MCP服务器需要以下权限 系统设置>隐私和安全:

  1. 无障碍 -用于系统事件键盘模拟
  2. 自动化 -用于控制Logic Pro

可用工具

应用程序控制(4个工具)

工具 说明
logic_is_running 检查Logic Pro是否正在运行
logic_launch 启动Logic Pro
logic_activate 将Logic Pro带到前台
logic_quit 退出Logic Pro

运输控制(8个工具)

工具 说明
logic_play 开始播放
logic_stop 停止播放
logic_record 开始录制
logic_rewind 转到开始
logic_forward 将玩家头向前移动
logic_backward 将玩家头向后移动
logic_toggle_cycle 切换循环模式
logic_toggle_metronome 切换节拍器

轨道管理(5个工具)

工具 说明
logic_create_track 创建曲目(midi/audio/鼓手)
logic_solo_track 切换独奏
logic_mute_track 切换静音
logic_arm_track 录音臂
logic_delete_track 删除所选曲目

视图控制(10个工具)

工具 说明
logic_toggle_mixer 切换混音器(X)
logic_toggle_piano_roll 切换钢琴滚动(P)
logic_toggle_automation 切换自动化(A)
logic_toggle_editors 切换编辑器(E)
logic_toggle_library 切换库(Y)
logic_toggle_inspector 切换检查器(I)
logic_toggle_score 切换分数编辑器(N)
logic_zoom_in 放大
logic_zoom_out 缩小
logic_zoom_fit 缩放以适应

编辑命令(11个工具)

工具 说明
logic_undo 撤消
logic_redo 重做
logic_cut 剪切
logic_copy 复制
logic_paste 粘贴
logic_duplicate 重复区域
logic_split 在玩家头部分裂
logic_join 加入地区
logic_quantize 量化
logic_select_all 全选
logic_delete_selected 删除所选内容

项目命令(5个工具)

工具 说明
logic_new_project 新项目
logic_open_project 开放项目
logic_save_project 保存项目
logic_save_as 另存为
logic_bounce 反弹对话框

通用快捷方式

工具 说明
logic_shortcut 执行任何键盘快捷键

实用工具(2个工具)

工具 说明
logic_screenshot Logic Pro窗口截图
logic_window_info 获取窗口信息

MIDI工具(7个工具)

工具 说明
midi_create_virtual_port 创建虚拟MIDI端口
midi_list_ports 列出MIDI端口
midi_send_note 发送MIDI音符
midi_send_cc 发送控制更改
midi_send_chord 发送和弦
midi_send_program_change 发送程序更改
midi_send_pitch_bend 发送俯仰弯曲

MMC命令(6个工具)

工具 说明
midi_mmc_play MMC播放
midi_mmc_stop MMC停止
midi_mmc_record MMC记录
midi_mmc_rewind MMC倒带
midi_mmc_fast_forward MMC快进
midi_mmc_pause MMC暂停

脚本模板(4个工具)

工具 说明
scripter_list_templates 列出可用模板
scripter_get_template 获取模板代码
scripter_create_template 保存新模板
scripter_delete_template 删除模板

用法示例

基本录制会话

1. logic_launch
2. logic_create_track (type: "audio")
3. logic_arm_track
4. logic_record

MIDI合成

1. midi_create_virtual_port (name: "Claude MIDI")
2. Select "Claude MIDI Out" in Logic Pro's MIDI preferences
3. midi_send_chord (channel: 1, notes: [60, 64, 67], velocity: 100, duration_ms: 1000)

使用脚本模板

1. scripter_list_templates
2. scripter_get_template (name: "arpeggiator")
3. Copy the code to Logic Pro's Scripter plugin

内置脚本编写器模板

  • arpeggiator -按顺序演奏手中的音符
  • 弦发生器 -从单个音符生成和弦
  • 中过滤器 -按类型/范围过滤MIDI事件
  • 速度处理器 -调整音符速度
  • note_delay -使用可选回声延迟音符
  • 转置 -用半音转换音符

技术说明

  • Logic Pro对AppleScript的支持有限,大多数控制都是通过系统事件键盘模拟进行的
  • MIDI控制使用CoreMIDI虚拟端口-需要在Logic的首选项中启用该端口
  • MMC(MIDI机器控制)需要在Logic Pro的同步设置中启用

需求

  • macOS 13+
  • 编曲
  • Swift 5.9+(用于建筑)