Repository navigation
Releases
v1.1.0
- Published on PyPI as
zx-ableton-live-mcp(abletonlivemcpis refused there as too similar to
an existing project). The import name, commands and Remote Script keep theabletonlivemcpnames.
Releases are uploaded by a tag-triggered GitHub workflow using PyPI trusted publishing. - Track selectors describe their string forms (
"return:N","master") in every tool's
input schema. The default-listing byte budget rises to 84 KB to fit them. live_get_clipsconcise rows keependandarrangement_lengthfor arrangement clips;
lengthstays the loop/source length.- Warp-marker reads flag Live's trailing sentinel marker (1/32 beat after the last real
one) with"sentinel": trueinstead of hiding it. Remote Script change: reinstall it. live_get_device_parameterson a device adds adeviceheader (name,class_name,
type; needs the updated Remote Script) and tidiesdisplay: surrounding whitespace is
stripped and a doubled unit collapses ("4.00dB dB"->"4.00dB").live_get_device_parameterstakesnames(up to 64): it reads every page and returns
only those parameters (case-insensitive) plusmissing. Refused with a nonzerooffset.live_get_scenestakesonly_clips(withinclude_slots): slot rows without a clip
are dropped. Withoutinclude_slotsit is refused.live_get_notesacceptsresponse_format: "summary": per page,note_count,
distinct_pitches,pitch_counts,time_rangeandvelocity_rangereplace the note
rows;total,cursorand the other paging fields are unchanged.- Fix: an unexpected exception in a tool (for example a
KeyError) now reaches the client
as<Type>: tool_failed (outcome unknown; ...)instead of a bare internal error. Its
text is withheld and only the type is logged; MCP protocol errors pass through.
Install: pip install zx-ableton-live-mcp (PyPI: https://pypi.org/project/zx-ableton-live-mcp/). Close Live and rerun abletonlivemcp-install after upgrading.
AbletonLiveMCP 1.0.0
AbletonLiveMCP 1.0.0
AbletonLiveMCP is a Model Context Protocol server for Ableton Live. AI assistants like
Claude can read your Live Set and make edits through the bundled Remote Script.
This release adds setup instructions for Claude Desktop, Claude Code, Cursor and
VS Code, along with upgrade guidance and troubleshooting. The package includes the
host server and Remote Script. Python 3.10 or later is required.
Install
Once the tag is published, install from GitHub:
python -m pip install "git+https://github.com/zdhoward/abletonlivemcp@v1.0.0"
abletonlivemcp-install "<path to your User Library>"Close Live before running the installer. Restart Live and select AbletonLiveMCP under
Settings > Link, Tempo & MIDI > Control Surface. Follow the
README setup guide for an isolated
installation and MCP client configuration. These instructions do not require PyPI.
Upgrade
Upgrade the host package, close Live and reinstall the Remote Script in the same User
Library. Restart Live and your MCP client, then call live_hello to check that both
copies match. Preserve the private bridge config. If the installer refuses an unknown
or modified script folder, move it outside Remote Scripts as a backup before installing.
Scope and limits
Live 12.2 on Windows is qualified for the cases in the
validation record.
macOS and other Live versions are untested. I have kept the Beta package classifier
because the qualification is limited. No new Live run was performed for this packaging
and documentation release; the record preserves the original build IDs.
Writes start disabled. Once enabled, ordinary edits can run without another prompt.
Deletion needs a separate permission and a confirmation form. MIDI file tools require
explicit allowed roots. See
local permissions.
The server cannot save or open a Set through Live's API. Set-label persistence across
save/reopen remains experimental. Some failure paths have offline test coverage only.
Read state after an unknown outcome before writing again.
See the 1.0.0 changelog
for fixes included since 0.11.0.
v0.11.0
Beta for hands-on use in real projects. Built for Ableton Live 12.2 on Windows. Read-only by default.
Install
python -m pip install "git+https://github.com/zdhoward/abletonlivemcp@v0.11.0"
# or: python -m pip install abletonlivemcp-0.11.0-py3-none-any.whl (attached below)
abletonlivemcp-install "<path to your User Library>"
claude mcp add abletonlive --scope user -- python -m abletonlivemcp.serverThen start Live and pick AbletonLiveMCP as a Control Surface.
Upgrade notes
- Reinstall the Remote Script and restart Live: server and script must be the same version.
- Toolsets are read once when the server starts; start a new client session after changing them.
Highlights
- Timeline work by default:
automationandarrangementtoolsets are on (36 tools).
live_create_arrangement_clipscopies Session clips (with their automation) onto the Arrangement. - Session automation takes 2-3
pointsper clip and steps at beat 0; parameters by name or index. live_create_clipsif_exists: skip|replacemakes scripts repeatable.- Display targets on several continuous parameters in one call ("100 Hz", "25 %") work.
live_helloreportsread_only,dev_probesand how to enable toolsets.- A UTF-8 BOM in
bridge.jsonis accepted. - New
examples/filter_sweep_buildup.py.
Full list: CHANGELOG.md.
v0.10.0
Upgrade notes
- Reinstall the Remote Script (
abletonlivemcp-install) and restart Live; server and script
must be the same version. - MIDI import/export now need
ABLETONLIVEMCP_FILE_ROOTS; home and temp are no longer allowed.
Changed
- Advertise typed outputs for all tools and bounded chain, browser, and note inputs.
- Core tool descriptions name the neighbouring tool to use instead.
- Developer probe modules and proof metadata are no longer shipped in wheels or source
archives; the Remote Script loads probes all-or-none from a source checkout only. ABLETONLIVEMCP_AUDIT=1logs every allowed write (tool and permissions, no arguments).- README documents Claude Code config scopes (user scope recommended) and first use on a real project.
- Add local transport/edit/files/delete permissions and optional read-only discovery.
- Require explicit MIDI file roots instead of granting home/temp access by default.
- Keep personal knowledge and development material local; check runtime-only archives
and clean stdio wheel installation in CI. Preserve tests and their support files in Git. - Existing private configs without a permission list retain their previous behavior;
new configurations start read-only with transport/edit permissions only.
Install
pip install "abletonlivemcp @ git+https://github.com/zdhoward/abletonlivemcp@v0.10.0"
abletonlivemcp-install
Then restart Live and select AbletonLiveMCP as a Control Surface. See the README for Claude Code scope setup.
v0.9.0 beta
AbletonLiveMCP v0.9.0 beta is ready for hands-on testing with Ableton Live 12.2 on Windows and Python 3.10+.
- 57 tools across session, mixer, clips, MIDI, devices, stock drums, nested Simpler, arrangement and local organization; 30 tools enabled by default.
- Authenticated local bridge, read-only defaults, confirmed destructive operations and verified writes.
- 388 offline tests pass; Ruff passes. Real Live validation: 34 scenarios passed and 3 explicitly unsupported, with no failed or blocked scenarios.
Install the attached wheel with python -m pip install abletonlivemcp-0.9.0-py3-none-any.whl, then follow the README to install the Remote Script and configure your MCP client.
See validation and beta limits. Automatic rack grouping/macro mapping, custom drum-pad loading and some plugin preset operations are unsupported; Set-label persistence after reopening remains unproved.