FE

ftupas/elektron-mcp

API 开发

本页由 AI 翻译,技术细节请以原文为准。 查看原文

0 stars 7 forks 质量 44 趋势 0

MCP sever for controlling Elektron devices using LLMs

概览

A Model Context Protocol (MCP) server that allows Claude and other MCP-compatible LLMs to interact with and control Elektron synthesizers via MIDI. - [x] Complete MIDI control interface for the Elektron Digitone synthesizer - [ ] Complete MIDI control interface for the Elektron Digitakt sampler - [x] Structured controllers for all Digitone sound engines: - [x] Wavetone (waveshaping synthesis) - [ ] FM Tone (FM synthesis) - [ ] FM Drum (percussive FM synthesis) - [ ] Swarmer (unison/swarm synthesis) - [x] Comprehensive parameter control for: - [x] All filter types - [x] MultiMode - [ ] Lowpass4 - [ ] Equalizer - [ ] LegacyLpHp - [ ] CombMinus - [ ] CombPlus - [ ] BaseWidth - [x] Amplitude and envelope settings - [x] Effects processing (delay, reverb, chorus, bit reduction, etc.

README

以下为原文 README 节选,完整内容请查看原文。

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

  • [x] Complete MIDI control interface for the Elektron Digitone synthesizer
  • [ ] Complete MIDI control interface for the Elektron Digitakt sampler
  • [x] Structured controllers for all Digitone sound engines:
    • [x] Wavetone (waveshaping synthesis)
    • [ ] FM Tone (FM synthesis)
    • [ ] FM Drum (percussive FM synthesis)
    • [ ] Swarmer (unison/swarm synthesis)
  • [x] Comprehensive parameter control for:
    • [x] All filter types
      • [x] MultiMode
      • [ ] Lowpass4
      • [ ] Equalizer
      • [ ] LegacyLpHp
      • [ ] CombMinus
      • [ ] CombPlus
      • [ ] BaseWidth
    • [x] Amplitude and envelope settings
    • [x] Effects processing (delay, reverb, chorus, bit reduction, etc.)
    • [ ] LFOs control
  • [x] MCP server exposing all synth parameters as tools for LLMs
  • [x] Type-safe parameter validation using Pydantic
  • [x] 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.)
在 GitHub 查看完整 README

安装

uvx elektron-mcp
新手?先看 mcpskill.org 教程 →

配置

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