Skip to main content
Glama
michaelcortese

Better Ableton MCP

Better Ableton MCP

Documentation · Example conversations · Complete tool index

A custom Ableton Live MCP focused on keeping sets tidy and creating MIDI that fits material already in the set. It combines the practical socket-based Live control of ahujasid/ableton-mcp with the composition direction of FabianTinkl/AbletonMCP, then adds an organization layer designed for repeatable daily use.

What works

  • The upstream control surface: session/track inspection, MIDI/audio track and clip creation, note insertion, transport, browser loading, and Session-to- Arrangement duplication.

  • preview_session_sort: classify the entire set without making changes.

  • sort_session: one call to rename and recolor tracks, normalize generic clip names, and match clip colors to their tracks. The operation is grouped into a single Ableton Undo step and is safe to run repeatedly.

  • analyze_track_harmony: infer key/mode and pitch-class weight from any list of MIDI tracks, using Session clips, Arrangement clips, or both. Tracks with Arrangement MIDI only are supported; Session clips are not required.

  • analyze_midi_progression: detect one chord per non-empty MIDI bar locally, with optional chord-theory enrichment from the THIRI REST API.

  • reharmonize_chord_progression: ask THIRI for alternate chord-symbol progressions using a selected reharmonization technique.

  • generate_for_tracks: create a melody or chord clip whose scale and pitch choices come from the specified tracks. Supplying an Ableton Group Track automatically includes its descendants. Seeds make melody variants repeatable.

  • generate_chords_for_selected_audio: analyze a warped, monophonic vocal or other audio phrase directly from its source audio—without converting it to MIDI—and create a meter-aware MIDI chord progression aligned to it. By default it analyzes the whole selected Arrangement clip; an Arrangement Loop can instead mark a shorter phrase.

  • preview_converted_midi_cleanup: inspect noise from Ableton's Convert Melody or Harmony to MIDI without changing the clip.

  • clean_converted_midi: conservatively remove conversion artifacts across Session and Arrangement clips in one Ableton Undo step.

  • No analytics or usage telemetry.

Track reordering is intentionally not automated because Ableton's documented Live Object Model does not expose moving or grouping existing tracks.

Related MCP server: LiveMCP

Install

Requires Ableton Live 11 or 12 and Python 3.10+.

  1. Copy the BetterAbletonMCP_Remote_Script folder into your User Library's Remote Scripts folder. On Windows this is commonly:

    %USERPROFILE%\Documents\Ableton\User Library\Remote Scripts\
  2. Restart Live, then choose BetterAbletonMCP_Remote_Script under Preferences → Link, Tempo & MIDI → Control Surface. Leave Input and Output as None.

  3. From this repository, install the server:

    py -m venv .venv
    .\.venv\Scripts\Activate.ps1
    pip install -e .

    To generate chords from selected audio, install the optional local audio analysis dependencies instead:

    pip install -e ".[audio]"

    Optional hosted theory and voicing features use the official THIRI REST API at https://chords.thiri.ai. Create and rotate credentials through THIRI Innovate. Use .env.example as a reference and set THIRI_API_KEY in the environment used to launch the MCP server; .env is not loaded automatically. Never commit the key. Rotate any key pasted into chat before use.

  4. Add the server to an MCP client. Use absolute paths:

    {
      "mcpServers": {
        "better-ableton": {
          "command": "C:\\absolute\\path\\to\\.venv\\Scripts\\python.exe",
          "args": ["-m", "better_ableton_mcp.server"],
          "cwd": "C:\\absolute\\path\\to\\better-ableton-mcp"
        }
      }
    }

The Remote Script listens on TCP port 9877 by default. Override the client side with ABLETON_HOST and ABLETON_PORT environment variables.

Example requests

Preview how you would organize this Ableton set.
Sort this set: normalize the names and colors of tracks and clips.
Analyze the harmony in tracks 2, 3, and 6.
Detect the chord progression in MIDI track 2, one chord per four-beat bar.
Reharmonize C, Am, F, G using modal interchange.
Create an 8-bar melody that goes with tracks 2 and 3; use seed 17.
Create a 4-bar chord clip for the MIDI material in tracks 1, 4, and 5.
Make a chord progression that goes with the selected vocal clip.
Preview cleanup of the converted melody on track 7 at strength 0.5.
Clean the converted harmony on track 4, preserving chords.

Track and clip indices are zero-based at the protocol level. Ask for session information first when the intended tracks are ambiguous.

For the selected-vocal request, click a warped Arrangement audio clip so it is shown in Clip View. The audio must be monophonic, use any Warp mode except Re-Pitch, and be readable from the machine running the MCP server. Audio decoding, pitch detection, and chord selection stay local, and no intermediate MIDI transcription is created. With the default theory_provider="auto", a configured THIRI key is used only to voice the locally chosen chord symbols; raw audio, track names, and clip names are never sent. Without a key, the tool uses local triads. The defaults (selection_mode="clip", bars=0) analyze the whole clip, create a new MIDI track, and put an exact-duration MIDI chord clip at the audio clip's start; no instrument is loaded. To analyze only a phrase, set and enable Live's Arrangement Loop with Cmd-L/Ctrl-L and use selection_mode="loop". Analysis is limited to 300 seconds of source audio per request.

Organization conventions

The default palette uses seven stable categories: drums (10 DRM), bass (20 BAS), music (30 MUS), vocals (40 VOX), effects (50 FX), references (60 REF), and utility tracks (70 AUX). Classification considers the track name, parent group name, track type, and device names. Edit CATEGORIES and KEYWORDS in src/better_ableton_mcp/organization.py to match your template.

Development

pip install -e ".[dev,audio]"
pytest
ruff check src tests

The harmony and organization engines are pure Python and can be tested without Ableton. Live integration requires Live to be running with the Remote Script enabled.

Converted MIDI cleanup

The cleaner targets common audio-to-MIDI artifacts rather than simply deleting everything outside a scale. It detects very short isolated blips, weak and rare pitches, implausible register outliers, overlapping same-pitch fragments, and extra simultaneous pitches in melody conversions. Harmony mode preserves polyphony. auto chooses between melody and harmony behavior from onset density.

Use preview_converted_midi_cleanup first and begin around the default strength of 0.55. A lower strength is more conservative. Applied cleanup is grouped into one Ableton Undo step, so the original result can be restored immediately.

License

MIT. See LICENSE and NOTICE.md.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/michaelcortese/better-ableton-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server