MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

Music Studio

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

Checks passed
14 / 22

1 failed · 7 not measured

Median response
115 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
10

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 141 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name Music Studio.

  • Pass
    Lists tools

    tools/list returned 10 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 115 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 138 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    38 of 49 parameters have a description (78%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-11-07T19:48:08.362739Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using Music Studio

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http music-studio https://music-studio.linxule.com/mcp

Capabilities

Tools 10

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 chords -> best key + diatonic chords), suggest-progression (key [+ romanNumerals] -> chord symbols), scale-for-chord (chords -> the scale to improvise over each), key-chords (key -> every diatonic triad, seventh, and chord scale). Use it before writing chord symbols for a style preset, or to check a harmonization.

Discovered
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 Strudel plays only the last expression) — then pass it to play-live-pattern. Durations become @ weights, rests become ~, triplets nest, the key signature is folded into the note names, and %%MIDI program picks the sound. Lists what was lost (grace notes, dynamics, repeats, lyrics, other voices, inline tempo changes, a short final bar, ABC's own gchord/drum accompaniment). Pick a single voice with `voice`; re-run per voice and stack() them for a full arrangement.

Discovered
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 require this tool, and a play result's '▶ Play in browser' link already opens the piece for anyone when it fit in the link; this tool gives a short stored link. Provide kind 'score' with score, or kind 'play' with pattern. Never include private information or secrets.

Discovered
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 patterns), midi-directives (%%MIDI reference).

Discovered
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 wait: 'pass' it listens until the human presses Pass, so a whole back-and-forth set fits in one turn: update-session, get-session(wait: 'pass'), answer, listen again.

Discovered
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, signals, chord voicings). Visuals: visuals (draw methods, presets, themes), hydra (shader backgrounds, H(pattern), the audio-reactive a.fft). Optional modules — the code is real browser JavaScript: stage (your own canvases, onFrame/onEvent/onTap, say), film (scenes on bars, text, narration), interactive (taps into notes, faders/pads/xy, tilt/mic, remember() for controls you draw, live sessions), craft (what makes a piece land), debugging (what the player reports back), gallery (complete pieces; fetch one with `piece`).

Discovered
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()/.spectrum(), one per pattern), pass `visuals` for a ready-made animation and `theme` for the editor colours. Each call creates a NEW player. Optional, when you want more (get-strudel-guide topic in brackets): shader backgrounds that follow the music — start with `await initHydra()`, lock to the beat with H(pattern), react to the sound with () => a.fft[0] ('hydra'); canvases, scenes and spoken lines for music videos and films ('stage', 'film'); taps, faders, pads and controls you draw, played by the user; tilt and mic, which follow the phone on the browser player (a chat's frame usually blocks them) ('interactive'); complete pieces ('gallery'). To jam back and forth, or to change a piece while it plays, pass session: true, then use update-session and get-session. The Strudel REPL renders inline with an editable code editor, visualizations, and playback controls.

Discovered
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 user can edit the score in the player, change its style and instrument, and download WAV or MIDI. The result confirms the parse; it returns no audio. Start with get-music-guide topic 'genres'; 'abc-syntax' and 'instruments' for the rest. The music player renders inline with interactive playback controls.

Discovered
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 you're unsure about syntax. Powered by semantic search over strudel.cc and ABCJS docs.

Discovered
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). If the player answers within a few seconds, the result says whether it ran the code, or its error. To change a piece's remember() state, ship a merge, not a new start value (get-strudel-guide topic 'interactive').

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected141 ms10
Connected89 ms10