Digitakt +
Digitone MCP

Let an LLM play your hardware. Trigger tracks, sculpt FM operators, run clock-locked patterns, and bounce the result to .mid — on an Elektron Digitakt or Digitone.

$ git clone https://github.com/jamiew/digitakt-digitone-mcp $ cd digitakt-digitone-mcp && uv sync $ uv run digitakt-mcp # or: digitone-mcp

Python 3.11+ · macOS, Linux, Windows · MIT

Built for the original Digitakt and Digitone — not the II models, whose parameter maps differ enough that the wrong one puts values in the wrong place, silently. For a Digitakt II, use feamster/digitakt-midi-mcp, the project this one grew out of.

A matte-black desktop sampler in the dark, its display glowing amber and a single orange button at the left of the pad grid

digitakt-mcp · 50 tools

Digitakt

Eight sample tracks, eight MIDI tracks, one LFO, no chorus.

Drums

  • Trigger any track by number — notes 0–7 handled for you
  • Edit trigs over NRPN — note, velocity and length, per step
  • Flatten a track's velocities in one call
  • Play chromatically on the active track, notes 12–84

Sequencing

  • Clock-locked patterns — drums, melody, or both at once
  • Drums and synths together across channels 1–16
  • Count-in and delayed starts for recording takes
  • Looping patterns that repeat for the whole run

Sound

  • 67 named parameters over CC and NRPN
  • Filter, amp, LFO, delay, reverb by name, not CC number
  • Sweeps and ADSR envelopes on any CC parameter
  • volume is CC 7, pan is CC 10 — the mk1 map
A matte-black desktop FM synthesizer in the dark, its display glowing amber, with a turquoise button and a row of white keys

digitone-mcp · 43 tools

Digitone

Four FM tracks, eight shared voices, two LFOs, chorus on the FX channel.

FM

  • Pick an algorithm 1–8 and get the operator routing back in words
  • Set operator ratios — C, A and the B pair
  • Drive modulation depth per operator for brightness
  • Operator envelopes with the FM-specific end level

Playing

  • Chords — tracks are polyphonic, eight voices to share
  • Clock-locked melodies and looping phrases
  • Four tracks at once on channels 1–4
  • Melody plus drums when both servers run together

Sound

  • 100 named parameters over CC and NRPN
  • Chorus, delay and reverb on the FX channel
  • Two LFOs per track, unlike the Digitakt's one
  • filter_cutoff is CC 23 here, not CC 74

Add your own machine

A device here is data, not a fork. Describe it once — port name, track count, parameter table — and the shared core gives you every tool.

SPEC = DeviceSpec( slug="syntakt", display_name="Syntakt", port_name="Elektron Syntakt", track_count=12, parameters=parse_parameters(PARAMETER_MAP), register_tools=register_tools, )

A Digitakt II is mostly a new parameter map · PRs welcome