🎵 MCP server for AI-assisted live-coding music via strudel.cc Unofficial fan project. Not affiliated with, or endorsed by, the Strudel project. This adapter exists to make live-coding music…
Strudel is an MCP project maintained in the williamzujkowski/strudel-mcp-server repository. The maintainer describes its purpose as “🎵 MCP server for AI-assisted live-coding music via strudel.cc Unofficial fan project. Not affiliated with, or endorsed by, the Strudel project. This adapter exists to…”. Read the project documentation for the complete scope.
The project provides a local client configuration using live-coding-music-mcp. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| init | Initialize Strudel in browser |
| edit_pattern | Mutate the current session pattern. mode=write replaces the editor contents (default; mirrors the old write tool exactly, including optional pattern validation |
| get_pattern | Get current pattern code |
| playback | Control transport on the current session. action=play starts the editor pattern. action=pause halts the clock where it is, so play resumes mid-cycle.… |
| set_tempo | Set BPM. Writes setcpm(bpm/4), assuming one bar of 4/4 per cycle. |
| pattern_store | Persist patterns to disk and read them back. Use action=save to write the current session pattern under a name; action=load to restore a named pattern into the |
| import_midi | Convert a .mid file into a playable Strudel pattern (Phase 1: literal transcription, 201). Use source="base64" with data= for inline bytes, or source="path"… |
| history | Navigate or inspect the pattern edit history. action=undo reverts the last edit on the targeted session. action=redo replays a previously-undone edit.… |
| compose | Generate, write, and play a complete pattern in one step. Auto-initializes default browser if needed. |
| generate_part | Generate a single instrumental layer and append it to the current session pattern. role=drums takes style (e.g. "techno"/"house") and optional complexity… |
| generate_rhythm | Generate a rhythmic pattern and append it to the current session. type=euclidean produces a Euclidean rhythm with hits evenly distributed across steps… |
| music_theory | Music-theory queries. query=scale returns the notes of a scale (e.g. "C major scale: C, D, E, F, G, A, B"). query=chord_progression returns a chord progression |
| transform | Apply a single transform op to the current session pattern. op=transpose shifts notes by semitones. op=reverse appends .rev to the pattern. op=stretch slows by |
| effect | Add or remove a Strudel effect on the current session pattern. action=add appends . ( ). action=remove strips EVERY . (...) call from the pattern, not just the |
| shape | Shape the current pattern along one of three high-level dimensions. dimension=mood applies a mood profile… |
| ai_assist | Gemini-backed pattern assistance. task=feedback returns creative critique on the current pattern (optionally with audio analysis). task=suggest analyzes the… |
| analyze | Audio analysis on the currently-playing pattern. include=["all"] (default) returns the full spectrum + features object, matching the pre-consolidation… |
| validate_pattern_runtime | Validate pattern with runtime error checking (monitors Strudel console for errors) |
| validate_pattern_local | Validate pattern syntax against the local StrudelEngine, which runs in a sandboxed child process (no browser required) |
| analyze_pattern_local | Static analysis (events/cycle, complexity, optional BPM) without browser playback |
| query_pattern_events | Enumerate events the pattern would emit between two cycle indices (max 16 cycles) |
| transpile_pattern | Transpile pattern source via StrudelEngine; returns transpiled code or syntax error |
| session | Manage isolated Strudel browser sessions (multi-session, 108). action=create starts a new named session (sessions share one browser but isolated contexts).… |
| export_midi | Export current pattern to MIDI file. Parses note(), n(), and chord() functions. |
| browser_window | Interact with the visible Strudel browser window. action=show brings the window to the foreground. action=screenshot captures the current editor view to disk… |
| audio_capture | Record audio output from the live Strudel session. action=start begins streaming capture (optional format webm/opus, default webm). action=stop ends the stream |
| diagnostics | Inspect server and browser state. level=status returns a quick state snapshot (cache read, <15ms SLA), plus which config.json was read and any warnings from… |
| export_audio | Record a window of live Strudel audio and write it to a file. Returns a path plus what was actually recorded, not a wall of base64 — prefer this over… |
{
"mcpServers": {
"live-coding-music": {
"command": "live-coding-music-mcp"
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
Enables AI assistants to control Spotify playback and manage playlists via the Model Context Protocol.
Allows AI assistants to query movie and TV show collections managed by Radarr and Sonarr.
This community Workers MCP demo exposes image generation, page screenshots and image extraction through a local client adapter and Cloudflare backend.
Analyzes YouTube videos by extracting transcripts, summarizing content, and answering questions using AI.
Retrieves YouTube video URLs from a specified Watch Later playlist within a given timeframe.
Provides QQ Music search functionality via the Modular Control Protocol (MCP).