SkillAgentSearch skills...

studio-one-mcp

MCP server for PreSonus Studio One: read .song files, and drive a running Studio One (mixer, transport, tracks, markers, ~1,000 commands) through an in-app bridge device.

Install / Use

claude mcp add NeanderthalMan -- npx -y github:NeanderthalMan/studio-one-mcp

If the server publishes to npm under a different name, use that package instead β€” check the repo README.

About this skill
πŸ”Œ

MCP Server

Model Context Protocol server

Quality Score

84/100

Supported Platforms

Claude Code
Claude Desktop

Tags

Our assessment of studio-one-mcp

studio-one-mcp scores 84/100 on our quality scale, 2859th of 4,595 Development & Engineering skills we index.

Its MCP Server is 26 KB long, well organised into 12 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.

It has 10 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
4/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 12 days ago, so studio-one-mcp is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit β€” read the skill file before letting an agent act on it.

studio-one-mcp compared with similar skills

All 4 of these similar skills score higher than studio-one-mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
studio-one-mcp (this skill)by NeanderthalMan841012d agoMCP Server
Agent-Reachby Panniantong10096.5k4d agoCLAUDE.md
headroomby headroomlabs-ai10075.1ktodayCLAUDE.md
CowAgentby zhayujie10047.4ktodayCLAUDE.md
ai-job-searchby MadsLorentzen10046.4k4d agoCLAUDE.md

Frequently asked questions

How do I install studio-one-mcp?
Run claude mcp add NeanderthalMan -- npx -y github:NeanderthalMan/studio-one-mcp. The install tabs above show the steps for each supported agent.
Which AI agents does studio-one-mcp work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is studio-one-mcp safe to use?
It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is studio-one-mcp still maintained?
The repository was last updated 12 days ago, so studio-one-mcp is actively maintained.

studio-one-mcp

An MCP server for PreSonus Studio One. It lets Claude and other MCP clients read your songs and control a running Studio One.

Studio One has no public API, no OSC, and no network scripting. This server combines two things it does have:

| Layer | How | Needs Studio One running? | |---|---|---| | song_* tools | Parse .song files, which are zip archives of XML: tempo map, meter, markers, arranger sections, tracks, takes, clips, mixer, plug-in inserts and media. | No. Reflects the last save or autosave. | | live_* tools | A small control-surface device, installed into Studio One, that answers requests through a local file mailbox. It uses Studio One's own JavaScript device SDK. | Yes |

Status: early. Developed against Studio One 5.5.2 on macOS. Paths for Windows and for Studio One 6/7 and Studio Pro 8 are wired in but untested.

An independent project, not affiliated with or endorsed by PreSonus or Fender. Studio One is their trademark.

Tools

| Tool | What it does | |---|---| | song_list | Songs on disk, newest first. This includes songs that exist only as autosaves. | | song_read | One song, as a summary (one line per track) or full (every take and clip, instrument notes, each plug-in's saved settings, automation envelopes). Both include the song notes and channel notes when there are any. Positions are given as bar/beat and as seconds. | | song_history | A song's autosaves, for comparing versions. | | song_diff | What changed between two saves: tempo, meter, markers, sections, tracks (added, removed, renamed, takes, events, notes), mixer (levels, mute/solo, automation mode, output, plug-ins and their settings) and automation. By default it compares the song with its newest autosave, older to newer. | | live_status | Whether the bridge is reachable. If not, it says why. | | live_song | The open song as it is right now, unsaved changes included: title, file path, transport (playing, recording, loop, position, tempo, loop range, precount, preroll), track count, selected tracks. | | live_tracks | Tracks with media type, colour, mixer channel, number of takes, selection, and events (name, start, end, length in seconds, muted). | | live_select_track | Select a track by name, so that selection-based commands act on it. | | live_transport | Press a transport button: play, stop, record, return to zero, rewind or forward a bar, go to the loop start or end, toggle loop, click, precount or preroll. | | live_set_transport | Set the tempo, the playhead position (in seconds, or bars like "9.1.1.0"), and loop, precount or preroll on or off. | | live_markers | Markers with number, position (seconds and bars) and name (live, from the marker track). Reading them briefly moves the playhead and puts it back, so it refuses while playing. Studio One only has recall commands for markers 1 to 20. | | live_add_marker / live_delete_marker / live_rename_marker | Add a marker at a position (seconds or bars), optionally named; delete one by number or position; rename one by number or name. The playhead is left where it was. | | live_select_events | Select every event on some tracks or on all of them, or clear the selection. Selection-based commands then act on those events, e.g. Event/Mute Events, Edit/Split at Cursor, Event/Quantize, Track/Activate Next Layer (switch takes), Edit/Undo. | | live_set_loop | Set the loop range in seconds or bars (e.g. "9.1.1.0" to "17.1.1.0"), and turn looping on or off. | | live_takes | A track's takes: list them (with names from the last save), switch to the next or previous take or to take N, add an empty take or duplicate the active one, unpack them to separate tracks, or recall a retrospective recording. | | live_track_state | Arm, monitor, mute, solo, hide or duplicate a track by name, or show all tracks. | | live_edit_events | Clip edits on one track: mute or unmute, quantize, transpose, split or trim at a time, merge, delete. | | live_events | One event on a track, by number (in time order) or name: list them (with gain and fades for audio), edit it (move to a position, move to another track, set or add gain in dB, fade in and out) as one undo step, duplicate it N times, or copy it to a position on any track (through the clipboard). | | live_add_track | Add an audio (mono or stereo), instrument, folder or automation track. | | live_meters | Peak dB for every channel. With duration_ms, it samples during playback and reports the highest peak and any clipping. | | live_save, live_undo, live_redo | Save (optionally as a new version), and undo or redo edits, with a step count. Check the result rather than counting undo steps: see Undo. | | live_plugins / live_add_plugin | The installed plug-ins by name (PreSonus, VST and AU): effects, or instruments with kind: "instrument". Add an effect to a channel's inserts by name; one undo removes it. | | live_add_send | Add an effect send: Studio One makes a new FX channel with the plug-in and a send to it (a reverb or delay send). Sending to an existing bus is not reachable from scripts, and this is not reliably undone. | | live_add_instrument_track | Add an instrument track with a new instance of an instrument by name (Mai Tai, Presence…). One undo removes both. | | live_inserts / live_bypass_insert | Plug-ins on each channel (slot, name, bypassed), and bypass one slot or the whole rack. | | live_sends / live_set_send | Each channel's sends (destination name, level 0..1 and in dB, mute), and set a level or mute. | | live_plugin_params / live_set_plugin_param | A plug-in's parameters (value, display text like "2.0:1", range, normalised value), and set one by display text, normalised value or raw value. Studio One cannot list a plug-in's parameters, so names come from its presets and Studio One's remote-control map, which covers the PreSonus plug-ins. For other plug-ins, pass the names. | | live_mix_snapshot | Save the whole mix under a name (every channel's volume, pan, mute, solo, monitoring and send levels, per song), restore it later, or list them. Restore sets only what differs. Record-arm and automation mode are not included. | | live_plugin_snapshot | Save a plug-in's current settings under a name, and restore them onto the same kind of plug-in on any channel. A stand-in for presets: Studio One's preset commands act on the focused editor window and store through dialogs. | | live_record_setup | Read and set the metronome (click, precount and its length in bars, preroll), and set record modes (replace, loop takes or mix, takes to layers, input quantize, note erase). Studio One does not expose record modes for reading, so those are reported as set, not confirmed. Auto Punch: off, in, out or both, with a punch range (Studio One punches between the loop locators; looping is not switched on). | | live_set_automation | Set a channel's automation mode: off, read, touch, latch or write. live_channels shows each channel's mode. | | live_write_automation | Write volume (in dB) or pan automation along points, straight lines between them. Scripts cannot add envelope points, so it plays the range once in Write mode with the fader following the curve, then leaves the channel in Read. Audible, and only with confirm: true. | | live_arranger | Arranger sections: list them (live), go to one by number or name (a jump at the sync point while playing, a playhead move while stopped), step next or previous while playing, set the sync mode, create sections from markers, and add, rename, resize, move or remove a section (each one undo; the events under a section are not moved). With its content on every track: copy a section in at a position (what follows moves later), delete it and close the gap, or move it (content: true). The loop range is kept. | | live_macros / live_run_macro | The macros (built-in and your own) by title, and run one by title, or only check whether it is enabled. | | live_time_signature | The time signature at any positions; insert one at a bar, or remove one. Each is one undo. | | live_tempo | The tempo at any positions, set the tempo of the segment containing a position, or insert a tempo change. Studio One must be stopped; the playhead is put back. Removing an inserted change takes undo, so check with at afterwards. | | live_notes | Notes in an instrument track's parts: pitch (number and name, middle C = C3), velocity 0 to 127, start, end and length in seconds, start in beats. Read-only. | | live_edit_notes | Edit an instrument track's notes: transpose, set or change velocity, move, change length, quantize (to a grid like 1/16, 1/8T or 1/8., with a strength), delete (with a filter), add notes. Filters by pitch and beat range. Runs through a small edit-task extension installed with the device, so no dialog opens, and Studio One's own quantize setting is left alone. | | live_track_edit | By track name: rename, recolour ("#rrggbb"), remove, move it before or after another track, route its output to a bus or output, move it into a folder (creating the folder if asked), or rename its events (numbered in time order if asked). Rename and colour are not on the undo stack; route is set back with the "before" value it returns; remove, move, folder and event renames undo. Move, route, folder and event renames run through the MCP Track Edit task in the extension. | | live_bounce | Bounce all events on a track, in place or to a new track (the originals are muted), without dialogs. One undo reverts it; the rendered file stays in the song's Bounces folder. Mixdown and stem export open dialogs, so they are not offered. | | live_record | Record, which writes a take into the song. Only runs with confirm: true. It can arm a track first, start from a position, set precount, and stop after N seconds. | | live_channels | Live mixer: volume, pan, mute, solo, record-arm, input monitoring, automation mode, and routing (input and output by name) for each channel. To change a track's output, use live_track_edit with route. | | live_set_channel | Set volume, pan, mute, solo, record-arm or input monitoring on a channel. | | live_add_bus | Create a bus for some tracks (their outputs are routed into it) or a VCA that controls them. One undo removes it and puts the routing back. | | live_command | Run any of the roughly 1,000 Studio One commands, e.g. Transport/Start, Edit/Undo, File/Save or View/Console. check_only reports whether one is enabled without running it. | | live_list_commands | Discover command names, optionally with whether each is enabled right now. | | live_changes | What changed in the song since the previous call: tracks added, removed, renamed or reordered, events on each track, mixer changes (levels, mute and solo, arm, monitor, automation mode, output, plug-ins), tempo, loop, markers and sections. It compares snapshots, so it sees what you did by hand as well, as net changes. | | live_eval | Run JavaScript inside Studio One to explore its object model. Opt-in only. |

Install

You need Node.js 20 or newer and Studio One.

npx -y studio-one-mcp setup

That is the whole install: npm fetches the package and the guided setup below takes it from there. To work on the code instead, clone it and run setup from the checkout, which then registers that checkout:

git clone https://github.com/NeanderthalMan/studio-one-mcp.git
cd studio-one-mcp
npm install
npx studio-one-mcp setup

setup walks you through each step and asks before changing anything:

  1. It finds your Studio One user profile.
  2. It installs the MCP Bridge device into it, and a small extension (Extensions/studio-one-mcp.edittasks) that lets the bridge edit notes.
  3. It checks for a virtual MIDI port, which acts as the bridge's doorbell:

Truncated for display β€” read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated12d ago
Forks1

Languages

JavaScript

Trust signals

97/100

From repository metadata: license, adoption, age and documentation. Not a code audit β€” see the Safety scan above for what the skill file itself contains.

1 info
studio-one-mcp β€” MCP Server: Install & Safety Check | SkillAgent