npm mcp-music-studiostreamable-httpMITupdated 2mo ago
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.
What can you do with Music Studio?
MCP Music Studio
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.)
| OS | Path |
|---|---|
| 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"]
}
}
}
Add to .vscode/mcp.json — note: uses "servers" not "mcpServers":
{
"servers": {
"music-studio": {
"command": "npx",
"args": ["-y", "mcp-music-studio", "--stdio"]
}
}
}
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"music-studio": {
"command": "npx",
"args": ["-y", "mcp-music-studio", "--stdio"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"music-studio": {
"command": "npx",
"args": ["-y", "mcp-music-studio", "--stdio"]
}
}
}
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"]
}
}
}
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:
| Mode | Behavior |
|---|---|
auto (default) |
Inline UI for Claude Desktop, VS Code |
browser |
Saves HTML and opens in system browser |
html |
Returns HTML as embedded resource |
{
"mcpServers": {
"music-studio": {
"command": "npx",
"args": ["-y", "mcp-music-studio", "--stdio", "--render-mode", "browser"]
}
}
}
Tools
| Tool | Description |
|---|---|
play-sheet-music |
ABC notation → visual sheet music + multi-instrument audio |
play-live-pattern |
Strudel code → live-coded patterns with synthesis + effects |
get-music-guide |
ABC reference (7 topics: instruments, drums, syntax, genres...) |
get-strudel-guide |
Strudel reference (7 topics: sounds, effects, patterns, genres...) |
search-music-docs |
Semantic search over strudel.cc and ABCJS docs |
Prompts
Slash-command / menu entry points, in clients that surface MCP prompts:
| Prompt | What it does |
|---|---|
compose-beat |
Generate + play a Strudel pattern in a genre (args: genre, mood?) |
harmonize-melody |
Add chords/accompaniment to an ABC melody and play it (args: melody, style?) |
arrange-tune |
Turn 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
Install
Add Music Studio to your client. Pick the one you use.
{
"servers": {
"mcp-music-studio": {
"type": "http",
"url": "https://mcp-music-studio.linxule.workers.dev/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add mcp-music-studio -- npx -y mcp-music-studiocodex mcp add mcp-music-studio -- npx -y mcp-music-studioamp mcp add mcp-music-studio -- npx -y mcp-music-studio{
"mcpServers": {
"mcp-music-studio": {
"command": "npx",
"args": [
"-y",
"mcp-music-studio"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-music-studio": {
"command": "npx",
"args": [
"-y",
"mcp-music-studio"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"mcp-music-studio": {
"command": "npx",
"args": [
"-y",
"mcp-music-studio"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-music-studio": {
"command": "npx",
"args": [
"-y",
"mcp-music-studio"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-music-studio": {
"command": "npx",
"args": [
"-y",
"mcp-music-studio"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-music-studio": {
"type": "local",
"command": "npx",
"args": [
"-y",
"mcp-music-studio"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-music-studio": {
"command": {
"path": "npx",
"args": [
"-y",
"mcp-music-studio"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y mcp-music-studioRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance22/25
- Trust13/20
- Capability0/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 57 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.4.3Latest | Jun 22, 2026 |
| 0.4.2 | Jun 19, 2026 |
| 0.4.1 | Jun 19, 2026 |
| 0.4.0 | Jun 19, 2026 |
| 0.3.0 | Mar 24, 2026 |
| 0.2.1 | Mar 23, 2026 |
| 0.2.0 | Mar 20, 2026 |
| 0.1.2 | Mar 18, 2026 |
| 0.1.1 | Mar 18, 2026 |