Turns Claude into a two-mode music workstation with inline playback and editing. The ABC notation side renders sheet music with multi-instrument audio, 8 accompaniment presets (rock, jazz, bossa, etc.), and 30 instrument voices. The Strudel side does live coding with TidalCycles mini-notation, 72 drum banks, effects chains, and an editable REPL that updates in real time. Both modes stream visual output directly into Claude Desktop and claude.ai through ext-apps, with WAV export and semantic search over music documentation. Ships as a remote URL you paste into settings or runs locally via npx. Reach for this when you want to compose, perform, or teach music concepts without leaving the chat window.
Public tool metadata for what this MCP can expose to an agent.
play-sheet-musicCompose and play sheet music with visual notation, multi-instrument audio, and style presets. Write ABC notation for melodies, arrangements, harmonized pieces, or well-known tunes. Add a style (rock, jazz, bossa, waltz, folk...) for automatic drums, bass, and chord accompanime...7 paramsCompose and play sheet music with visual notation, multi-instrument audio, and style presets. Write ABC notation for melodies, arrangements, harmonized pieces, or well-known tunes. Add a style (rock, jazz, bossa, waltz, folk...) for automatic drums, bass, and chord accompanime...
stylestringrock · jazz · bossa · waltz · march · reggaeswingnumbertemponumbertitlestringtransposenumberinstrumentstringabcNotationstringget-music-guideReturns detailed reference material for music composition. Topics: instruments (GM instrument list + combos), drums (patterns + percussion notes), abc-syntax (notation reference), arrangements (multi-voice patterns), genres (complete ABC templates for jazz/blues/folk/rock/boss...1 paramsReturns detailed reference material for music composition. Topics: instruments (GM instrument list + combos), drums (patterns + percussion notes), abc-syntax (notation reference), arrangements (multi-voice patterns), genres (complete ABC templates for jazz/blues/folk/rock/boss...
topicstringinstruments · drums · abc-syntax · arrangements · genres · stylesplay-live-patternLive-code music patterns using TidalCycles mini-notation in JavaScript. Layer drums, synths, and bass with stack(). Choose from 72 drum machine banks, 128 GM instruments, built-in synths, and a full effects chain. Patterns play in a REPL the user can edit directly. Use get-str...4 paramsLive-code music patterns using TidalCycles mini-notation in JavaScript. Layer drums, synths, and bass with stack(). Choose from 72 drum machine banks, 128 GM instruments, built-in synths, and a full effects chain. Patterns play in a REPL the user can edit directly. Use get-str...
bpmnumbercodestringtitlestringautoplaybooleanget-strudel-guideReference material for Strudel live coding (performance mode). Topics: mini-notation (pattern syntax), sounds (synths, 72 drum banks, 128 GM instruments), effects (filters, reverb, delay, FM synthesis, envelopes), patterns (transformations, probability, euclidean, arrangement)...1 paramsReference material for Strudel live coding (performance mode). Topics: mini-notation (pattern syntax), sounds (synths, 72 drum banks, 128 GM instruments), effects (filters, reverb, delay, FM synthesis, envelopes), patterns (transformations, probability, euclidean, arrangement)...
topicstringmini-notation · sounds · effects · patterns · genres · tipssearch-music-docsSearch detailed documentation for Strudel live coding or ABC/ABCJS notation. Returns relevant code examples and explanations from the official docs. Use this when the curated guides (get-strudel-guide, get-music-guide) don't cover what you need — for specific functions, advanc...2 paramsSearch detailed documentation for Strudel live coding or ABC/ABCJS notation. Returns relevant code examples and explanations from the official docs. Use this when the curated guides (get-strudel-guide, get-music-guide) don't cover what you need — for specific functions, advanc...
querystringlibrarystringstrudel · abcjsdefault: strudelTwo-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.
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.
Write sheet music → see it rendered → hear it played with multi-instrument audio.
get-music-guide — 7 reference topics (instruments, drums, ABC syntax, arrangements, genres, styles, MIDI directives)Write code → hear it play → edit in a live REPL.
.pianoroll() / .scope() / .spectrum() to animate behind the code (native strudel.cc overlay)get-strudel-guide — 7 reference topics (mini-notation, sounds, effects, patterns, genres, tips, advanced)search-music-docs — semantic search over strudel.cc and ABCJS documentationThe remote URL above works without any local setup. If you prefer running locally (offline use, lower latency), install via npm:
# 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
| 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"]
}
}
}
| 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 |
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?) |
bun install
bun run dev # watch + serve (hot reload)
bun run build # production build
bun run test # run tests
Forked from the Sheet Music Server example from MCP ext-apps by Anthropic, licensed under MIT.
MIT
io.github.socialapishub/social-media-api
io.github.xpaysh/social-media
com.thenextgennexus/youtube-media-mcp-server
io.github.ludmila-omlopes/youtube-video-analyzer
csoai-org/social-media-ai-mcp
com.ezbizservices/social-media