ABC sheet music + Strudel live coding studio with ext-apps widgets, harmony tools, and share links.
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.
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.
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"]
}
}
}
The server auto-detects ext-apps support. For clients that don't support it (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 |
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
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y mcp-music-studioMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-linxule-mcp-music-studio": {
"command": "npx",
"args": [
"-y",
"mcp-music-studio"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencemcp-music-studionpmMusic Studio works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.