A digital audio workstation MCP App with sequencing, mixing, effects, automation, and rendering.
Runs on your machine from its package; the steps are below.

At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y mcp-audio-studio
MCP client config
{
"mcpServers": {
"mcp-audio-studio": {
"command": "npx",
"args": [
"-y",
"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.
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 3100
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.
# MCP stdio
./mcp-audio-studio-windows-x64.exe --stdio
# HTTPS MCP endpoint + standalone studio
./mcp-audio-studio-windows-x64.exe --https --port 3100
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:
npm install
npm run build
node ./dist/index.js --stdio
node ./dist/index.js --http --port 3100
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.
| 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 ci
npm run typecheck
npm test
npm run build
npm run serve
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:
npm run release
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