MCP Audio Studio
MCP Audio Studio is a full-featured digital audio workstation (DAW) delivered as an MCP server, allowing both AI models and users to create, edit, mix, and render music projects programmatically or through an interactive UI. Key capabilities include:
Project Management: Create, get, rename, import, and export projects as JSON files.
Studio UI: Open an interactive DAW interface with channel rack, piano roll, playlist, and mixer.
Transport Control: Set tempo (30–300 BPM), time signature, swing, loop points, metronome, play/stop, and recording state.
Tracks & Instruments: Add, update, remove instrument or audio tracks (synth, drum, sampler, WAM, VST3). Edit step‑sequencer or piano‑roll notes with MIDI note, velocity, and gate.
Audio Clips: Add, update, remove audio clips (via data URL or remote source) with gain, position, and length controls.
Mixing & EQ: Adjust volume, pan, mute, solo, and sends per track/master; apply four‑band EQ to tracks.
Effects: Add, update, remove built‑in effects (filter, delay, reverb, distortion, compressor, chorus, limiter) with mix and parameter settings.
Plugins: Add built‑in, WAM, or VST3 plugin slots; update parameters and enable/bypass (VST3 currently for metadata/future bridge, not native DSP).
Automation: Create/update automation lanes for volume, pan, EQ, effects, plugin, and instrument parameters with linear, hold, or smooth control points.
Rendering: Offline‑render to stereo 16‑bit WAV at sample rates 22050, 44100, 48000, or 96000 Hz; retrieve recent renders.
Persistence: Projects stored as JSON; supports data file persistence. Transports via stdio, Streamable HTTP, HTTPS; also serves standalone browser mode.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Audio Studio create a beat with drums and bass, then render it to WAV"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Audio Studio
An interactive digital audio workstation delivered as an MCP server and MCP App. It combines an FL-style channel rack, piano roll, playlist, mixer, effects, automation, plugin slots, audio-file tracks, microphone recording, and offline WAV rendering in one package.

The model and the person use the same authoritative project. Every UI action calls an MCP tool; every model-side edit becomes visible in an open studio through revision polling.
What works
Tempo, time signature, swing, metronome, loop, play/stop, and microphone record controls.
Instrument and audio tracks with a 16-step channel rack and chromatic piano roll.
Audio file import, clip placement, gain/trim metadata, and browser playback.
Per-channel and master volume, pan, mute, solo, sends, and animated meters.
Four-band equalizer and filter, delay, reverb, distortion, compressor, chorus, and limiter slots.
Playback and render automation for master/track mixing, EQ, sends, built-in effects, instrument parameters, and numeric plugin parameters, with linear, hold, and smooth control points.
Built-in DSP slots, browser-safe Web Audio Module (WAM) slots, and VST3 control/state slots.
Pure-JavaScript stereo WAV rendering, returned as playable MCP audio content.
Project persistence, import, and export.
stdio, Streamable HTTP, and HTTPS transports.
Standalone browser mode at the HTTP/HTTPS server root.
Related MCP server: flemcee
Run it
npm via npx (recommended)
The package is published on npm. With Node.js 18 or newer, run it without installing or cloning the repository:
# MCP stdio
npx -y mcp-audio-studio@latest --stdio
# HTTP MCP endpoint + standalone studio
npx -y mcp-audio-studio@latest --http --port 3100The HTTP studio opens at http://127.0.0.1:3100/; the MCP endpoint is http://127.0.0.1:3100/mcp.
One standalone executable
Download the executable for Windows, macOS, or Linux from GitHub Releases. It contains the server, MCP App, runtime, and JavaScript dependencies.
# MCP stdio
./mcp-audio-studio-windows-x64.exe --stdio
# HTTPS MCP endpoint + standalone studio
./mcp-audio-studio-windows-x64.exe --https --port 3100Without configured certificates, HTTPS mode creates an ephemeral self-signed localhost certificate. For a trusted certificate, set MCP_AUDIO_STUDIO_TLS_CERT and MCP_AUDIO_STUDIO_TLS_KEY.
From source
For local development from a checked-out repository:
npm install
npm run build
node ./dist/index.js --stdio
node ./dist/index.js --http --port 3100MCP client configuration
Use the npm package in an MCP client without a separate installation:
{
"mcpServers": {
"audio-studio": {
"command": "npx",
"args": ["-y", "mcp-audio-studio@latest", "--stdio"]
}
}
}For a checked-out repository instead:
{
"mcpServers": {
"audio-studio": {
"command": "node",
"args": ["./dist/index.js", "--stdio"]
}
}
}For a downloaded executable, replace command with its absolute path and use ["--stdio"] for args.
Call studio_ui to render the studio. The tool declares _meta.ui.resourceUri = "ui://audio-studio/studio-v1.html", and the resource uses the portable text/html;profile=mcp-app MIME type and MCP Apps bridge.
MCP tools
Area | Tools |
Studio and project |
|
Transport |
|
Tracks and notes |
|
Audio clips |
|
Mixing |
|
Effects |
|
Plugins |
|
Automation |
|
Rendering |
|
All data tools work without a UI and return model-readable text plus structured content. studio_ui is the dedicated render tool, avoiding unnecessary iframe remounts.
VST3 and WAM support
MCP Apps run in a sandboxed browser iframe, which cannot load native .dll, .so, or .vst3 binaries. This release therefore provides:
WAM URL slots for browser-safe plugin modules.
VST3 slots with paths, enable/bypass, parameters, opaque state, and automation targets.
A stable project/tool representation intended for a future native plugin-host bridge.
The bundled Web Audio and offline render engines process built-in instruments/effects. Native VST3 DSP is not executed in this release; representing it otherwise would be unsafe and technically inaccurate. A native bridge should isolate each plugin in its own process and use licensed VST3 hosting APIs.
Persistence and audio files
Pass --data ./studio-project.json or set MCP_AUDIO_STUDIO_DATA to persist every revision. Imported audio is stored as a data URL inside the project. Browser imports and microphone recordings are normalized to PCM WAV so browser playback and offline rendering use the same asset; direct MCP imports should provide PCM/float WAV data. Offline rendering always emits 16-bit stereo WAV.
Recent renders are kept in memory (up to eight) and are accessible with get_render or, in web mode, GET /renders/:id.
Development
npm ci
npm run typecheck
npm test
npm run build
npm run servenpm run build produces a single ./dist/index.js with the entire minified React MCP App embedded as a string. Tests use the official MCP SDK’s linked in-memory transport to verify tool and UI resource discovery.
Publishing to npm
To publish the current version:
npm run releaseThe release command signs in through npm when necessary, runs the complete check suite, publishes the package publicly, and confirms that npm serves the version. It is safe to rerun: if that exact version is already published, it verifies the project and skips the duplicate publish.
Run npm run release:check to validate the release helper without publishing.
Security
The web server disables identifying headers and uses a 64 MB JSON limit for embedded audio.
MCP App permissions request microphone and clipboard-write; hosts may deny either capability.
The app declares inline, fullscreen, and picture-in-picture (
pip) display-mode support; the host chooses which declared modes are available.Remote WAM and audio URLs are represented in project state but are not allowed by the embedded MCP App CSP in this release.
VST3 paths are metadata only and are never executed.
See SECURITY.md for reporting vulnerabilities.
License
MIT
Available Tools
26 toolsadd_audio_clipAdd audio clipB
Place an audio file on a track. Pass a data URL for bundled audio or a source URL for a remotely hosted file.
Inputs: name (required), trackId (required), startStep (required), lengthSteps (required), +4 more.
add_effectAdd effectA
Add a filter, delay, reverb, distortion, compressor, chorus, or limiter to a track effects chain.
Inputs: type (required), trackId (required), mix, parameters.
add_pluginAdd pluginC
Add a built-in, Web Audio Module (WAM), or VST3 plugin slot. VST3 slots expose parameters and state for a native bridge.
Inputs: name (required), format (required), trackId (required), uri, +3 more.
add_trackAdd trackB
Add an instrument or audio track linked to a built-in, sampler, WAM, or VST3 instrument slot.
Inputs: name (required), note, type, color, +1 more.
export_projectExport projectBRead-onlyIdempotent
Export the complete project as portable JSON.
Inputs: pretty.
get_projectGet projectARead-onlyIdempotent
Return the authoritative DAW project, including transport, tracks, steps, clips, mixer, effects, plugins, EQ, and automation.
Inputs: no named parameters.
get_renderGet audio renderARead-onlyIdempotent
Retrieve a recent rendered WAV file by render ID.
Inputs: renderId (required).
import_projectImport projectADestructive
Replace the current project from an exported project JSON document.
Inputs: json (required).
new_projectNew projectADestructive
Create a fresh demo-ready audio project, replacing the current project.
Inputs: name.
remove_audio_clipRemove audio clipADestructive
Remove an audio clip from a track.
Inputs: clipId (required), trackId (required).
remove_automationRemove automation laneCDestructive
Remove an automation lane.
Inputs: laneId (required).
remove_effectRemove effectADestructive
Remove an effect from a track effects chain.
Inputs: trackId (required), effectId (required).
remove_pluginRemove pluginBDestructive
Remove a plugin slot from a track.
Inputs: trackId (required), pluginId (required).
remove_trackRemove trackADestructive
Remove a track and its notes, clips, mixer channel, effects, plugins, and related automation.
Inputs: trackId (required).
render_audioRender audioARead-onlyIdempotent
Offline-render the current project to a stereo 16-bit WAV file and return playable audio.
Inputs: bars, name, sampleRate.
set_equalizerSet equalizerB
Set the four-band EQ gains in dB for a track.
Inputs: trackId (required), low, high, lowMid, +1 more.
set_mixerSet mixer channelA
Set volume, panning, mute, solo, and send levels for a track or the master channel.
Inputs: target (required), pan, mute, solo, +3 more.
set_projectSet project metadataA
Rename the current project.
Inputs: name (required).
set_stepsSet sequencer stepsA
Edit step-sequencer or piano-roll notes. Each update can toggle a step and set MIDI note, velocity, and gate length.
Inputs: trackId (required), updates (required), patternLength.
set_transportSet transportC
Change playback, recording, tempo, time signature, swing, metronome, position, and loop settings.
Inputs: swing, tempo, loopEnd, playing, +7 more.
studio_uiOpen Audio StudioARead-onlyIdempotent
Open the complete interactive DAW. Use this when the user wants to see or edit the studio visually.
Inputs: no named parameters.
update_audio_clipUpdate audio clipA
Move, trim, rename, or change the gain of an audio clip.
Inputs: clipId (required), trackId (required), gain, name, +2 more.
update_effectUpdate effectA
Enable, bypass, rename, mix, or change parameters on an effect slot.
Inputs: trackId (required), effectId (required), mix, name, +2 more.
update_pluginUpdate pluginA
Enable, bypass, rename, change parameters, or store opaque plugin state for a plugin slot.
Inputs: trackId (required), pluginId (required), name, state, +2 more.
update_trackUpdate trackB
Update track name, color, type, instrument, preset, oscillator, or instrument parameters.
Inputs: trackId (required), name, type, color, +6 more.
upsert_automationSet automation laneA
Create or update an automation lane for master/track volume, pan, effect, plugin, or instrument parameters.
Inputs: name (required), target (required), max, min, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 26 tools
Each tool targets a distinct resource and action: tracks, audio clips, effects, plugins, automation, steps, mixer, EQ, transport, and project. Even closely related tools like add_effect and add_plugin are clearly differentiated by description (built-in effects vs. plugin formats).
Tool names overwhelmingly follow a verb_noun pattern (add_track, update_track, remove_track, set_mixer, render_audio). There is one minor deviation (studio_ui), but it is clearly a UI action and does not disrupt the overall consistency.
With 26 tools, the server is above the typical range and borders on excessive. However, the comprehensive scope of a DAW (tracks, clips, effects, plugins, automation, mixing, transport, rendering) makes the high count defensible, though it remains on the heavy side.
The tool surface covers project lifecycle, track management, clip editing, effects/plugins, automation, step sequencing, mixer/EQ, transport, and rendering. Minor gaps exist, such as no dedicated getter for individual tracks/clips (get_project returns everything), but these are not critical and do not impede core workflows.
Maintenance
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
Remote MCP server for audio stem separation, denoise, reverb, and MIDI export.
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
Browser DAW for AI assistants: build multitrack songs with MIDI, effects, stems and generation.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that connects Claude to FL Studio, allowing the AI to compose music, control instruments, and live record melodies, chords, and drums to the piano roll.108-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables remote control and automation of FL Studio via the flapi Python client. It provides tools for managing transport, mixer tracks, pattern sequencing, and plugin parameters, allowing users to execute Python code directly within the FL Studio environment.2-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that connects AI assistants to FL Studio for music production via Virtual MIDI. It enables users to control transport, manage the mixer, write notes, and manipulate plugin parameters through natural language.1MIT
- AlicenseCqualityDmaintenanceAn MCP server that gives an LLM agent control over Tracktion Waveform, enabling it to compose, mix, and render songs through natural language commands.1297MIT