Hello!!
So… I may or may not have gone down the MCP rabbit hole recently. What started as “just a quick experiment” turned into me duct-taping together a prototype MCP server so your Agents can talk directly to Renoise. Yes. This is a thing now.
Before anyone installs it expecting enterprise-grade stability: don’t. This is gloriously experimental. It was hacked together for fun, curiosity, and the noble pursuit of “wait… can this actually work?” It’s missing obvious stuff, it lacks basic features, documentation was created on acid and stability is… aspirational. But it does open the door to some very interesting possibilities.
In other words: it’s not finished, it’s not polished, but it’s alive.
If you enjoy poking at bleeding-edge toys and seeing what breaks first, you’ll feel right at home.
All credit (and partial blame) goes to the amazing LLMs tools that made this hackery possible.
Here it is: https://www.renoise.com/tools/renoise-mcp
Enjoy!
❯ Connect to renoise and fill Track 01 with random notes in all lines
⏺ Searched for 1 pattern, read 1 file (ctrl+o to expand)
⏺ Now let me call the tool via the MCP server. First I need to check which pattern is currently active, then fill track 1.
⏺ Bash(Fill track 1 with random notes via MCP)
⎿ Done (1 tool use · 6.6k tokens · 8s)
(ctrl+o to expand)
⏺ Done. Track 01 in pattern 0 now has 64 lines filled with random notes spanning C-3 to C-7, all using instrument 0.
❯ Do the same in track 2 with random instruments but only fill every 4 lines
⏺ Bash(Fill track 2 random notes every 4 lines)
⎿ Done (1 tool use · 6.6k tokens · 6s)
(ctrl+o to expand)
⏺ Done. Track 2 now has 16 notes placed on every 4th line (lines 1, 5, 9, … 61), each with a random note in C-3 to C-7 and a random instrument
from 0–7.
❯ keep only line 0..3..7 (every 4 lines)
⏺ The pre-reload fill left notes on every line. I'll clear track 2 first, then refill with step=4 so only lines 0, 4, 8 … 60 (0-based) have
notes.
⏺ Bash(Clear track 2 then refill every 4th line)
⎿ Done (2 tool uses · 7.1k tokens · 11s)
(ctrl+o to expand)
⏺ Done. Track 2 now has 16 notes on lines 0, 4, 8 … 60 (0-based), all cleared between them.
❯ Add ozone12 plugin in the master
⏺ Now let me check the devices tools to add Ozone 12 to the master track.
⏺ Read 1 file (ctrl+o to expand)
⏺ I need to find the master track index and then search for Ozone 12. Let me do both steps:
⏺ Bash(Find master track and search for Ozone 12)
⎿ Done (2 tool uses · 7.4k tokens · 14s)
(ctrl+o to expand)
⏺ Master track is index 9. Let me search for Ozone there with a few filter variants:
⏺ Bash(Search Ozone on master track)
⎿ Done (2 tool uses · 6.9k tokens · 12s)
(ctrl+o to expand)
⏺ Not found under those names. Let me do a broader search to see how plugins are listed:
⏺ Bash(Browse available AU/VST plugins on master)
⎿ Done (2 tool uses · 10.1k tokens · 20s)
(ctrl+o to expand)
⏺ The iZotope plugins use AU codes like aufx:ZBBA:iZtp. Let me find all of them and identify Ozone 12:
⏺ Bash(Find Ozone 12 AU path on master)
⎿ Done (2 tool uses · 9.3k tokens · 20s)
(ctrl+o to expand)
⏺ Found it — Audio/Effects/AU/aufx:ZBOZ:iZtp. Adding it to the master now:
⏺ Bash(Add Ozone to master track)
⎿ Done (1 tool use · 6.5k tokens · 8s)
(ctrl+o to expand)
⏺ Done. Ozone 12 (aufx:ZBOZ:iZtp) has been inserted at position 2 on the master track (Mst).
❯ swap track 1 and 2
⏺ Read 1 file (ctrl+o to expand)
⏺ Bash(Swap tracks 1 and 2)
⎿ Done (1 tool use · 6.4k tokens · 5s)
(ctrl+o to expand)
⏺ Done. Tracks 1 and 2 have been swapped.