Skip to main content

MPC to control Elektron machines (Digitakt 2, Digitone 2)

Project description

Elektron MCP

A Model Context Protocol (MCP) server that allows Claude and other MCP-compatible LLMs to interact with and control Elektron synthesizers via MIDI.

Features

  • Complete MIDI control interface for the Elektron Digitone synthesizer
  • Structured controllers for all Digitone sound engines:
    • Wavetone (waveshaping synthesis)
    • FM Tone (FM synthesis)
    • FM Drum (percussive FM synthesis)
    • Swarmer (unison/swarm synthesis)
  • Comprehensive parameter control for:
    • All filter types
      • MultiMode
      • Lowpass4
      • Equalizer
      • LegacyLpHp
      • CombMinus
      • CombPlus
      • BaseWidth
    • Amplitude and envelope settings
    • Effects processing (delay, reverb, chorus, bit reduction, etc.)
    • LFOs control
  • MCP server exposing all synth parameters as tools for LLMs
  • Type-safe parameter validation using Pydantic
  • Modular architecture for easy extension to other Elektron devices

Demo

Watch Claude control the Elektron Digitone synthesizer in real-time:

Claude controlling Elektron Digitone

Installation and Usage

Prerequisites

  • Python 3.10+
  • uv for package management
  • An Elektron Digitone connected via USB
  • Claude Desktop app (for full integration)

Installing Dependencies

uv is mandatory for this project so start by installing it:

For macOS:

brew install uv

For Windows:

Follow the instructions here

3. Installing with Claude Desktop

To use with Claude AI, add the MCP server configuration in Claude Desktop:

Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:

{
  "mcpServers": {
    "Digitone 2": {
      "command": "uvx",
      "args": ["elektron-mcp"]
    }
  }
}

Architecture

The library is designed with a clean, object-oriented architecture:

  • Base Controllers: Common functionality abstracted into base classes
  • Specialized Controllers: Dedicated controllers for each synth engine and module
  • MCP Tools: Direct interface between LLMs and the synth's parameters
  • MIDI Interface: Reliable communication with Digitone hardware

Implementation Details

This library uses:

  • FastMCP: For exposing synth controls to LLMs
  • Pydantic models: For data validation, serialization, and type safety
  • mido: For MIDI communication

Use Cases

  • Allow Claude and other LLMs to create and modify sounds on the Digitone
  • Programmatically control Digitone parameters for automated sound design
  • Bridge between AI-generated music and hardware synthesis

Future Extensions

  • Support for additional Elektron devices (Analog Four, Octatrack, etc.)
  • Pattern sequencing and automation
  • Sound preset management
  • Additional synthesis parameters

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elektron_mcp-0.2.4.tar.gz (40.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elektron_mcp-0.2.4-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file elektron_mcp-0.2.4.tar.gz.

File metadata

  • Download URL: elektron_mcp-0.2.4.tar.gz
  • Upload date:
  • Size: 40.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.8

File hashes

Hashes for elektron_mcp-0.2.4.tar.gz
Algorithm Hash digest
SHA256 9122b4cbee60fe17ab653533f2d111008838ad881bdeb143d74ee48be536423f
MD5 e7cbfc174261cb215e7a83782a895b00
BLAKE2b-256 f99d9d0d45e493f00287276e23658fd71845cc41e16999a3d85daa61cadd4357

See more details on using hashes here.

File details

Details for the file elektron_mcp-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for elektron_mcp-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b6dddd1b3c5eb79d5e6fc049d19a72bb2e7a96374254eb8e7a6ede7b77d3f432
MD5 8b9ea8ab46ae98a6d8df0ace8827193e
BLAKE2b-256 7282ea6cc3c2922ecd7dc1dceb63b0078490d17eef2609cabd2b115e7d377358

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page