ableton-mind — Ableton Live MCP server

io.github.PantaniPublished by GitHub account Pantaniv0.1.1Updated Oct 24, 2026

Control Ableton Live from Claude, Cursor or Codex with LOM tools, device knowledge and recipes.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

A local MCP server that lets an assistant control Ableton Live through the Live Object Model, with device knowledge, recipes, and a verify loop.

What you can do
Exposes the Live Object Model to LLMs such as Claude and Cursor, with an embedded native device knowledge base, declarative music recipes, an integrated verify loop using session_snapshot/diff, and reactive listeners that push MCP notifications. It also covers automation envelopes, Push control, and read-only Max for Live and plug-in introspection. A TypeScript MCP server talks over TCP NDJSON JSON-RPC to a Python Remote Script running inside Live.
When to use it
Use it when you want an assistant to inspect or change an Ableton Live session: browsing devices, loading recipes, automating parameters, or verifying session changes. It suits local music-production workflows on a desktop with Live installed, not headless or web use.
Requirements
Runs as a local process on the user's machine over stdio. Needs Node 20+, Ableton Live 12 (Live 11 supported), and macOS (primary) or Windows. The Python Remote Script must be installed into the Live User Library and enabled as a Control Surface. Optional environment variables configure the bridge host, port, timeout, frame and request limits, and log level; the local copilot adds LLM endpoint, model, tier, and chat port variables.
Before you install
The project is alpha, the API is unstable, and the README says not to use it in production yet. It can write to a Live session: the local copilot defaults to a read-only safe tier, while --write and --creative allow changes and recipe or browser loading. It opens a TCP bridge on port 9876 by default, so keep it bound to localhost.

Installation

In SourceWeft

  1. Open ableton-mind — Ableton Live MCP server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

ableton-mind

[ableton-mind MCP server]

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/

Architecture (3 layers)

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 port 9876, 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/.

Highlights vs. existing MCP/OSC servers

Capabilityahujasid/ableton-mcpAbletonOSC + MCP wrapperableton-mind
MCP tools22~3036
LOM coverage~10%~95%~100%
Knowledge basenonenone55 devices, scales, drum kits
Recipesnonenone14 across 7 categories
Verify loopnonoyes, integrated (session_snapshot/diff)
Render previewnonoyes (snapshot now, bounce planned)
Reactive listeners → MCP notificationsnopartial (OSC)yes (7 events live)
Transactions (undo unitary)nonoyes
Automation envelopesnopartialcomplete (linear / hold)
Push 1/2/3 controlnonoyes (pad/button/mode LEDs)
Dockernonoyes
.mcpb 1-clicknonoyes
Doctor CLInonoyes

Requirements

  • Node 20+
  • Ableton Live 12 (priority; Live 11 supported)
  • macOS (primary), Windows (Phase 1 final)

Setup (source install)

bash
npm installnpm run typechecknpm run lintnpm run testnpm run build

Install Remote Script (Python bridge)

Dev mode (symlink):

bash
node scripts/install-remote-script.mjs           # creates symlinknode scripts/install-remote-script.mjs --check   # status onlynode 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.

Run the MCP server

bash
npm run buildnode dist/index.js

Env vars:

VarDefault
ABLETON_MIND_HOST127.0.0.1Python bridge host
ABLETON_MIND_PORT9876Bridge TCP port
ABLETON_MIND_TIMEOUT_MS5000Per-request timeout
ABLETON_MIND_MAX_FRAME_BYTES1048576Max incoming JSON-RPC frame
ABLETON_MIND_MAX_PENDING_REQUESTS128Max in-flight JSON-RPC calls
ABLETON_MIND_LOG_LEVELinfodebug | info | warn | error

Local copilot

Run a local LLM against a curated subset of the same Ableton tools:

bash
ollama pull qwen2.5:3b      # optional; the UI can pull toonode dist/index.js chat     # opens http://127.0.0.1:4142node 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.

VarDefault
ABLETON_MIND_LLM_BASE_URLhttp://127.0.0.1:11434/v1OpenAI-compatible endpoint
ABLETON_MIND_LLM_MODELqwen2.5:3bLocal model id
ABLETON_MIND_LLM_TIERsafesafe | standard | creative
ABLETON_MIND_CHAT_PORT4142Browser UI port

See Local copilot.

Doctor CLI

bash
npx ableton-mind-doctor

Checks Node version, Remote Script install, bridge port, knowledge base integrity, recipes.

Distribution

  • npm: npm install -g ableton-mind.
  • Claude Code plugin marketplace: claude plugin marketplace add Pantani/ableton-mind, then claude plugin install ableton-mind@ableton-mind.
  • Claude Desktop one-click: download ableton-mind-0.1.1.mcpb from the v0.1.1 GitHub Release.
  • MCP Registry: io.github.Pantani/ableton-mind is 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.yaml is ready for listing/indexing.

Roadmap

See PLAN.md §12 and _workspace/PROGRESS.md.

PhaseStatus
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

License

MIT.

Source: README.md at commit 80688be

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts