Skip to content

Example conversations

These conversations are designed to get useful results from the server with fewer surprises. Copy them as written, or replace the track numbers, musical constraints, and destinations with your own.

The highest-leverage habit

Start by asking the assistant to inspect the set. Ableton's protocol indices are zero-based, so a quick inventory lets the assistant resolve phrases such as “the bass group” or “the second vocal track” safely.

Orient yourself in an unfamiliar set

Use this at the start of a session or when opening someone else's project.

You: Inspect this Ableton set. Summarize the tempo, time signature, transport
state, tracks, track types, devices, and occupied Session slots. Do not change
anything. End with the zero-based track indices I should use in later requests.

You: Now inspect tracks 2, 5, and 7 in detail. Tell me which clips and devices
are present and flag any empty Session slots that are good targets for new ideas.

Why it works: this combines get_session_info with targeted get_track_info calls and establishes reliable indices before any edits.

Tidy a set safely

Preview first, then apply only after reviewing the plan.

You: Preview a complete organization pass. Show every proposed track and clip
rename, category, and color, but do not change Live yet.

You: The preview looks good. Apply that exact organization pass with track
renaming, track recoloring, and clip normalization enabled. Summarize how many
tracks and clips changed.

For a lighter touch:

Recolor the set by category and normalize generic clip names, but preserve all
existing track names. Preview first; if the plan is unambiguous, apply it.

The applied pass is repeat-safe and grouped into one Ableton Undo step.

Find and load the right instrument

Let the assistant explore the actual Live Browser rather than guessing a URI.

You: Inspect the set and identify the empty MIDI track named Lead. Explore the
Instruments and Sounds browser categories for suitable analog-style lead
presets. Show me five loadable choices with their URIs; do not load one yet.

You: Load the second choice onto the Lead track, then inspect that track and
confirm which device appeared.

This pattern is useful for instruments, audio effects, MIDI effects, Sounds, and Drums.

Build a drum track from the Browser

You: Inspect the set, create a MIDI track at the end, and name it Sketch Drums.
Browse the Drums category and find a path containing acoustic kits. Load a Drum
Rack and the first loadable kit at that path. Confirm the resulting devices on
the track.

load_drum_kit chooses the first loadable kit at the supplied path. Ask for a Browser preview first when the exact kit matters.

Write a melody that fits existing material

You: Inspect the set and find the tracks named Bass, Keys, and Guitar. Analyze
their MIDI in both Session and Arrangement views. Explain the inferred key and
strongest pitch classes before creating anything.

You: Create an 8-bar melody from those source tracks at density 0.45 with seed
17. Put it on a new MIDI track in the first empty Session slot. Report the new
track index, clip slot, key, and note count.

If a named source is a Group Track, its descendant MIDI tracks are included automatically.

Detect and reharmonize a MIDI progression

Local detection works offline:

Analyze Arrangement MIDI on tracks 2 and 5 one four-beat bar at a time. Detect
the chord symbols locally and report the inferred key, confidence, and source
clip for every result. Do not change Live.

To use optional hosted theory, configure THIRI_API_KEY and ask:

Analyze the same MIDI progression with theory_provider="thiri". Then
reharmonize the detected chord symbols using secondary_dominant in the inferred
key. Return the original and alternative progressions and any quota fields.

Only detected chord symbols and the inferred key are sent for analysis; raw MIDI, audio, track names, and clip names stay local. Reharmonization sends the specified chord-symbol list, technique, and key. Use theory_provider="auto" for local fallback or "thiri" when hosted failure should stop the request.

Generate chords under a melody

Analyze the MIDI on the Lead and Countermelody tracks, using Arrangement clips
only. Create a 16-bar chord clip at density 0.35 with seed 9. Put it in the
first empty Session slot on the existing MIDI track named Harmony Bed. Do not
overwrite any clip; stop and explain if no slot is available.

This makes the source scope, musical role, length, density, seed, and destination explicit.

Harmonize a selected vocal phrase

Install the optional audio dependencies with pip install -e ".[audio]", then prepare the selection in Live:

  1. Click the warped, monophonic vocal clip in Arrangement View so it appears in Clip View.
  2. Ask:
Make a chord progression that goes with the selected vocal clip. Create it on a
new MIDI track in Arrangement View at the vocal clip's start. Use seed 12, do
not overlap existing clips, and report the analyzed range, inferred key, key
confidence, detected pitch-frame count, chosen chords, and destination.

This routes to generate_chords_for_selected_audio with its defaults except for seed=12. The defaults (selection_mode="clip", bars=0) analyze the entire selected clip directly from audio, then create a MIDI triad for each bar and trim the last chord to the clip's exact end. No intermediate MIDI transcription is created, and no instrument is loaded on a new track.

For THIRI voicings, configure a rotated key and ask:

Make chords for the selected vocal with theory_provider="thiri" and
voicing_style="drop-2". Do not create the clip if hosted voicing fails.

With theory_provider="auto", a hosted error instead creates the local triads and reports provider_warning. Audio, track names, and clip names are never sent to THIRI.

To analyze only a phrase, select it and press Cmd-L on macOS or Ctrl-L on Windows to set and enable Live's Arrangement Loop, then ask:

Generate chords for the looped phrase of the audio clip currently shown in Clip
View. Use selection_mode="loop" and bars=0, put the result in the first empty
Session slot on MIDI track 9, and use minimum_pitch_confidence=0.55.

The audio must have Warp enabled, use a mode other than Re-Pitch, contain at least two warp markers, and be monophonic enough for pYIN pitch detection. The source file must be readable from the MCP server's machine. Analysis is local; the audio is not uploaded, and each request is limited to 300 seconds of mapped source audio. The tool refuses occupied Arrangement ranges and rolls back a partial generated clip or newly created track when possible.

Audition repeatable variations

Seeds make generated ideas reproducible. Keep the musical inputs fixed and vary one number at a time.

You: Analyze tracks 1 and 4 once. Create three separate 4-bar melody variants
using density 0.6 and seeds 11, 12, and 13. Put each variant in a different
empty Session slot on track 8, name each clip with its seed, and do not fire
them yet.

You: Fire the seed-11 clip. When I ask for the next variant, stop the current
clip before firing the next one.

The generator itself creates one clip per call; the assistant can repeat the call with distinct seeds and slots.

Clean noisy audio-to-MIDI conversion

Always preview important source material before replacing its notes.

Inspect track 6 and preview converted-MIDI cleanup in melody mode at strength
0.45 across both Session and Arrangement clips. Do not alter notes. Explain
the removal reasons and identify any clip where the proposal looks aggressive.

If fewer than 15% of notes would be removed from every clip, apply that exact
cleanup. Otherwise stop after the preview.
Preview cleanup on track 3 in harmony mode at strength 0.55, Arrangement only.
Preserve polyphony and show the per-clip counts plus the first removed-note
examples. Wait for my approval before applying it.

Applied cleanup across the selected clips is grouped into one Undo step. The cleaner supports auto, melody, and harmony modes; lower strength is more conservative.

Turn a Session idea into an Arrangement sketch

You: Inspect track 5 and list its Session clips and Arrangement clips. Copy
Session slot 1 into the Arrangement at beats 0, 16, 32, and 48. Then switch to
Arrangement View, move the playhead to beat 0, and summarize the new timeline.

Destination time is measured in beats. In 4/4, beat 16 begins bar 5 and beat 32 begins bar 9.

Build a verse–chorus structure

You: Inspect the Session clips on the Drums, Bass, Chords, and Lead tracks. Ask
me to resolve any ambiguous clip names before changing the Arrangement.

You: Create this 32-bar structure by duplicating Session clips into the same
tracks: 8-bar intro without Lead, 8-bar verse with all four tracks, repeat the
verse, then an 8-bar final section without Chords. Use beat positions derived
from 4/4. When finished, list Arrangement clips on each affected track and
switch to Arrangement View.

The server copies clips; it does not move or delete the originals from Session View.

Program an exact MIDI phrase

Use explicit pitches and beat times when you already know the notes you want.

Create a 4-beat MIDI clip in Session slot 0 on track 2. Add these notes, all
unmuted: C3 (MIDI 48) at beat 0 for 1 beat, Eb3 (51) at beat 1 for 1 beat,
G3 (55) at beat 2 for 1 beat, and Bb3 (58) at beat 3 for 1 beat. Use velocity
96 for each note. Name the clip "Cm7 Arpeggio" and confirm the result.

Note pitches are MIDI numbers; start times and durations are in beats; velocity is normally 1127.

Import an audio file into Session View

Requires Ableton Live 12.0.5 or newer.

Inspect the set and find the audio track named Reference. Confirm Session slot
2 is empty. Import C:\Audio\mix-reference.wav into that slot, name the clip
"Mix Reference", and report its length. Do not start playback.

Use an absolute path. The target must be an audio track and the Session slot must be empty.

Inspect and navigate a busy Arrangement

List every Arrangement clip on tracks 0, 1, 2, and 3. Summarize their start and
end beats as sections, call out gaps or overlaps, then move the playhead to the
start of the first gap and switch to Arrangement View. Do not edit any clips.

This is a read-mostly way to understand a timeline before adding material.

Prepare a creative handoff

Inspect the entire set and give me a concise handoff report: tempo and meter;
track index, name, type, devices, and clips; inferred harmony from all MIDI
music tracks; Arrangement coverage; and any generic names. Do not change Live.
End with three concrete next actions this MCP server can perform, ranked by
likely usefulness.

A reusable prompt formula

Strong requests usually include five pieces:

Inspect [scope] first. Then [action] using [musical or organizational
constraints]. Put the result at [track/slot/beat destination]. Do not
[overwrite/play/apply] without [condition or approval]. Report [verification].

For example:

Inspect the Keys group first. Then create a 4-bar chord idea using Session MIDI
only, density 0.4, and seed 21. Put it in the first empty slot on the Harmony
track. Do not overwrite or play anything. Report the inferred key, destination,
and note count.

Know the boundaries

The server cannot reorder tracks, group existing tracks, perform reliable polyphonic audio transcription, or overwrite occupied targets during generation. Selected-audio chord generation supports warped, monophonic Arrangement clips only and rejects Re-Pitch mode. Ask it to inspect and propose a safe alternative when a request approaches those limits.