Connect-MCP

Music Studio

io.github.linxule/mcp-music-studio · v0.12.4

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

MCPremotelocal · npmno credentialsImages, video & audioKnowledge & docsDeveloper tools

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 10 tools, protocol 2025-06-18 · checked 2026-10-17

Test & rating

A 99/100

What it does: 10 tools · 8 read, 2 write · Images, video & audio, Knowledge & docs, Developer tools

Test call play-sheet-music: worked (1,011 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +15
  • Parameter descriptions: +9
  • Read/write annotations: +5
  • Safe test call: +20
  • More than 80 tools: 0

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://music-studio.linxule.com/mcp
Package
registry:   npm
identifier: mcp-music-studio
version:    0.12.4
transport:  stdio

Tools

10 tools listed at last check
  • create-share-link Create 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 requir
  • play-sheet-music Write 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 us
  • play-live-pattern Live-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()/.spe
  • get-session Only 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 wa
  • update-session Only 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). I
  • get-music-guide Reference 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 p
  • get-strudel-guide Reference 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, sig
  • search-music-docs Search 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
  • analyze-harmony Music 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
  • convert-abc-to-strudel Turn 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 S

Badge

Connect-MCP badge for io.github.linxule/mcp-music-studio

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/io.github.linxule/mcp-music-studio.svg)](https://clawy.uk/mcp/s/io.github.linxule/mcp-music-studio)