npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-audio-studio

v0.2.2

Published

An MCP Apps digital audio workstation with sequencing, mixing, effects, automation, plugins, and WAV rendering.

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:

# 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.

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 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.

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 3100

MCP 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 | 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.

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 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.

Publishing to npm

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.

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