MCP Audio Studio
io.github.mario-andreschakPublished by GitHub account mario-andreschakv0.2.2Updated Oct 24, 2026
A digital audio workstation MCP App with sequencing, mixing, effects, automation, and rendering.
Overview
A local MCP server and MCP App that gives an assistant a digital audio workstation for sequencing, mixing, effects, automation and WAV rendering.
- What you can do
- Open and manage the studio project: render the studio UI, read, create, replace, import and export projects, and switch transport mode. Edit tracks and notes: add, update and remove instrument or audio tracks and set channel-rack steps. Place and adjust audio clips, including imported WAV files. Mix and process sound: set mixer levels, pans, sends and equalizer, and add, update or remove effects and plugin slots. Automate parameters and render offline 16-bit stereo WAV audio, then fetch recent renders.
- When to use it
- Useful when you want an assistant to build or edit a music project, adjust a mix, add effects or automation, or produce a rendered WAV file, with the same project visible in an interactive studio UI.
- Requirements
- Runs locally over stdio (or HTTP/HTTPS). Node.js 18 or newer for the npm package via npx, or a downloaded standalone executable for Windows, macOS or Linux. Optional MCP_AUDIO_STUDIO_DATA sets a JSON file for persistence; without it the project stays in memory. Optional MCP_AUDIO_STUDIO_TLS_CERT and MCP_AUDIO_STUDIO_TLS_KEY provide a trusted HTTPS certificate.
Installation
In SourceWeft
- Open MCP Audio Studio in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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.
[MCP Audio Studio channel rack]
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.
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:
The 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.
Without 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:
MCP client configuration
Use the npm package in an MCP client without a separate installation:
For a checked-out repository instead:
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
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 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:
The 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
Source: README.md at commit 594cbb9
Tools
0Version history
1- v0.2.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts