The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Audio Studio listing page.
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.
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.
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.
For local development from a checked-out repository:
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.
| Area | Tools |
|---|---|
| Studio and project | studio_ui, get_project, new_project, set_project, import_project, export_project |
| Transport | set_transport |
| Tracks and notes | add_track, update_track, remove_track, set_steps |
| Audio clips | add_audio_clip, update_audio_clip, remove_audio_clip |
| Mixing | set_mixer, set_equalizer |
| Effects | add_effect, update_effect, remove_effect |
| Plugins | add_plugin, update_plugin, remove_plugin |
| Automation | upsert_automation, remove_automation |
| Rendering | render_audio, get_render |
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.
MCP Apps run in a sandboxed browser iframe, which cannot load native .dll, .so, or .vst3 binaries. This release therefore provides:
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.
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.
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.
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.
pip) display-mode support; the host chooses which declared modes are available.See SECURITY.md for reporting vulnerabilities.
MIT