able-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| als_summaryA | Summarize an Ableton .als file: tempo, time signature, track and clip counts. |
| als_list_tracksB | List all tracks in an .als file with their kind, name, mute/solo state, and device count. |
| als_list_clipsA | List clips on one track (by index) or every track (omit track_index). |
| als_extract_midiB | Extract MIDI notes from one clip (by track index and clip index) as pitch/start/duration/velocity tuples. |
| als_find_unfinishedC | Heuristic suggestions about what looks unfinished in a set: missing instruments, empty MIDI clips, no master limiter, etc. |
| live_check_bridgeA | Check whether the AbleMCP M4L bridge is running. Returns the bridge's ping payload on success, or guidance on how to install the device. |
| live_statusA | Live transport state: tempo, time signature, playing flag, song position, track count. |
| live_get_tempoA | Current Live tempo in BPM. |
| live_is_playingA | Whether Live's transport is currently playing. |
| live_list_tracksA | List all tracks in the running Live set with kind, name, mute/solo/arm state. |
| live_get_selectionA | The currently selected track and scene in Live's view. |
| live_set_tempoB | Set Live's tempo (BPM, 20..999). Defaults to confirm=True. |
| live_playB | Start Live's transport. Defaults to confirm=True. |
| live_stopB | Stop Live's transport. Defaults to confirm=True. |
| live_continueC | Continue playback from the current position. |
| live_undoB | Trigger Live's undo. Reverts the last LOM-visible change. |
| live_redoC | Trigger Live's redo. |
| live_create_trackA | Create a new track. kind ∈ {'midi','audio','return'}; index defaults to the end. Returns the new track info. |
| live_delete_trackB | Delete a track by index. Use live_undo to recover. |
| live_rename_trackC | Rename a track by index. |
| live_create_clipB | Create an empty MIDI clip in the given session slot. length_beats defaults to 4. |
| live_set_clip_notesB | Replace the notes in a MIDI clip. notes is a list of dicts with {pitch, start, duration, velocity, mute?}. Existing notes are removed first. |
| live_delete_clipC | Delete a clip from a session slot. |
| live_import_audioC | Import an audio file into the Live project and create an audio clip. If scene_index is given, places the clip in that session slot; otherwise places it on the arrangement at start_time. Requires the .ablx extension bridge. |
| live_render_trackB | Render the pre-effects audio of an arrangement track to a WAV file in the extension's temp directory. Returns the WAV path. |
| live_arrangement_create_midi_clipC | Create an empty MIDI clip in the arrangement timeline of a MIDI track. |
| live_arrangement_set_clip_notesB | Replace notes in an arrangement MIDI clip. notes is a list of dicts with {pitch, start, duration, velocity, mute?}. |
| live_create_sceneC | Create a new scene. index defaults to -1 (append). |
| live_env_infoA | Bridge environment info: storage/temp dirs and Live's UI language. |
| midi_estimate_keyC | Estimate the key of a MIDI clip in an .als file using the Krumhansl-Schmuckler algorithm. Returns tonic, mode, and confidence. |
| midi_note_statsC | Per-clip note stats: count, range, density, pitch-class histogram. |
| midi_guess_chordsB | Guess chords across a MIDI clip with a sliding window. window_beats defaults to 1. Returns time-aligned [{start,end,chord}] segments. |
| midi_extract_vocal_guideA | Extract a monophonic guide melody from a vocal WAV file with a dependency-free pitch tracker. Returns notes in both seconds and beats (requires tempo_bpm). |
| midi_generate_complementC | Generate a complementary MIDI melody (not a duplicate) from guide notes in beat-space. Input note dicts: {pitch,start,duration,velocity?}. |
| midi_vocal_to_complementB | Convenience one-shot: extract vocal guide from WAV and immediately generate a complementary MIDI melody in beat-space. |
| live_vocal_to_complement_midiC | End-to-end live flow: render audio from an arrangement audio track range, extract vocal guide, generate complementary melody, create a new arrangement MIDI clip, and write notes into it. |
| assist_finishingC | Aggregate finishing suggestions for a set: missing instruments, empty clips, no master limiter, single-note placeholders, very-short clips. |
| assist_harmonic_overviewA | Run key estimation and chord guessing across every MIDI clip in the set. Useful for a 'where am I harmonically' overview. |
| project_backupA | Make a timestamped copy of an .als file in /Backup/. Never modifies the source. Returns the backup path. |
| project_list_versionsC | List timestamped backups for an .als file. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/bassDaddyDevices/ABLE-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server