io.github.linxule/mcp-music-studio

Music Studio

ABC sheet music + Strudel live coding: songs, videos and live jam sessions in ext-apps widgets.

Endpointhttps://music-studio.linxule.com/mcp (streamable-http)
Registry version0.13.0
Now10 tools · grade B (83) · pin ts_0234604cb78171d39f8be224242f0ce5 · protocol 2025-06-18
First / last listed2026-10-28 02:38 UTC / 2026-10-28 02:38 UTC
Grade over time2026-10-28: B (83), 10 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-28 02:38 UTC
10 tools, grade B (83)

Tools: create-share-link play-sheet-music play-live-pattern get-session update-session get-music-guide get-strudel-guide search-music-docs analyze-harmony convert-abc-to-strudel

Current tools (10)

create-share-linkCreate a hosted music share link only when the user asks to share or store a piece online. Uploads the supplied score or pattern to MCP Music Studio for 30 days; anyone with the link can view and play it without signing in. Creating the same share again refreshes its expiry. Playback does not require this tool, and a play result's '▶ Play in browser' link already opens the piece for anyone when it
params: kind*, score, pattern
play-sheet-musicWrite a score in ABC notation and play it as sheet music: a melody, a harmonized piece, a multi-voice arrangement or a well-known tune, on any of the 128 General MIDI instruments. Put chord symbols above the notes and add a style (rock, jazz, bossa, waltz, folk...) for drums, bass and chords. The user can edit the score in the player, change its style and instrument, and download WAV or MIDI. The
params: abcNotation, title, instrument, style, tempo, swing, drumIntro, transpose
play-live-patternLive-code music in Strudel (TidalCycles mini-notation in JavaScript) and play it in a player the user can edit. Layer drums, bass and melody with stack(): 71 drum-machine banks, 128 GM instruments, synths and a full effects chain. Add .pianoroll() for a live piano roll (or .punchcard()/.scope()/.spectrum(), one per pattern), pass `visuals` for a ready-made animation and `theme` for the editor colo
params: code*, title, bpm, autoplay, visuals, session, theme
get-sessionOnly for a live session (play-live-pattern session: true). Reads whether the player is up and what it played, its errors and silences, and what the human did since your last read: taps, changes to remember() state, code they ran, a Pass to you, or End. Read it before assuming a piece played. With wait: 'pass' it listens until the human presses Pass, so a whole back-and-forth set fits in one turn:
params: session*, wait
update-sessionOnly for a live session. Swaps new code into the session's player while the music keeps playing. Send the WHOLE pattern, as for play-live-pattern. It lands on the next bar (quantize 1, the default), the next multiple of n bars, or at once (0): set quantize to your phrase length (8-bar phrase → 8). If the player answers within a few seconds, the result says whether it ran the code, or its error. To
params: session*, code*, quantize
get-music-guideReference for ABC sheet music. Topics: genres (complete templates: jazz, blues, folk, rock, bossa, a 3/4 minuet, a lullaby), styles (what each accompaniment preset does), instruments (GM list + combos), drums (patterns + percussion notes), abc-syntax (notation reference), arrangements (multi-voice patterns), midi-directives (%%MIDI reference).
params: topic*
get-strudel-guideReference and recipes for Strudel live coding. Music: genres (complete templates: techno, house, dnb, ambient, jazz, lofi, synthwave), mini-notation, sounds (synths, 71 drum banks, 128 GM instruments, vcsl samples), effects, patterns, tips (tempo, common mistakes), advanced (samples, wavetables, signals, chord voicings). Visuals: visuals (draw methods, presets, themes), hydra (shader backgrounds,
params: topic*, piece
search-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, advanced techniques, or when you're unsure about syntax. Powered by semantic search over strudel.cc and ABCJS docs.
params: query*, library
analyze-harmonyMusic theory helper: name a chord from notes, guess the key, get a progression, or list what fits a key. Returns both the ABC chord-symbol spelling (for play-sheet-music) and the Strudel form (for play-live-pattern). Tasks: detect-chord (notes -> chord name + what to play next), detect-key (notes or chords -> best key + diatonic chords), suggest-progression (key [+ romanNumerals] -> chord symbols)
params: task*, notes, chords, key, romanNumerals
convert-abc-to-strudelTurn an ABC melody into Strudel mini-notation so a scored piece can be remixed live. Returns runnable code — setcps() from the Q: tempo, one [...] bar group per bar inside note("<...>"), with a chord("<...>").voicing() layer stacked alongside it when the ABC has chord symbols (one stack(), because Strudel plays only the last expression) — then pass it to play-live-pattern. Durations become @ weigh
params: abcNotation*, voice, sound

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.