Definitive MCP (Model Context Protocol) server for Ableton Live. Exposes the full Live Object Model to LLMs (Claude, Cursor, etc.) with an embedded native device knowledge base, declarative music recipes, an integrated verify loop, and reactive listeners.
Status: alpha / v0.1.1 published — core smoke passed against Ableton Live 12.4.1 on macOS and package validation is green. npm, GitHub Release
.mcpb, and the MCP Registry are live. Glama has a listing, but its hosted release/deploy must be published separately from the Glama admin build flow; Smithery metadata is present and may lag indexing. API unstable. Don't use in production yet.Phase 8 status: slice 1 delivers read-only Max for Live/plug-in introspection and Link/remote status discovery. Deeper M4L control, VST3 sidecars, remote DAW integration and mobile companion work remain pending.
📚 Full documentation: pantani.github.io/ableton-mind/
Claude/Cursor ──MCP/stdio──▶ ableton-mind (TS, Node 20+) ──TCP NDJSON JSON-RPC──▶ Remote Script (Python, inside Live)
src/— TypeScript MCP server. Tools, resources, prompts, TCP client, recipe runner, knowledge loader.live/AbletonMind/— Python Remote Script. TCP server on port9876, dispatches JSON-RPC to LiveAPI.recipes/,src/knowledge/— embedded JSON (drum kits, basslines, racks, device schemas).
Full spec in PLAN.md. Frozen contracts in _workspace/contracts/.
| Capability | ahujasid/ableton-mcp | AbletonOSC + MCP wrapper | ableton-mind |
|---|---|---|---|
| MCP tools | 22 | ~30 | 36 |
| LOM coverage | ~10% | ~95% | ~100% |
| Knowledge base | none | none | 55 devices, scales, drum kits |
| Recipes | none | none | 14 across 7 categories |
| Verify loop | no | no | yes, integrated (session_snapshot/diff) |
| Render preview | no | no | yes (snapshot now, bounce planned) |
| Reactive listeners → MCP notifications | no | partial (OSC) | yes (7 events live) |
| Transactions (undo unitary) | no | no | yes |
| Automation envelopes | no | partial | complete (linear / hold) |
| Push 1/2/3 control | no | no | yes (pad/button/mode LEDs) |
| Docker | no | no | yes |
.mcpb 1-click |
no | no | yes |
| Doctor CLI | no | no | yes |
- Node 20+
- Ableton Live 12 (priority; Live 11 supported)
- macOS (primary), Windows (Phase 1 final)
npm install
npm run typecheck
npm run lint
npm run test
npm run buildDev mode (symlink):
node scripts/install-remote-script.mjs # creates symlink
node scripts/install-remote-script.mjs --check # status only
node scripts/install-remote-script.mjs --copy # full copy (CI / snapshot)Manual:
- macOS: copy
live/AbletonMind/to~/Music/Ableton/User Library/Remote Scripts/AbletonMind/ - Windows: copy to
~/Documents/Ableton/User Library/Remote Scripts/AbletonMind/
Then Live → Preferences → Link/Tempo/MIDI → Control Surface → AbletonMind.
Smoke test: docs/smoke-test.md.
npm run build
node dist/index.jsEnv vars:
| Var | Default | |
|---|---|---|
ABLETON_MIND_HOST |
127.0.0.1 |
Python bridge host |
ABLETON_MIND_PORT |
9876 |
Bridge TCP port |
ABLETON_MIND_TIMEOUT_MS |
5000 |
Per-request timeout |
ABLETON_MIND_MAX_FRAME_BYTES |
1048576 |
Max incoming JSON-RPC frame |
ABLETON_MIND_MAX_PENDING_REQUESTS |
128 |
Max in-flight JSON-RPC calls |
ABLETON_MIND_LOG_LEVEL |
info |
debug | info | warn | error |
Run a local LLM against a curated subset of the same Ableton tools:
ollama pull qwen2.5:3b # optional; the UI can pull too
node dist/index.js chat # opens http://127.0.0.1:4142
node dist/index.js ask "What is in this set?"The default tier is read-only (safe). Use --write for simple changes or --creative for recipes/browser load.
| Var | Default | |
|---|---|---|
ABLETON_MIND_LLM_BASE_URL |
http://127.0.0.1:11434/v1 |
OpenAI-compatible endpoint |
ABLETON_MIND_LLM_MODEL |
qwen2.5:3b |
Local model id |
ABLETON_MIND_LLM_TIER |
safe |
safe | standard | creative |
ABLETON_MIND_CHAT_PORT |
4142 |
Browser UI port |
See Local copilot.
npx ableton-mind-doctorChecks Node version, Remote Script install, bridge port, knowledge base integrity, recipes.
- npm:
npm install -g ableton-mind. - Claude Desktop one-click: download
ableton-mind-0.1.1.mcpbfrom the v0.1.1 GitHub Release. - MCP Registry:
io.github.Pantani/ableton-mindis active in the official registry. - Glama: listed at glama.ai/mcp/servers/Pantani/ableton-mind; hosted release is separate from the GitHub Release and still requires the Glama admin deploy + Make Release flow.
- Source:
npm ci && npm run build && npm run install:remote-script. - Docker:
docker build -t ableton-mind . && docker run --rm -i --network host ableton-mind. - Smithery:
smithery.yamlis ready for listing/indexing.
See PLAN.md §12 and _workspace/PROGRESS.md.
| Phase | Status |
|---|---|
| 0 — Spike | ✅ real smoke pass |
| 1 — ahujasid parity | ✅ 22/22 |
| 2 — Listeners | ✅ 7 events |
| 3 — Knowledge | ✅ 55 devices |
| 4 — Automation envelopes | ✅ |
| 5 — Preview/verify | ✅ snapshot+diff (bounce planned) |
| 6 — Push | ✅ pad/button/mode LEDs |
| 7 — Distribution | ✅ DXT/Docker/Smithery/CI/release ready |
| 8 — Long tail | 🔵 slice 1 delivered: read-only M4L/plug-in introspection + Link/remote status discovery; deeper M4L/VST3/remote DAW/mobile work pending |
MIT.