Skip to main content
Glama

mcp-strudel - Strudel ↔ MIDI MCP server

An MCP server that exposes the Strudel mini-notation engine (shared with the m4l-strudel device) as tools Claude can call. Combine it with ableton-mcp so you can say things like "lay down a bd(3,8) kick and a c5 [e5 g5]*2 bassline" and have Claude convert the patterns and write them into Ableton clips.

Tools

Tool

Input

Output

strudel_to_midi

pattern, bars, cycles, conv, octaveOffset, velocity

JSON note events (pitch, start, duration in beats) + lengthBeats

midi_to_strudel

notes[], bars, grid, conv, octaveOffset

mini-notation text

strudel_validate

pattern

parse errors or "OK"

conv = strudel (c5=60, default) or scientific (c4=60).

Related MCP server: Filopastry

Run

pnpm install
pnpm test # engine contract tests (vitest)
pnpm start # launches the stdio MCP server (tsx src/server.ts)

Wire it into Claude

Add to the MCP config you pass to the Claude Code CLI (e.g. the mcp-config.json that the m4l-claude device generates), alongside AbletonMCP:

{
 "mcpServers": {
 "AbletonMCP": { "command": "uvx", "args": ["ableton-mcp"] },
 "strudel": {
 "command": "npx",
 "args": ["-y", "tsx", "C:/Users/jaime/src/livecam-m4l/tmp/mcp-strudel/src/server.ts"]
 }
 }
}

With both servers available, Claude can call strudel_to_midi to turn a pattern into notes, then use AbletonMCP's clip/note tools to create the clip - the m4l-strudel → mcp-strudel → ableton-mcp path, orchestrated in natural language.

Engine

src/lib/mini/ is the same parser/scheduler/unparser as the m4l-strudel device (recursive-descent parser, Bjorklund euclidean rhythms, cycle scheduler, grid quantizer). Keeping one engine means the device and the server always agree on how a pattern sounds.

Available Tools

3 tools
midi_to_strudelMIDI → StrudelA

Convert MIDI note events (pitch + start/duration in beats) into Strudel mini-notation text, quantized to a step grid. Simultaneous notes become [a,b] chords; gaps become ~ rests; held notes use @ elongation.

Inputs: notes (required), bars, conv, grid, +1 more.

strudel_to_midiStrudel → MIDIA

Convert a Strudel mini-notation pattern into MIDI note events. Supports sequences, [subdivisions], ~ rests, , *repeat, @elongation, [a,b] chords, {poly}%n, and euclid(p,s,rot). Returns note events with pitch and start/duration in beats, plus total length in beats.

Inputs: pattern (required), bars, conv, cycles, +2 more.

strudel_validateValidate Strudel patternB

Parse a Strudel mini-notation pattern and report any syntax errors.

Inputs: pattern (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a distinct and non-overlapping purpose: MIDI-to-Strudel conversion, Strudel-to-MIDI conversion, and Strudel validation. No ambiguity.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case: midi_to_strudel, strudel_to_midi, strudel_validate. Perfectly predictable naming.

    Tool Count5/5

    Three tools is ideal for a focused conversion/validation server. No bloat or deficiency given the domain.

    Completeness4/5

    Covers the essential bidirectional conversion and validation. A minor gap is the lack of a tool for partial conversions or advanced transformations, but the core workflow is complete.

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      C
      quality
      D
      maintenance
      Enables AI agents to generate, manipulate, and perform algorithmic music using Strudel.cc live coding environment. Provides 46+ tools for pattern generation across multiple genres, music theory operations, real-time audio analysis, and AI-powered composition.
      50
      -
    • F
      license
      B
      quality
      D
      maintenance
      Control Ableton Live from Claude Code via the Model Context Protocol (MCP). Create/edit tracks, control plugins, fire clips, edit MIDI notes, capture audio — all through natural language.
      100
      -