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
- All filter types
- 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:
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9122b4cbee60fe17ab653533f2d111008838ad881bdeb143d74ee48be536423f
|
|
| MD5 |
e7cbfc174261cb215e7a83782a895b00
|
|
| BLAKE2b-256 |
f99d9d0d45e493f00287276e23658fd71845cc41e16999a3d85daa61cadd4357
|
File details
Details for the file elektron_mcp-0.2.4-py3-none-any.whl.
File metadata
- Download URL: elektron_mcp-0.2.4-py3-none-any.whl
- Upload date:
- Size: 31.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6dddd1b3c5eb79d5e6fc049d19a72bb2e7a96374254eb8e7a6ede7b77d3f432
|
|
| MD5 |
8b9ea8ab46ae98a6d8df0ace8827193e
|
|
| BLAKE2b-256 |
7282ea6cc3c2922ecd7dc1dceb63b0078490d17eef2609cabd2b115e7d377358
|