Enables AI-powered live coding music generation through Strudel.cc, a web-based environment inspired by TidalCycles, providing tools for pattern generation, music theory operations, audio analysis, and real-time performance across multiple genres including techno, house, drum & bass, ambient, and jazz.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Filopastry generate a techno pattern with a driving bassline"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Filopastry
AI-powered live coding music generation through Strudel.cc
An MCP (Model Context Protocol) server that enables AI agents to generate, manipulate, and perform algorithmic music using Strudel.cc — a web-based live coding environment inspired by TidalCycles.
Overview
Filopastry bridges the gap between AI and live-coded music. It provides 46+ tools for pattern generation, music theory operations, audio analysis, and AI-powered composition — all accessible through the Model Context Protocol.
The server automates a headless Chromium browser running Strudel.cc, allowing AI agents to write patterns, control playback, analyze audio in real-time, and generate music across multiple genres.
Key Capabilities
Pattern Generation: Create complete tracks in techno, house, drum & bass, ambient, trap, jungle, jazz, and experimental styles
Music Theory Engine: Generate scales, chord progressions, Euclidean rhythms, and polyrhythms
Real-time Audio Analysis: FFT spectrum analysis, tempo detection, key detection
AI Integration: Natural language pattern generation via DeepSeek API (optional)
Session Management: Save, load, and organize patterns with tags
Undo/Redo: Full editing history for pattern manipulation
Prerequisites
Node.js 18.0.0 or higher
npm 9.0.0 or higher
Chromium (installed automatically by Playwright)
Installation
Configuration
config.json
The server reads configuration from config.json in the project root:
Option | Description | Default |
| Run browser without GUI (set |
|
| Strudel.cc instance URL |
|
| Directory for saved patterns |
|
| FFT window size for audio analysis |
|
| Spectrum smoothing factor (0-1) |
|
DeepSeek API (Optional)
For AI-powered pattern generation, set the DEEPSEEK_API_KEY environment variable:
Get an API key from the DeepSeek Platform.
When the API key is not configured, AI tools fall back to static pattern generation using the built-in PatternGenerator.
Usage
Running the MCP Server
Validating the Server
Test that the MCP protocol is working:
This sends a tools/list request and displays the available tools.
Integration with Cursor IDE
Add Filopastry to your Cursor MCP configuration:
macOS/Linux: ~/.cursor/mcp.json
Windows: %APPDATA%\Cursor\mcp.json
Restart Cursor after updating the configuration.
Tool Reference
Filopastry provides 46+ tools organized into categories:
Core Control (10 tools)
Tool | Description |
| Initialize Strudel in browser |
| Write pattern to editor |
| Append code to current pattern |
| Insert code at specific line |
| Replace pattern section |
| Start playing pattern |
| Pause playback |
| Stop playback |
| Clear the editor |
| Get current pattern code |
Pattern Generation (10 tools)
Tool | Description |
| Generate complete pattern from style (techno, house, dnb, ambient, trap, jungle, jazz) |
| Generate drum pattern |
| Generate bassline |
| Generate melody from scale |
| Generate scale notes |
| Generate chord progression |
| Generate Euclidean rhythm |
| Generate polyrhythm |
| Generate drum fill |
| Create pattern variations |
Pattern Manipulation (6 tools)
Tool | Description |
| Transpose notes by semitones |
| Reverse pattern |
| Time stretch pattern |
| Quantize to grid |
| Add human timing variation |
| Apply scale to notes |
Effects & Processing (5 tools)
Tool | Description |
| Add effect to pattern |
| Remove effect |
| Set BPM |
| Add swing to pattern |
| Validate pattern with runtime error checking |
Audio Analysis (5 tools)
Tool | Description |
| Complete audio analysis |
| FFT spectrum analysis |
| Rhythm analysis |
| BPM detection |
| Key detection |
Session Management (5 tools)
Tool | Description |
| Save pattern with metadata |
| Load saved pattern |
| List saved patterns |
| Undo last action |
| Redo action |
AI-Powered Tools (7 tools)
Requires DEEPSEEK_API_KEY environment variable for full functionality.
Tool | Description |
| Generate pattern from natural language description |
| Enhance or modify current pattern |
| Get explanation of what current pattern does |
| Get style detection, complexity assessment, suggestions |
| Generate AI-suggested variations |
| Check if DeepSeek AI is configured |
| Test DeepSeek API connection |
Performance Monitoring (2 tools)
Tool | Description |
| Get performance metrics and bottlenecks |
| Get current memory usage statistics |
Architecture
Component Overview
Component | Purpose |
EnhancedMCPServerFixed | MCP protocol handling, tool registration and routing |
StrudelController | Browser automation via Playwright, editor manipulation |
AudioAnalyzer | Real-time FFT analysis, tempo/key detection algorithms |
MusicTheory | Scale generation, chord progressions, music theory calculations |
PatternGenerator | Genre-specific pattern generation, Euclidean rhythms |
DeepSeekService | AI integration for natural language pattern generation |
PatternStore | JSON-based pattern persistence with tagging |
Troubleshooting
Browser won't launch
Build fails
"Browser not initialized" errors
Always run the init tool before using browser-dependent tools:
Audio analysis not working
Ensure audio is actually playing (
playtool)Wait a moment for the audio context to connect
Try
analyzetool to verify connection
DeepSeek API errors
Verify API key is set: check
ai_statustool outputTest connection: use
ai_test_connectiontoolCheck API key validity at DeepSeek Platform
Pattern validation errors
The server includes safety checks for dangerous patterns (extreme gain values, eval blocks). Use validate_pattern_runtime to test patterns before playing.
Performance issues
Use performance_report to identify bottlenecks. Common optimizations:
Set
headless: truein config.json for faster operationPatterns are cached with 100ms TTL to reduce browser calls
Example Patterns
The patterns/examples/ directory contains genre-specific pattern templates:
Performance
Operation | Typical Latency |
Browser initialization | 1.5-2s |
Pattern write | 50-80ms |
Pattern read (cached) | 10-15ms |
Play/Stop | 100-150ms |
Audio analysis | 10-15ms |
Tempo detection | <100ms |
Key detection | <100ms |
AI pattern generation | 2-5s (network dependent) |
Author
Youwen Shao
GitHub: @youwenshao
Email: youwenshao@gmail.com
Acknowledgments
Strudel.cc — The live coding music platform that makes this possible
TidalCycles — The inspiration behind Strudel's pattern language
Model Context Protocol — The protocol enabling AI agent integration
DeepSeek — AI capabilities for natural language pattern generation