Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ulm0/ableton-live-mcp --skill ableton-livegit clone --depth 1 https://github.com/ulm0/ableton-live-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ulm0/ableton-live-mcp/ableton-live)<a href="https://agentmods.dev/skills/ulm0/ableton-live-mcp/ableton-live"><img src="https://agentmods.dev/badge/skills/ulm0/ableton-live-mcp/ableton-live/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ulm0/ableton-live-mcp/ableton-live"><img src="https://agentmods.dev/badge/skills/ulm0/ableton-live-mcp/ableton-live.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00065 | $0.08458 |
| Opus 5.5 | $0.00026 | $0.03383 |
| Sonnet 5.5 | $0.00013 | $0.01692 |
| Haiku 4.5 | $0.00006 | $0.00846 |
Grade A, and why
ableton-live scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 17d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 422 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ableton Live via MCP
The ableton-live MCP server (streamable HTTP, http://127.0.0.1:8722/mcp) controls a running
Ableton Live 12. If tools fail to connect: Live is not running, the extension is not installed,
or the port was changed in the extension's config.json (default 8722). HTTP 401 means the
user set an auth_token in config.json and the client must send Authorization: Bearer <token>; 503 means config.json has an invalid security setting (the error says which, and the
Status dialog in Live too). Ask the user to fix their client or config; never guess a token.
Core workflow
- Always start with
song_get. It returns the set with object ids. Every other tool takes those ids. Passincludeto fetch only some sections. To read the whole set in one call, add the deep sections:song_get {include:["tracks", "devices", "mixer", "clips"]}(see Reading the whole set). - Drill down with
track_get/device_get/clip_get— they return child ids (clips, parameters, chains).track_gettakes anincludeselector to skip sections you don't need. - Address tracks and scenes by name when the user does. Every tool that acts on one track
(
track_get,track_set,track_delete,track_duplicate,track_clear_clips_in_range,take_lane_create,render_track_audio,audio_track_consolidate,mixer_get,mixer_set,device_insert,drum_kit_build,clip_create,clip_copy) takestrack_id,track_index(0-based, regular tracks) ortrack_name(exact first, then case-insensitive; also finds return and main tracks). The scene tools,clip_createandclip_copytakescene_id,scene_indexorscene_name. "Mute the Drums" is one call:track_set {track_name:"Drums", mute:true}. If you give several fields they must name the same object. An ambiguous name fails with the matching candidates — pick one by id or index.track_deleteandscene_deleteonly accept the exact name. Parameters work the same way: see Devices & sound design. - Ids become stale when objects are deleted/moved or a different set is loaded. On a stale-id
error, re-run
song_getand re-resolve. Errors about your arguments (unknown name, index out of range, missing or conflicting fields) come without the stale-id hint: fix the call instead. - Writes apply asynchronously: a read right after a write can still return the old value.
- The user can switch tools off in config.json:
read_onlyleaves only the tools that read the set,disabled_toolsdrops the ones it names. A switched-off tool is not listed at all (a batch step naming it fails with "switched off"); the server instructions say which. Tell the user that the action is switched off on their server instead of looking for a workaround.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 17d ago Changed · +332 lines df6d0cbb88e3
- 2mo ago First seen · 90 lines · 65 tokens per session scan A cd6730e9659c
ableton-live is a skill published in the GitHub repository ulm0/ableton-live-mcp (1 stars, last pushed yesterday), licensed MIT. It adds 65 tokens to every session and 8,458 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
ableton-live
Connect and operate the Loophole Bridge (Ableton Live MCP server). Use when the user wants to check Live/bridge prerequisites, wire an MCP client to Loophole, or run a Live editing recipe (humanize, build arrangement, batch rename, chord from prompt). Triggers: "is my Ableton bridge working", "set up loophole"…
groove-builder
Use when the user wants drum patterns by genre - kick, snare, hi-hat, percussion. Examples - "give me a trap beat", "house drum pattern", "DnB drums at 174", "lo-fi drums with swing", "boom-bap pattern".
mastering-prep
Use when the user is finishing a track and wants to check it's ready to send to a mastering engineer or for self-mastering. Audits headroom, peak levels, mono compatibility, frequency balance, LUFS. Examples - "is this ready to master?", "audit my mix before export", "check my levels".
midi-cleanup
Use when the user asks to humanize a MIDI part, fix voice leading, quantize notes, clean up timing, fix stuck/duplicate notes, or generally polish a MIDI clip they recorded or wrote. Examples - "humanize this hat", "voice these chords better", "the timing is too stiff", "fix the voice leading on the strings".
mixer-doctor
Use when the user describes a mix problem ("muddy", "harsh", "no headroom", "vocals get lost", "kick and bass fighting") or asks for a mix audit. Diagnoses the issue from session state and proposes specific corrective moves with EQ, compression, sends, and routing.
producer-mode
Use when the user asks to set up tracks, pick instruments, scaffold an arrangement, build a project template, or describe a track they want to make in Ableton Live. Examples - "make me a 4-bar lo-fi loop", "set up a film score template", "I want to start a hip-hop beat in C minor".