🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

mcp-music-studio

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mcp-music-studio

Two-mode MCP music studio: scored composition (ABC notation) and live performance (Strudel). Interactive ext-apps UI with sheet music rendering, 30+ instruments, style presets, and live coding REPL.

latest
Source
npmnpm
Version
0.4.3
Version published
Maintainers
1
Created
Source

MCP Music Studio

smithery badge

Two-mode creative music studio for AI: scored composition (ABC notation with sheet music) and live performance (Strudel live coding with TidalCycles). Interactive UI renders inline in Claude Desktop, claude.ai, and other MCP clients.

Quick Start — No Install Required

Paste this URL into any MCP client that supports remote servers:

https://mcp-music-studio.linxule.workers.dev/mcp

Claude Desktop / claude.ai: Settings → Connectors → Add Connector → paste the URL above → done.

Claude Code:

claude mcp add --transport http music-studio https://mcp-music-studio.linxule.workers.dev/mcp

That's it — ask Claude to play a song or create a beat.

What You Get

Scored Composition (ABC Notation)

Write sheet music → see it rendered → hear it played with multi-instrument audio.

  • 8 style presets — rock, jazz, bossa, waltz, march, reggae, folk, classical — one parameter adds drums + bass + chord accompaniment
  • 30 instruments — piano, strings, brass, woodwinds, synths — selectable by name
  • Visual sheet music — notes highlight as they play
  • Streaming render — sheet music appears as the AI types
  • WAV download — export audio as WAV files directly from the UI
  • get-music-guide — 7 reference topics (instruments, drums, ABC syntax, arrangements, genres, styles, MIDI directives)

Live Performance (Strudel)

Write code → hear it play → edit in a live REPL.

  • TidalCycles mini-notation in JavaScript
  • 72 drum machine banks + 128 GM instruments + built-in synths
  • Full effects chain — filters, reverb, delay, FM synthesis
  • Editable REPL — users can tweak the code and hear changes instantly
  • Live visuals — add .pianoroll() / .scope() / .spectrum() to animate behind the code (native strudel.cc overlay)
  • Record & download — capture live audio and export as WAV
  • get-strudel-guide — 7 reference topics (mini-notation, sounds, effects, patterns, genres, tips, advanced)

Shared

  • search-music-docs — semantic search over strudel.cc and ABCJS documentation

Local Install (Optional)

The remote URL above works without any local setup. If you prefer running locally (offline use, lower latency), install via npm:

CLI One-Liners

# Claude Code
claude mcp add music-studio -- npx -y mcp-music-studio --stdio

# Codex CLI
codex mcp add -- npx -y mcp-music-studio --stdio

# Gemini CLI
gemini mcp add -- npx -y mcp-music-studio --stdio

# OpenCode
opencode mcp add music-studio -- npx -y mcp-music-studio --stdio

JSON Config (Claude Desktop, Cursor, Windsurf, etc.)

Claude Desktop — edit config file
OSPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "music-studio": {
      "command": "npx",
      "args": ["-y", "mcp-music-studio", "--stdio"]
    }
  }
}
VS Code / Trae / PearAI

Add to .vscode/mcp.json — note: uses "servers" not "mcpServers":

{
  "servers": {
    "music-studio": {
      "command": "npx",
      "args": ["-y", "mcp-music-studio", "--stdio"]
    }
  }
}
Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "music-studio": {
      "command": "npx",
      "args": ["-y", "mcp-music-studio", "--stdio"]
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "music-studio": {
      "command": "npx",
      "args": ["-y", "mcp-music-studio", "--stdio"]
    }
  }
}
Windows

On Windows, npx is a .cmd file and requires a shell wrapper:

{
  "mcpServers": {
    "music-studio": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "mcp-music-studio", "--stdio"]
    }
  }
}
Render modes (for non-ext-apps clients)

Clients that support ext-apps render the interactive UI inline automatically (auto mode). For clients that don't (Cherry Studio, CLI environments), use --render-mode:

ModeBehavior
auto (default)Inline UI for Claude Desktop, VS Code
browserSaves HTML and opens in system browser
htmlReturns HTML as embedded resource
{
  "mcpServers": {
    "music-studio": {
      "command": "npx",
      "args": ["-y", "mcp-music-studio", "--stdio", "--render-mode", "browser"]
    }
  }
}

Tools

ToolDescription
play-sheet-musicABC notation → visual sheet music + multi-instrument audio
play-live-patternStrudel code → live-coded patterns with synthesis + effects
get-music-guideABC reference (7 topics: instruments, drums, syntax, genres...)
get-strudel-guideStrudel reference (7 topics: sounds, effects, patterns, genres...)
search-music-docsSemantic search over strudel.cc and ABCJS docs

Prompts

Slash-command / menu entry points, in clients that surface MCP prompts:

PromptWhat it does
compose-beatGenerate + play a Strudel pattern in a genre (args: genre, mood?)
harmonize-melodyAdd chords/accompaniment to an ABC melody and play it (args: melody, style?)
arrange-tuneTurn a melody/idea into a multi-voice arrangement (args: tune, instrumentation?)

Development

bun install
bun run dev      # watch + serve (hot reload)
bun run build    # production build
bun run test     # run tests

Attribution

Forked from the Sheet Music Server example from MCP ext-apps by Anthropic, licensed under MIT.

License

MIT

Keywords

mcp

FAQs

Package last updated on 22 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts