browser-automationother

Strudel Live Coding

williamzujkowski

by williamzujkowski

Strudel Live Coding offers real-time music generation in your browser with 40+ tools for pattern creation, theory, and l

Provides direct control over Strudel.cc for live coding music generation through browser automation, offering 40+ tools for pattern creation, music theory operations, genre-specific generators, and real-time audio analysis with session management.

github stars

168

0 commentsdiscussion

Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.

65+ specialized music toolsDirect browser automationReal-time audio analysis

best for

  • / Musicians doing AI-assisted live coding
  • / Algorithmic composition experiments
  • / Music producers exploring generative patterns
  • / Educational music theory practice

capabilities

  • / Generate live coding music patterns
  • / Control browser-based Strudel.cc sessions
  • / Apply music theory operations and transformations
  • / Create genre-specific music generators
  • / Analyze audio patterns in real-time
  • / Manage live coding sessions

what it does

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.

about

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.

how to install

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.

license

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.

readme

Strudel MCP Server

🎵 Open source MCP server for AI-powered music generation with Strudel.cc

Status: Actively developed | Experimental | Contributions welcome

<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>

CI npm version Tools License

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.

Table of Contents

✨ Features

🎹 Complete Music Control

  • 65 MCP Tools: Comprehensive suite for music creation and manipulation
  • Real Browser Automation: Direct control of Strudel.cc through Playwright
  • Live Audio Analysis: Real-time frequency analysis via Web Audio API
  • Pattern Generation: AI-powered creation across 8+ music genres
  • Music Theory Engine: Scales, chords, progressions, euclidean rhythms
  • Session Management: Save, load, undo/redo with pattern storage

🔧 Testing & Development Status

  • Test Suite: 1470 tests passing (1521 total, 51 skipped)
  • Code Coverage: 78% statement coverage (goal: 80%)
  • Browser Integration: Works with live Strudel.cc website
  • Audio Analysis: Real-time FFT analysis functional
  • Pattern Generation: Core music generation features working
  • OIDC Publishing: Secure npm publishing with provenance attestation

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.

🎼 Example Patterns

Explore 17 curated example patterns across 10 genres in patterns/examples/:

  • Techno: Hard techno, minimal techno
  • House: Deep house, tech house
  • Drum & Bass: Liquid, neurofunk
  • Ambient: Dark ambient, drone
  • Trap: Modern trap, cloud trap
  • Jungle: Classic jungle, ragga jungle
  • Jazz: Bebop, modal jazz
  • Intelligent DnB: Atmospheric, liquid, LTJ Bukem style
  • Trip Hop: Portishead, Massive Attack, Flying Lotus style
  • Boom Bap: DJ Premier, Alchemist, golden era hip hop

Each example includes pattern code, BPM, key, and description. See patterns/examples/README.md for details.

📦 Installation

Prerequisites

RequirementVersionNotes
Node.js18.x or 20.xLTS versions recommended
npm9+Comes with Node.js
ChromiumLatestAuto-installed by Playwright
Audio outputAnyRequired for playback (speakers/headphones)

Optional: Docker for containerized deployment.

From npm

npm install -g @williamzujkowski/strudel-mcp-server

# Install browser (required once)
npx playwright install chromium

From Source

# 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

🚀 Quick Reference

Common commands for immediate use:

ActionCommand
Initialize browserinit
Create techno beatgenerate_pattern with style: "techno"
Play patternplay
Stop playbackstop
Get current patternget_pattern
Analyze audioanalyze
Save patternsave with name: "my-pattern"
Undo last changeundo

One-shot workflow:

compose with style: "dnb", key: "Am", bpm: 174, auto_play: true

🎯 Quick Start

1. Add to Claude

# 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

2. Start Using

claude chat

Then ask Claude:

  • "Initialize Strudel and create a techno beat"
  • "Generate a jazz chord progression in F major"
  • "Create a drum & bass pattern at 174 BPM"

🛠️ Available Tools (65)

Core Control (10 tools)

ToolDescriptionExample
initInitialize Strudel in browser"Initialize Strudel"
writeWrite pattern to editor"Write pattern: s('bd*4')"
playStart playback"Play the pattern"
stopStop playback"Stop playing"
clearClear editor"Clear the editor"
get_patternGet current pattern"Show current pattern"
appendAdd to pattern"Add hi-hats"
insertInsert at line"Insert at line 2"
replaceReplace text"Replace bd with sn"
pausePause playback"Pause"

Pattern Generation & Manipulation (10 tools)

ToolDescriptionOptions
generate_patternComplete patternstechno, house, dnb, ambient, trap, jungle, jazz, intelligent_dnb, trip_hop, boom_bap
generate_drumsDrum patternsAll styles + complexity (0-1)
generate_basslineBass patternstechno, house, dnb, acid, dub, funk, jazz, intelligent_dnb, trip_hop, boom_bap
generate_melodyMelodic linesAny scale, custom length
generate_variationPattern variationssubtle, moderate, extreme, glitch
transposeTranspose notes±12 semitones
reverseReverse pattern-
stretchTime stretchFactor 0.1-10
quantizeQuantize to grid1/4, 1/8, 1/16, etc.
humanizeAdd timing variationAmount 0-1

Music Theory (6 tools)

ToolDescriptionOptions
generate_scaleGenerate scalesmajor, minor, modes, pentatonic, blues
generate_chord_progressionChord progressionspop, jazz, blues, rock, folk
generate_euclideanEuclidean rhythmshits/steps/sound
generate_polyrhythmPolyrhythmsMultiple patterns
generate_fillGenerate drum fillsAll styles, 1-4 bars
apply_scaleApply scale to notesAny scale

Effects (4 tools)

ToolDescription
add_effectAdd audio effect (reverb, delay, etc.)
remove_effectRemove an effect from the chain
set_tempoSet BPM (60-200)
add_swingAdd swing feel (0-1 amount)

Session Management (5 tools)

ToolDescription
saveSave pattern with tags
loadLoad saved pattern
listList all patterns
undoUndo last action
redoRedo action

Pattern History (3 tools)

ToolDescription
list_historyBrowse pattern history with timestamps and previews
restore_historyRestore a previous pattern by ID
compare_patternsCompare two patterns showing line-by-line differences

Audio Analysis (6 tools)

ToolDescription
analyzeBasic audio analysis (frequency, playing state)
analyze_spectrumFFT spectral analysis
analyze_rhythmRhythm complexity analysis
detect_tempoBPM detection
detect_keyMusical key detection
validate_pattern_runtimeValidate pattern with browser error checking

UX & Browser Control (6 tools)

ToolDescription
composeOne-shot pattern generation with auto-play
statusGet current browser/playback state
diagnosticsDetailed system diagnostics
show_browserBring browser window to foreground
screenshotCapture browser screenshot
show_errorsDisplay captured console errors

Performance (2 tools)

ToolDescription
performance_reportTiming metrics and bottleneck analysis
memory_usageMemory consumption statistics

AI Feedback (1 tool)

ToolDescriptionOptions
get_pattern_feedbackAI-powered creative feedback via GeminiincludeAudio: analyze audio (default: false), style: hint for context

Note: Requires GEMINI_API_KEY environment variable. Returns pattern complexity, estimated style, strengths, and suggestions.

🎵 Usage Examples

Basic Pattern Creation

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)

FAQ

What is the Strudel Live Coding MCP server?
Strudel Live Coding is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for Strudel Live Coding?
This profile displays 37 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.7 out of 5—verify behavior in your own environment before production use.

Use Cases

Web Research & Information Gathering

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

Content Monitoring & Alerts

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

Data Extraction & Aggregation

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

API-less Integration

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

Implementation Guide

Prerequisites

  • Claude Desktop or Cursor with MCP support
  • Understanding of web scraping ethics and robots.txt
  • Rate limiting awareness to avoid overwhelming target sites
  • Knowledge of legal restrictions on data collection

Time Estimate

20-40 minutes including configuration and testing

Installation Steps

  1. 1.Install web automation MCP server via npm or pip
  2. 2.Configure allowed domains and rate limits in MCP config
  3. 3.Test with simple fetch: 'Get content from example.com'
  4. 4.Progress to extraction: 'Extract all product prices from this page'
  5. 5.Set up monitoring: 'Check this URL daily for changes'
  6. 6.Parse structured data: 'Create CSV from this table'
  7. 7.Respect robots.txt and rate limits always

Troubleshooting

  • 403 Forbidden: Website blocks bots—respect their wishes, use official API instead
  • Rate limit errors: Slow down requests, add delays between fetches
  • Stale data: Target site changed HTML structure—update selectors
  • Timeout errors: Site is slow or blocking—increase timeout, try different user agent
  • JavaScript-rendered content: Use headless browser MCP servers for dynamic sites

Best Practices

✓ Do

  • +Check robots.txt and respect crawl rules
  • +Rate limit requests: 1-2 requests/second maximum
  • +Use official APIs when available instead of scraping
  • +Identify your bot with descriptive user agent
  • +Cache results to minimize repeated requests
  • +Handle errors gracefully with retries and fallbacks
  • +Validate extracted data for accuracy

✗ Don't

  • Don't scrape sites that explicitly forbid it (robots.txt, ToS)
  • Don't overwhelm servers with rapid requests—use rate limiting
  • Don't scrape personal data without consent and legal basis
  • Don't ignore copyright on extracted content
  • Don't assume HTML structure is stable—handle changes
  • Don't use scraped data for commercial purposes without permission

💡 Pro Tips

  • Use CSS selectors or XPath for robust data extraction
  • Set up monitoring alerts for extraction failures (structure changed)
  • Implement exponential backoff for retries on failures
  • Store raw HTML for reprocessing if extraction logic changes
  • Combine with data analysis tools for insights from extracted data
  • Consider using official APIs or RSS feeds as more stable alternatives

Technical Details

Architecture

MCP server handles HTTP requests, HTML parsing, JavaScript rendering (if headless browser), and returns structured data to Claude.

Protocols

  • HTTP/HTTPS
  • WebSocket (for real-time sites)
  • Puppeteer/Playwright (for JavaScript sites)

Compatibility

  • Static HTML sites
  • JavaScript-rendered SPAs (with headless browser)
  • REST APIs
  • GraphQL endpoints

When to Use This

✓ 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.

Integration

  • Scheduled monitoring with change detection
  • Multi-source data aggregation pipelines
  • Fallback to web scraping when API rate limits hit
  • Headless browser for JavaScript-heavy sites

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.

List & Promote Your MCP Server

Share your MCP server with the developer community

GET_STARTED →
MCP server reviews

Ratings

4.737 reviews
  • Alexander Agarwal· Dec 20, 2024

    According to our notes, Strudel Live Coding benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Chaitanya Patil· Dec 8, 2024

    Strudel Live Coding is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Meera Shah· Nov 11, 2024

    Strudel Live Coding has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Hassan Patel· Oct 2, 2024

    We evaluated Strudel Live Coding against two servers with overlapping tools; this profile had the clearer scope statement.

  • Hassan Rao· Sep 25, 2024

    Strudel Live Coding reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Naina Jackson· Sep 9, 2024

    I recommend Strudel Live Coding for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Meera Garcia· Sep 9, 2024

    Strudel Live Coding has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Piyush G· Sep 1, 2024

    We evaluated Strudel Live Coding against two servers with overlapping tools; this profile had the clearer scope statement.

  • Naina Shah· Aug 28, 2024

    Strudel Live Coding reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Charlotte Abebe· Aug 28, 2024

    We evaluated Strudel Live Coding against two servers with overlapping tools; this profile had the clearer scope statement.

showing 1-10 of 37

1 / 4