MCP server
by williamzujkowski
Strudel Live Coding offers real-time music generation in your browser with 40+ tools for pattern creation, theory, and l
Controls Strudel.cc in your browser to generate and manipulate live coding music patterns using AI assistance. Provides 65+ tools for pattern creation, music theory operations, and real-time audio control.
Strudel Live Coding is a community-built MCP server published by williamzujkowski that provides AI assistants with tools and capabilities via the Model Context Protocol. Strudel Live Coding offers real-time music generation in your browser with 40+ tools for pattern creation, theory, and l It is categorized under browser automation, other.
You can install Strudel Live Coding in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
Strudel Live Coding is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Fetch and extract information from websites automatically
Example
Research competitor pricing, scrape product reviews, monitor news mentions
Automate 5-10 hours/week of manual web research
Track website changes, new content, price updates
Example
Monitor competitor blog for new posts, track stock availability, watch for pricing changes
Stay informed without manual checking, never miss important updates
Extract structured data from multiple websites
Example
Compile product listings from 10 e-commerce sites, aggregate job postings, collect real estate data
Build datasets 100x faster than manual copying
Share your MCP server with the developer community
According to our notes, Strudel Live Coding benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
Strudel Live Coding is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Strudel Live Coding has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
We evaluated Strudel Live Coding against two servers with overlapping tools; this profile had the clearer scope statement.
Strudel Live Coding reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
I recommend Strudel Live Coding for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Strudel Live Coding has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
We evaluated Strudel Live Coding against two servers with overlapping tools; this profile had the clearer scope statement.
Strudel Live Coding reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
We evaluated Strudel Live Coding against two servers with overlapping tools; this profile had the clearer scope statement.
showing 1-10 of 37
<a href="https://glama.ai/mcp/servers/@williamzujkowski/strudel-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@williamzujkowski/strudel-mcp-server/badge" alt="Strudel Server MCP server" /> </a>🎵 Open source MCP server for AI-powered music generation with Strudel.cc
Status: Actively developed | Experimental | Contributions welcome
An experimental Model Context Protocol (MCP) server that enables Claude to control Strudel.cc for AI-assisted music generation, live coding, and algorithmic composition.
Current State: Functional but under active development. Core features work reliably, but expect rough edges. Test coverage is at 78% with 1470 tests passing (1521 total, 51 skipped). See open issues for known limitations.
Not Production-Ready: This is experimental software under active development. Use for exploration and experimentation. Expect breaking changes, bugs, and incomplete features. See CONTRIBUTING.md to help improve it.
Explore 17 curated example patterns across 10 genres in patterns/examples/:
Each example includes pattern code, BPM, key, and description. See patterns/examples/README.md for details.
| Requirement | Version | Notes |
|---|---|---|
| Node.js | 18.x or 20.x | LTS versions recommended |
| npm | 9+ | Comes with Node.js |
| Chromium | Latest | Auto-installed by Playwright |
| Audio output | Any | Required for playback (speakers/headphones) |
Optional: Docker for containerized deployment.
npm install -g @williamzujkowski/strudel-mcp-server
# Install browser (required once)
npx playwright install chromium
# Clone repository
git clone https://github.com/williamzujkowski/strudel-mcp-server.git
cd strudel-mcp-server
# Install dependencies
npm install
# Install Chromium for browser automation
npx playwright install chromium
# Build the project
npm run build
Common commands for immediate use:
| Action | Command |
|---|---|
| Initialize browser | init |
| Create techno beat | generate_pattern with style: "techno" |
| Play pattern | play |
| Stop playback | stop |
| Get current pattern | get_pattern |
| Analyze audio | analyze |
| Save pattern | save with name: "my-pattern" |
| Undo last change | undo |
One-shot workflow:
compose with style: "dnb", key: "Am", bpm: 174, auto_play: true
# If installed globally
claude mcp add strudel strudel-mcp
# If built from source
claude mcp add strudel node /path/to/strudel-mcp-server/dist/index.js
claude chat
Then ask Claude:
| Tool | Description | Example |
|---|---|---|
init | Initialize Strudel in browser | "Initialize Strudel" |
write | Write pattern to editor | "Write pattern: s('bd*4')" |
play | Start playback | "Play the pattern" |
stop | Stop playback | "Stop playing" |
clear | Clear editor | "Clear the editor" |
get_pattern | Get current pattern | "Show current pattern" |
append | Add to pattern | "Add hi-hats" |
insert | Insert at line | "Insert at line 2" |
replace | Replace text | "Replace bd with sn" |
pause | Pause playback | "Pause" |
| Tool | Description | Options |
|---|---|---|
generate_pattern | Complete patterns | techno, house, dnb, ambient, trap, jungle, jazz, intelligent_dnb, trip_hop, boom_bap |
generate_drums | Drum patterns | All styles + complexity (0-1) |
generate_bassline | Bass patterns | techno, house, dnb, acid, dub, funk, jazz, intelligent_dnb, trip_hop, boom_bap |
generate_melody | Melodic lines | Any scale, custom length |
generate_variation | Pattern variations | subtle, moderate, extreme, glitch |
transpose | Transpose notes | ±12 semitones |
reverse | Reverse pattern | - |
stretch | Time stretch | Factor 0.1-10 |
quantize | Quantize to grid | 1/4, 1/8, 1/16, etc. |
humanize | Add timing variation | Amount 0-1 |
| Tool | Description | Options |
|---|---|---|
generate_scale | Generate scales | major, minor, modes, pentatonic, blues |
generate_chord_progression | Chord progressions | pop, jazz, blues, rock, folk |
generate_euclidean | Euclidean rhythms | hits/steps/sound |
generate_polyrhythm | Polyrhythms | Multiple patterns |
generate_fill | Generate drum fills | All styles, 1-4 bars |
apply_scale | Apply scale to notes | Any scale |
| Tool | Description |
|---|---|
add_effect | Add audio effect (reverb, delay, etc.) |
remove_effect | Remove an effect from the chain |
set_tempo | Set BPM (60-200) |
add_swing | Add swing feel (0-1 amount) |
| Tool | Description |
|---|---|
save | Save pattern with tags |
load | Load saved pattern |
list | List all patterns |
undo | Undo last action |
redo | Redo action |
| Tool | Description |
|---|---|
list_history | Browse pattern history with timestamps and previews |
restore_history | Restore a previous pattern by ID |
compare_patterns | Compare two patterns showing line-by-line differences |
| Tool | Description |
|---|---|
analyze | Basic audio analysis (frequency, playing state) |
analyze_spectrum | FFT spectral analysis |
analyze_rhythm | Rhythm complexity analysis |
detect_tempo | BPM detection |
detect_key | Musical key detection |
validate_pattern_runtime | Validate pattern with browser error checking |
| Tool | Description |
|---|---|
compose | One-shot pattern generation with auto-play |
status | Get current browser/playback state |
diagnostics | Detailed system diagnostics |
show_browser | Bring browser window to foreground |
screenshot | Capture browser screenshot |
show_errors | Display captured console errors |
| Tool | Description |
|---|---|
performance_report | Timing metrics and bottleneck analysis |
memory_usage | Memory consumption statistics |
| Tool | Description | Options |
|---|---|---|
get_pattern_feedback | AI-powered creative feedback via Gemini | includeAudio: analyze audio (default: false), style: hint for context |
Note: Requires
GEMINI_API_KEYenvironment variable. Returns pattern complexity, estimated style, strengths, and suggestions.
Create a Simple Beat
You: Initialize Strudel and create a simple techno beat
Claude: [Initializes browser]
[Generates and writes pattern]
[Starts playback]
Pattern created:
setcpm(130)
stack(
s("bd*4"),
s("~ cp ~ cp"),
s("hh*8").gain(0.4)
).gain(0.8)
Generate a Bassline
You: Add a techno bassline in C
Claude: [Generates bassline]
[Appends to current pattern]
Added: note("c2 c2 c2 c2").s("sawtooth").cutoff(800)
Interact with services that don't offer APIs
Example
Check form submissions, validate website functionality, test user flows
Automate interactions with any website, even without API
Prerequisites
Time Estimate
20-40 minutes including configuration and testing
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
MCP server handles HTTP requests, HTML parsing, JavaScript rendering (if headless browser), and returns structured data to Claude.
Protocols
Compatibility
✓ Use when
Use for research automation, content monitoring, data aggregation from multiple sources, and when official APIs don't exist. Best for read-only information gathering.
✗ Avoid when
Avoid for sites with APIs (use API instead), sites that explicitly forbid scraping, when data is copyrighted, or for login-required content without proper authorization.