Chat with Logic Pro from inside a Truce AU v2 plugin. A local Ollama model (e.g. qwen3.5) plans and runs DAW actions—tempo, tracks, MIDI, transport, mixer—through natural language.
Very Experimental
⚠️ use at your own risk!
Requirements: macOS 14+, Logic Pro 12+, Ollama
ollama pull qwen3.5
./scripts/install-au.shInstalls the AU plugin and LogicX MCP.app (companion control host). Logic control goes through that app—do not use cargo truce install alone.
System installer (.pkg):
./scripts/build-installer-pkg.sh --build --sign-plugins
sudo installer -pkg release-artefacts/LogicX-MCP-macOS-Installer.pkg -target /Nothing in Logic will work until this is done. The plugin inside Logic delegates control to LogicX MCP.app. That bridge reads and drives Logic’s UI via macOS permissions.
- System Settings → Privacy & Security → Accessibility
- Add LogicX MCP (
~/Applicationsor/Applications) if it is missing - Turn LogicX MCP ON
Needed for tempo, transport, track state, and most control.
- System Settings → Privacy & Security → Automation
- Select LogicX MCP (not
logicx-control-bridge—bare binaries never appear here) - Enable Logic Pro
- Enable System Events
If LogicX MCP is not listed yet, run once to trigger the prompt:
~/Applications/LogicX\ MCP.app/Contents/MacOS/logicx-control-bridgePress Ctrl+C after the dialog, then enable the toggles above.
- Quit Logic Pro (Cmd+Q) and reopen
- Load the LogicX MCP AU and send a command, e.g. set tempo to 140
- In chat, run
logic_system→permissions. Expect:
| Check | Value |
|---|---|
accessibility |
true |
tempo_control_ready |
true |
permission_subject |
"LogicX MCP" |
Tempo needs Accessibility only. Track creation, MIDI import, and menu fallbacks also need Automation → System Events.
Permission or control errors? Re-check toggles for LogicX MCP, then see docs/SETUP.md (MCU ports, reinstall, debug).
- Insert LogicX MCP on any track (pass-through utility)
- Open the plugin window
- Ask in plain language, e.g. Make a 4-bar techno loop in A minor at 140 BPM
The agent calls built-in tools (logic_transport, logic_tracks, logic_mixer, …). Settings (⚙): Ollama URL (default http://127.0.0.1:11434) and model name.
Before testing a new build:
./scripts/reinstall-for-test.sh # rebuild, install, restart bridgeThen quit and relaunch Logic Pro.
cargo truce run -p logicx-plugin # standalone UI
cargo test --workspace
./scripts/test-live.sh --ignored # Logic + Ollama (after reinstall)Contributor notes: AGENTS.md · Full setup: docs/SETUP.md
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT)
at your option.