Music Studio
БесплатноПоддерживаетсяCreative music composition tool with multi-instrument playback, style presets, visual sheet music, and ABC notation support.
Описание
Creative music composition tool with multi-instrument playback, style presets, visual sheet music, and ABC notation support.
README
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.
One continuous live set through the widget — every section a hot-swapped re-evaluation on the same clock. Full video: 16:9 1080p60 · 3:4 for phones. Made with dev/perform.html and an OBS Browser Source (see scripts/showcase/).
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
- All 128 General MIDI instruments — named and fuzzy-matched (
"sax"→ Soprano Sax); the result text says what it actually resolved to when that isn't what you asked for - Visual sheet music — notes highlight as they play
- Streaming render — sheet music appears as the AI types
- Edit in place — open the ABC source pane in the widget, fix a bar, re-render without another tool call
- Real transposition —
transposerewrites the notation and the key signature, so the printed score matches what plays - Swing and count-in —
swingis the share of the beat given to its first half (50 = straight, 66 = triplet, 75 = max; ≤50 is no swing),drumIntroadds up to 8 bars of count-in from the style's drum kit - Selectable sound banks — FluidR3 (default), MusyngKite (fuller), or a lightweight dry bank, switched live from the toolbar
- WAV download — export audio as WAV files directly from the UI
- MIDI download — export a standard MIDI file straight from the score, no playback needed first. It is the score: abcjs applies swing during playback only, so the exported file has none
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
- 71 drum machine banks + 128 GM instruments + 128 VCSL orchestral/world/percussion samples + 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()/.punchcard()/.scope()/.spectrum()to animate behind the code (native strudel.cc overlay) - Hydra shader backgrounds —
await initHydra()+ Hydra code for fully custom, music-synced WebGL visuals.H(pattern)locks a shader parameter to the sequence,feedStrudelpost-processes the piano roll - Audio-reactive shaders —
a.fft[0],a0(),a.setBins(6)and the rest of Hydra's audio API work verbatim, driven by Strudel's own output rather than the microphone (no permission prompt, no room noise) visualspreset — one enum value (pianoroll,punchcard,scope,spectrum,hydra-kaleid,hydra-pulse,hydra-wash,hydra-feed) gives a bare pattern something to paint. Never overrides code that already visualises itselftheme— 39 CodeMirror colour schemes; the visuals stage and its readability scrim are derived from the active theme, so light themes stay readable- Stage mode — hide the code and let the visuals fill the frame (composes with the host's fullscreen)
- Honest runtime feedback — evaluation errors, unknown sound names, and stops the user triggered are reported back to the model as they happen, so it never answers about a silent widget as if the music were still playing
- Server-side validation — the local server evaluates every Strudel pattern headlessly before answering: the tool result reports layers, events per cycle, tempo, and which sound names are registered (or a syntax error with line:column), so terminal clients get real diagnostics too. (The hosted worker can't — Cloudflare forbids dynamic code generation — and says so.)
- Record & download — capture live audio and export as WAV
get-strudel-guide— 8 reference topics (mini-notation, sounds, effects, patterns, genres, tips, visuals, advanced)
Shared
analyze-harmony— chord detection, key detection, progressions, chord scales; answers in both ABC chord symbols and Strudelchord()/note()formconvert-abc-to-strudel— take a scored melody into the live REPL: bars become mini-notation groups, durations become@weights, chord symbols become achord().voicing()linesearch-music-docs— semantic search over strudel.cc and ABCJS documentation- Click-to-play links — in clients that can't render the inline widget (terminals, CLIs), both play tools return a hosted URL that actually plays. Short pieces travel in the link itself; longer ones are stored for 30 days
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
| 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"]
}
}
}
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:
| 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"]
}
}
}
Clients without a widget also get a click-to-play link in the tool result, served by the hosted worker — no local render mode needed.
HTTP mode (--host, --allow-origin)
Without --stdio the server listens over Streamable HTTP. That endpoint is unauthenticated, so it binds 127.0.0.1:3001 by default and only accepts browser requests from loopback origins.
| Flag | Default | Purpose |
|---|---|---|
--host ADDR |
127.0.0.1 |
Bind address. A non-loopback value prints a warning and turns off the SDK's DNS-rebinding protection — put a proxy that authenticates in front of it |
--allow-origin ORIGIN |
loopback pages only | Extra CORS origins (comma-separated, repeatable; * opts back into a wildcard) |
PORT (env) |
3001 |
Listen port |
Tools
| Tool | Description | Parameters |
|---|---|---|
play-sheet-music |
ABC notation → visual sheet music + multi-instrument audio | abcNotation, title?, instrument?, style?, tempo? (40–240), swing? (0–75), drumIntro? (0–8), transpose? (−12–12) |
play-live-pattern |
Strudel code → live-coded patterns with synthesis + effects | code, title?, bpm? (40–300), autoplay?, visuals?, theme? |
get-music-guide |
ABC reference (7 topics: instruments, drums, syntax, genres...) | topic |
get-strudel-guide |
Strudel reference (8 topics: sounds, effects, visuals, genres...) | topic |
search-music-docs |
Semantic search over strudel.cc and ABCJS docs | query, library (strudel | abcjs) |
analyze-harmony |
Name a chord, guess the key, get a progression or chord scale — in ABC and Strudel spellings | task, notes?, chords?, key?, romanNumerals? |
convert-abc-to-strudel |
Turn a scored ABC melody into a Strudel mini-notation pattern | abcNotation, voice?, sound? |
visuals — none, pianoroll, punchcard, scope, spectrum, hydra-kaleid, hydra-pulse, hydra-wash, hydra-feed.
theme — any of the 39 schemes the Strudel REPL ships (strudelTheme, nord, sonicPink, teletext, gruvboxDark, githubLight, …).
style — rock, jazz, bossa, waltz, march, reggae, folk, classical.
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 (widgets must be built before the tests)
bun run test # run tests
dev/ is a local ext-apps host harness for driving the widgets outside a real client — see dev/README.md.
Attribution
Forked from the Sheet Music Server example from MCP ext-apps by Anthropic, licensed under MIT.
Live coding is powered by Strudel — canonical repo at codeberg.org/uzu/strudel (the project moved off GitHub, so the GitHub mirror can be stale). Notation and playback use abcjs; shader backgrounds use hydra-synth.
License
MIT
Установить Music Studio в Claude Desktop, Claude Code, Cursor
unyly install music-studioСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add music-studio -- npx -y mcp-music-studioПошаговые гайды: как установить Music Studio
FAQ
Music Studio MCP бесплатный?
Да, Music Studio MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Music Studio?
Нет, Music Studio работает без API-ключей и переменных окружения.
Music Studio — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Music Studio в Claude Desktop, Claude Code или Cursor?
Открой Music Studio на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Изменения
Версии и запрашиваемые доступы со временем.
- Новая версия опубликована
Похожие MCP
ARA
Generate images, video and audio from any AI agent — one connector.
автор: ARAOmni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
автор: buildwithtazaYouTube
Transcripts, channel stats, search
автор: YouTubeEverArt
AI image generation using various models.
автор: modelcontextprotocolgpu-bridge/mcp-server
Unified GPU inference API with 30 AI services (LLM, image gen, video, TTS, whisper, embeddings, reranking, OCR) as MCP tools. Pay-per-use via x402 USDC or API k
автор: gpu-bridgehamflx/imagen3-mcp
A powerful image generation tool using Google's Imagen 3.0 API through MCP. Generate high-quality images from text prompts with advanced photography, artistic,
автор: hamflxmerterbak/Grok-MCP
MCP server for xAI's [Grok API](https://docs.x.ai/docs/overview) with agentic tool calling, image generation, vision, and file support.
автор: merterbakSureScaleAI/openai-gpt-image-mcp
OpenAI GPT image generation/editing MCP server.
автор: SureScaleAIYangLiangwei/PersonalizationMCP
Comprehensive personal data aggregation MCP server with Steam, YouTube, Bilibili, Spotify, Reddit and other platforms integrations. Features OAuth2 authenticati
автор: YangLiangweiAceDataCloud/MCPFlux
Flux AI image generation and editing (Black Forest Labs) via Ace Data Cloud API.
автор: AceDataCloudCompare Music Studio with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории media

