A Model Context Protocol (MCP) server that allows Claude and other MCP-compatible LLMs to interact with and control Elektron synthesizers via MIDI.
“Use Digitone MCP to design an evolving dark pad using the Wavetone machine on track 1.”
"Use Digitone MPC to design a Dark thick pad using Wavetone machine on track 1."
Only Wavetone machine is supported for now, other machines will be added soon, stay tuned!
Watch Claude control the Elektron Digitone synthesizer in real-time:
- Python 3.10+
- uv for package management
- An Elektron Digitone connected via USB
- Claude Desktop app (for full integration)
uv is mandatory for this project so start by installing it:
Follow the instructions here
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"]
}
}
}
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
This library uses:
- FastMCP: For exposing synth controls to LLMs
- Pydantic models: For data validation, serialization, and type safety
- mido: For MIDI communication
- 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
- Support for additional Elektron devices (Analog Four, Octatrack, etc.)
- Pattern sequencing and automation
- Sound preset management
- Additional synthesis parameters