Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

ableton-mind — Ableton Live MCP server

NPM · ABLETON-MIND · SCANNED AUG 3

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

Available components

+19 this week 68 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability85
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 2708 tokens (~69/item across 39 items; 36 tools + 3 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage73
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 18% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · ableton-mind

# add to Claude Code
claude mcp add pantani-ableton-mind -- npx -y ableton-mind
# add to Codex CLI
codex mcp add pantani-ableton-mind -- npx -y ableton-mind
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pantani-ableton-mind": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "ableton-mind"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add pantani-ableton-mind --command npx --arg -y --arg ableton-mind
# ~/.hermes/config.yaml
mcp_servers:
  pantani-ableton-mind:
    command: "npx"
    args: ["-y", "ableton-mind"]
// mcp.json
{
  "mcpServers": {
    "pantani-ableton-mind": {
      "command": "npx",
      "args": [
        "-y",
        "ableton-mind"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +4
    • Stability: unverified → 0.27 functional
  • 2 Aug 26 +7
    • Provenance: fail → unverified security
    • Install scripts: pass → unverified security
    • Known CVEs: unverified → partial security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Tool coverage: 100 → unverified functional
    • License: pass → unverified functional
    • Capabilities: pass → unverified functional
    • Maintenance: pass → unverified functional
    • Schema quality: 100 → unverified functional
    • Dependency health: unverified → partial functional
    • Licence: MIT functional
  • 1 Aug 26 −10
    • Known CVEs: partial → unverified security
    • Dependency health: partial → unverified functional
  • 31 Jul 26 +7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Malware scan: pass → unverified security
  • 29 Jul 26 +52
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Maintenance: unverified → pass functional
    • Schema quality: unverified → 100 functional
    • License: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • Schema quality: unverified → excellent functional
    • Licence: MIT functional
  • 28 Jul 26 −23
    • Schema quality: 100 → unverified functional
    • Tool coverage: 100 → unverified functional
    • Dependency health: unverified → partial functional
  • 27 Jul 26 49

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 95 packages

95 packages in the resolved dependency tree · 95 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 36 exposed · ~2,635 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
apply_recipe ~92

Apply an embedded recipe by id with optional overrides. Use after list_recipes when the user asks for a genre pattern, rack, mix chain, or arrangement scaffold. NOT fully transactional in Phase 5; returns progress and failed_at/error if a step fails.

NameTypeReqDescription
overridesobjectOverride of inputs declared in the recipe.
recipe_idstringyesex: 'drums/tech-house-kick'.

No output schema declared.

No examples provided.

arrangement_add_automation_point ~120

Add one automation point in the Arrangement view for a mixer or device parameter path. Use for incremental arrangement automation edits. NOT idempotent: repeated calls add more points; returns the written time/value/curve after the bridge accepts it.

NameTypeReqDescription
curve_typestring
parameter_pathstringyesmixer.volume | mixer.panning | mixer.send.<i> | device.<i>.parameter.<n>
timenumberyesBeats from song start.
track_indexintegeryes
valuenumberyes

No output schema declared.

No examples provided.

browser_get_categories ~53

Read-only list of root categories exposed by the Ableton Live Browser. Use before loading instruments, effects, presets, or samples by browser path; returns available=false with a reason when browser access is unavailable or headless.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

browser_load_item ~106

Load an Ableton Browser item such as an instrument, effect, preset, or sample onto the selected or armed track. Use after browser_get_categories/path discovery. Idempotent best-effort: if the selected/armed track already has the item, returns changed=false; otherwise returns changed=true with loaded item name/path.

NameTypeReqDescription
patharrayyesBrowser path as an array of names. Ex: ["instruments", "Wavetable", "Pads", "Air Pad"].

No output schema declared.

No examples provided.

clip_add_notes ~81

Add MIDI notes to an existing session clip using ADR-0003 note fields. Use after creating or locating the target clip. NOT idempotent: repeated calls append notes; returns added count and verification diff if the count does not match.

NameTypeReqDescription
clip_slot_indexintegeryes
notesarrayyes
track_indexintegeryes

No output schema declared.

No examples provided.

clip_fire ~69

Trigger a session clip slot. Use when the user wants to launch a specific clip in Session view. Idempotent for already-playing clips, returning changed=false; playback state is async, so verification is marked unverified.

NameTypeReqDescription
clip_slot_indexintegeryes
track_indexintegeryes

No output schema declared.

No examples provided.

clip_set_envelope ~107

Replace all automation points for one clip envelope. Use when the user wants a complete envelope rewrite for mixer or device parameters. NOT idempotent for partial edits; returns written point count and verification diff after hold-curve expansion.

NameTypeReqDescription
clip_slot_indexintegeryes
parameter_pathstringyesmixer.volume | mixer.panning | mixer.send.<i> | device.<i>.parameter.<n>
pointsarrayyes
track_indexintegeryes

No output schema declared.

No examples provided.

clip_set_loop ~98

Configure a clip's loop_start, loop_end, and/or looping flag while preserving omitted fields. Use for clip loop edits after locating the clip. Idempotent within 1e-4 and verified against only the fields provided by the caller.

NameTypeReqDescription
clip_slot_indexintegeryes
loop_endnumber
loop_startnumber
loopingboolean
track_indexintegeryes

No output schema declared.

No examples provided.

clip_set_name ~73

Rename a session clip by track and slot index. Use after confirming the target clip exists. Idempotent: unchanged names return changed=false; verified via read-after-write and returns before/after names.

NameTypeReqDescription
clip_slot_indexintegeryes
namestringyes
track_indexintegeryes

No output schema declared.

No examples provided.

clip_stop ~70

Stop playback for a specific session clip slot. Use to halt one clip without stopping the global transport. Idempotent for already-stopped clips; returns changed=false when no launch state changed and marks async playback verification unverified.

NameTypeReqDescription
clip_slot_indexintegeryes
track_indexintegeryes

No output schema declared.

No examples provided.

create_midi_clip ~93

Create an empty MIDI clip in a session clip slot. Use when the target MIDI track and clip slot are known and a new clip is needed. NOT idempotent for occupied slots; wrapped in an undo step and verified by returned clip length/name.

NameTypeReqDescription
clip_slot_indexintegeryes
length_beatsnumberyes
namestring
track_indexintegeryes

No output schema declared.

No examples provided.

device_get_parameters ~67

Read-only list of parameters for a device by track/device index. Use before parameter automation or value changes; returns value/range/automation state and knowledge-base unit/description metadata when the device matches bundled schemas.

NameTypeReqDescription
device_indexintegeryes
track_indexintegeryes

No output schema declared.

No examples provided.

device_inspect_patcher ~76

Read-only Max for Live patcher discovery for a device. Use when deciding whether a device exposes inspectable M4L patcher metadata. Returns available=false with a reason when the target is not inspectable or the runtime lacks patcher access.

NameTypeReqDescription
device_indexintegeryes
track_indexintegeryes

No output schema declared.

No examples provided.

device_inspect_plugin ~76

Read-only VST/AU plug-in discovery for a device. Use when identifying third-party plug-ins without relying on user-edited device names. Returns plug-in identity and parameters, or available=false with a reason for native devices or unsupported runtimes.

NameTypeReqDescription
device_indexintegeryes
track_indexintegeryes

No output schema declared.

No examples provided.

device_set_parameter ~61

Set one device parameter by parameter_index or parameter_name. Use after device_get_parameters when possible. Idempotent within 1e-4 (or exact for quantized values); name lookup adds one bridge call and returns before/after value with verification diff.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_prompts ~52

Read-only list of MCP prompts bundled with the server for clients that do not expose prompt discovery natively. Use when the user asks what workflows are available; returns prompt names, descriptions, arguments, and total count.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_recipes ~57

Read-only list of embedded music recipes, optionally filtered by category. Use before apply_recipe to choose a valid recipe id; returns recipe metadata, tags, version, category, and total count without touching Live.

NameTypeReqDescription
categorystring

No output schema declared.

No examples provided.

list_resources ~56

Read-only list of MCP resources exposed by the server for clients that do not expose resource discovery natively. Use when the user asks what context URIs are available; returns resource URI, name, description, MIME type, and total count.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

play ~86

Start or continue Ableton Live playback. Use when the user wants transport running; optional from_beginning restarts at song start. Idempotent: already-playing sessions return changed=false; transport state is async, so the result is marked unverified with current song time.

NameTypeReqDescription
from_beginningbooleanIf true, restarts the song from the beginning. Default false (continues).

No output schema declared.

No examples provided.

push_set_button_led ~76

Set the LED color and mode for a Push transport or utility button. Use for hardware feedback after Push detection. Requires Push 2/3; defaults mode to solid and returns sent=true with the accepted button/color/mode.

NameTypeReqDescription
buttonstringyes
colorintegeryes
modestring

No output schema declared.

No examples provided.

push_set_mode ~65

Switch Ableton Push 2/3 to note, session, drum, or step mode. Use when preparing a performance or editing workflow on Push hardware. Requires Push 2/3; returns sent=true with the mode accepted by the bridge.

NameTypeReqDescription
modestringyes

No output schema declared.

No examples provided.

push_set_pad_color ~87

Set the color of one Ableton Push 2/3 pad on the 0..63 grid. Use for visual feedback or performance layouts after hardware detection. Requires Push 2/3; returns sent=true with the pad and color accepted by the bridge.

NameTypeReqDescription
colorintegeryes
padintegeryesPush pad grid 0..63 (8x8).

No output schema declared.

No examples provided.

render_preview ~66

Preview the current Live set state. Use when an agent needs a lightweight result check; mode 'snapshot' returns deep state without audio, while mode 'bounce' is reserved for future audio export and returns requested bar count.

NameTypeReqDescription
barsinteger
modestring

No output schema declared.

No examples provided.

scene_fire ~61

Fire a Session view scene by index, triggering all clips on that row. Use for arrangement-style playback from scenes. NOT idempotent: re-triggering restarts clips; returns scene name and marks async transport verification unverified.

NameTypeReqDescription
indexintegeryes

No output schema declared.

No examples provided.

session_diff ~54

Compare a previous session_snapshot with the current Live state. Use after a mutation batch to verify what actually changed; returns added/removed/changed paths with before/after values and a change count.

NameTypeReqDescription
previousobjectyes

No output schema declared.

No examples provided.

session_get_info ~51

Read-only top-level snapshot of the Live set. Use first when orienting an agent before edits; returns tempo, transport, time signature, track counts, root note, and scale without mutating the session.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

session_link_status ~49

Read-only Ableton Link and external sync status discovery. Use before sync-sensitive playback or collaboration workflows. Returns available=false with nullable status fields and a reason when the Live runtime does not expose Link state.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

session_snapshot ~62

Read-only deep snapshot of the Live session. Use before and after mutating tools to verify changes with session_diff; returns tracks and optional clips/devices without changing playback or session state.

NameTypeReqDescription
include_clipsboolean
include_devicesboolean

No output schema declared.

No examples provided.

set_tempo ~83

Set the global Ableton Live tempo in BPM (20-999). Use for song-wide tempo changes before creating clips or scenes. Idempotent within 0.001 BPM and verified via read-after-write; returns before/after tempo and diff if verification disagrees.

NameTypeReqDescription
bpmnumberyesTempo in BPM. Live's valid range: 20–999.

No output schema declared.

No examples provided.

stop ~55

Stop Ableton Live playback. Use before editing or when the user asks to halt audio. Idempotent: already-stopped sessions return changed=false; transport state is async, so the result returns current song time and is marked unverified.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

track_create ~74

Create a new MIDI or audio track at an optional index. Use when the user explicitly wants another track. NOT idempotent: every call creates a track; returns the created track and verifies that its type matches the request.

NameTypeReqDescription
indexinteger
namestring
typestringyes

No output schema declared.

No examples provided.

track_get_info ~63

Read-only details for one regular track by index. Use before track-scoped edits to inspect name, type, volume, panning, sends, clip slots, clips, and device counts; returns verified state without mutating the session.

NameTypeReqDescription
indexintegeryes

No output schema declared.

No examples provided.

track_list ~71

Read-only list of regular, return, and master tracks in the current Live set. Use before addressing tracks by index or deciding where to create content; returns counts and optional return/master sections without mutating the session.

NameTypeReqDescription
include_masterbooleanDefault true.
include_returnsbooleanDefault true.

No output schema declared.

No examples provided.

track_set_name ~66

Rename a regular track by index. Use after track_list or track_get_info has confirmed the target track. Idempotent: unchanged names return changed=false; verified via read-after-write and returns before/after names.

NameTypeReqDescription
indexintegeryes
namestringyes

No output schema declared.

No examples provided.

track_set_volume ~86

Set a regular track's mixer volume as a normalized 0..1 value. Use for mix balance changes after confirming the track index. Idempotent within 1e-4; returns linear and dB before/after values with verification diff on mismatch.

NameTypeReqDescription
indexintegeryes
volumenumberyesNormalized 0..1 per ADR-0004.

No output schema declared.

No examples provided.

track_upsert ~73

Find or create a track by name and type. Use when a workflow needs a named target track but should avoid duplicates. Idempotent: returns changed=false when the track already exists; verified by returned name/type.

NameTypeReqDescription
indexinteger
namestringyes
typestringyes

No output schema declared.

No examples provided.