Fender Studio Pro MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Fender Studio Pro MCP
A native Rust MCP server that lets an LLM read and control Fender Studio Pro through typed tools. The server connects to a JavaScript bridge and EditTasks inside the DAW through a local mailbox and CoreMIDI.
Actual DAW checks use Fender Studio Pro 8.1.1 Build 113103 on macOS Apple Silicon. The bridge, MIDI note creation and editing, 55 representative built-in parameter roundtrips and 3 bypass roundtrips have passed live checks. A separate follow-up verified all 16 fixed controls on an existing top-level Splitter and 15 named Surround Panner controls in a 5.1 fixture. The 60-class matrix now has 57 classes with changed parameter or native graph controls and 3 with bypass-only control; complete control of every built-in plugin remains unfinished. The earlier 55-class parameter coverage was not rerun on the follow-up binary. Read the validation report and plugin matrix for the evidence boundaries.
The 30 MCP tools cover session and transport state, tracks and mixer channels, MIDI parts and notes, supported plugin parameters, existing Splitter controls, and finite editing operations. Saved-song inspection and WAV analysis also run without a DAW connection. Current surface mappings cover at most 256 mixer channels, 16 insert slots and 8 sends per channel; note-edit batches cover at most 128 parts. Windows, Intel Mac, and Linux DAW integration have no actual-environment validation.
Build with Rust 1.88 or newer and Cargo. The installed server runs as a native binary. Node.js and Python are development and validation tools. The server does not launch either runtime.
Follow these steps for the first connection.
Clone, build, and install the bridge and EditTasks.
git clone https://github.com/dev-universe/fender-studio-pro-mcp.git cd fender-studio-pro-mcp cargo build --locked --release ./target/release/fender-studio-pro-mcp installThe default DAW profile is
~/Library/Application Support/Fender/Studio Pro 8. For a different profile, pass--profile /path/to/profileto each command. Installation adds the managed device and extension assets and preserves unrelated settings.Start the MCP server through your client using the configuration below. For initial device setup without an MCP client, keep this command running in a terminal.
./target/release/fender-studio-pro-mcp holdThe
holdcommand prints"ready": trueand publishes the virtual MIDI source. Keep the owner process running while you configure the DAW.Quit and restart Studio Pro after installation, with the server or
holdprocess already running.Open External Devices, add a Control Surface, and select these settings.
Setting
Value
Vendor
fender-studio-pro-mcpDevice
Fender MCP BridgeReceive From
fender-studio-pro-mcpSend To
NoneOpen a session. Use a named disposable scratch session for the first editing checks, with playback and recording stopped. The validated request path requires an open session. The Home screen can time out.
To check the installation and current connection, first disconnect the MCP client or stop
holdwith Ctrl-C. Then run the standalone diagnostic../target/release/fender-studio-pro-mcp doctor --liveLook for
"installation_current": trueand"live_verified": true. A storedstatus_filealone reports a previous bridge load. It does not verify the current connection.Start your MCP client again. Only one server,
hold, live diagnostic, or CLI controller can own the same profile at a time. A second owner returnscontroller_busy.
Use an absolute binary path in a client that supports stdio MCP servers. Adapt this generic configuration to your client's settings format.
{
"mcpServers": {
"fender-studio-pro": {
"command": "/path/to/fender-studio-pro-mcp/target/release/fender-studio-pro-mcp",
"args": ["serve"]
}
}
}The client starts serve and exchanges MCP JSON-RPC through stdin and stdout. The server writes diagnostics to stderr. Keep the server alive during the DAW session. If the input source disconnects after a server restart, reselect Receive From with the server running. Restarting the DAW with the owner already running is the first-connection sequence above. Reconnection across every launch order remains unverified.
Ask the LLM to call host_status before editing. Mutations require its current document token as expected_document. Reopening or switching a document invalidates earlier editing intent. Call operations_list to inspect the finite operation schema and tool capabilities.
For standalone CLI calls, stop any other owner first. Read the current context.
./target/release/fender-studio-pro-mcp call contextFor a scratch channel named Scratch with Mixtool in insert slot 0, read the parameter before setting it. Replace the names and document token with the values from your own scratch session. Insert slots start at zero, and normalized values range from 0 to 1.
./target/release/fender-studio-pro-mcp call pluginParams \
'{"kind":"effect","channel":"Scratch","slot":0,"plugin":"Mixtool","names":["gain"]}'
./target/release/fender-studio-pro-mcp call setPluginParam \
'{"kind":"effect","channel":"Scratch","slot":0,"plugin":"Mixtool","param":"gain","normalized":0.5}' \
--expected-document 'DOCUMENT_TOKEN_FROM_CONTEXT'Plugin writes require the expected plugin class or instance name. Parameter discovery uses partial metadata candidates. A missing candidate does not prove that the plugin lacks the control. Class matching also cannot distinguish replacement by another instance of the same class in the same slot.
Use track_formats to read the host's exact audio format names, then tracks_edit with {"ops":[{"op":"addAudioTrack","name":"Scratch 5.1","format":"5.1"}]} and the current expected_document, using a returned format name. Mono and stereo names can be localized. The operation refuses unknown/non-audio formats and duplicate track names. panner_get includes the channel's readable speakerFormat descriptor.
For an existing Splitter, splitters_list returns its native node name, label and active parameter descriptors; pass that identity to splitter_set. Counts 2..5, modes 0..2, five gains, five mutes and four crossovers passed change/readback/restore checks. Graph creation, connection, deletion and nested graph editing remain unfinished. Surround Panner uses plugin_parameters and plugin_parameter_set with kind:"panner", slot:0 and plugin:"Surround Panner". Only the 5.1 fixture and 15 known parameter names are verified. Read native descriptors or use normalized writes: some raw scales are 0..10000. External Effect gain, mix and routing, and full native parameter enumeration remain open.
Read each outcome receipt. applied_verified includes operation-specific readback. applied_unverified acknowledges an edit without complete verification. partially_applied preserves successful earlier work. outcome_unknown can mean the edit happened before a timeout. Inspect the actual state before deciding whether to repeat an operation.
These commands inspect local files without connecting to the DAW or taking its controller lock.
./target/release/fender-studio-pro-mcp local-catalog --plugin 'Pro EQ'
./target/release/fender-studio-pro-mcp song-read /path/to/Scratch.song
./target/release/fender-studio-pro-mcp audio-analyze /path/to/render.wavlocal-catalog reads candidate parameter names from the installed app's metadata. song-read reports the last saved archive, including partial plugin snapshots, rather than unsaved live edits. audio-analyze reports WAV loudness, peak, RMS, and stereo measurements with explicit format and measurement limits. Dedicated DAW capture and export workflows remain unfinished.
After a source update, rebuild, stop the active owner, run install, and restart Studio Pro. The installer refuses to overwrite modified managed assets without install --force. Back up your changes before using that option. To remove unchanged managed assets, stop the owner and run uninstall. Locally modified managed files are preserved.
Use these documents for details.
This independent project is not affiliated with Fender or PreSonus. Fender Studio Pro and Studio One are trademarks of their respective owners. The project uses the MIT license. Copied upstream assets retain their notices in third-party notices.
This server cannot be deployed
Maintenance
Related MCP Connectors
Browser DAW for AI assistants: build multitrack songs with MIDI, effects, stems and generation.
Compose, mix, master and export in Logic Pro, REAPER or Ableton Live by talking to an AI engineer.
Autonomous music production for AI agents with MIDI generation, QC and provenance.
Music industry tools for AI agents: artist research, catalogs, release plans and content.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to connect to Ableton Live, inspect the arrangement, compose and edit MIDI, manage tracks/scenes/clips, insert and tweak devices, and control the mixer.MIT
- FlicenseNot gradedqualityBmaintenanceProvides AI agents with reversible DAW control for music production, enabling inspection of instruments and parameters, batch edits, and evaluated revision runs with audio feedback and rollback.2-
- AlicenseNot gradedqualityBmaintenanceEnables MCP agents to inspect and precisely edit a running Ardour session — tracks, buses, groups, mixer, transport, regions, internal MIDI, plugins, routing and automation — through the DAW's Lua APIs with optional native OSC, plus offline audio analysis and comparison of master exports. Edits are exposed as 80 typed tools with persistent IDs, explicit units, preflight validation and structured change/error results.GPL 3.0
- AlicenseBqualityBmaintenanceControl Logic Pro locally on macOS through MCP: transport, tracks, mixer, plug-in parameters, audio analysis, bounce and delivery, with optional gesture and voice control. Uses OSC, CoreMIDI and macOS Accessibility. Actions report confirmed, uncertain or failed outcomes. Actual control requires a local Mac with Logic Pro. Hosted/Linux builds are schema inspection only; all operations are disabled.122MIT