MCP Interface for Teenage Engineering EP-133 K.O. II
MCP Server for Teenage Engineering EP-133 KO-II
benjaminr
README
MCP Interface for Teenage Engineering EP-133 K.O. II
<img src="./mcp.jpg" width="318"><img src="./koii.jpg" width="200">
This project is a Model Context Protocol (MCP) server that acts as a controller for the Teenage Engineering EP-133 K.O. II sampler via MIDI
Features
- Connect to your EP-133 K.O. II device via MIDI
- Play notes and patterns through text commands
- View the default pad configuration to understand sound mapping
- Create and play drum patterns with a simple text-based syntax
- Support for multiple instrument reference methods (pad labels, MIDI notes, instrument names, sound names)
- Simultaneous playback of multiple instruments in drum patterns
- Integration with Claude through MCP
Installation
Prerequisites
- Python 3.8 or later
mido
(MIDI handling)mcp
(Model Context Protocol SDK)
Quick Install
# Install the required packages
pip install mido "mcp[cli]"
# Clone the repository
git clone https://github.com/benjaminr/mcp-koii.git
cd mcp-koii
# Install the MCP server
mcp install koii_server.py:server -e .
Usage with Claude Desktop
-
Make sure your EP-133 K.O. II is connected to your computer via USB.
-
Launch Claude Desktop with MCP enabled.
-
Start controlling your EP-133 K.O. II by asking Claude natural language questions like:
- "List available MIDI ports"
- "Connect to the EP-133 device"
- "Play a C major scale"
- "Play a drum pattern with kick on beats 1 and 3, snare on 2 and 4, and hi-hat on every 8th note"
Running in Development Mode
You can run the MCP server in development mode to test it without Claude Desktop:
# Run with the inspector UI
mcp dev koii_server.py:server -e .
Features and Commands
Basic Commands
- List available MIDI ports: Shows all available MIDI output ports on your system.
- Connect to a MIDI device: Connect to the EP-133 K.O. II by name or port number.
- Disconnect: Close the connection to the current MIDI device.
Playing Notes and Patterns
- Play a note: Play a single note with specified velocity and duration.
- Play a pattern: Play a sequence of notes with timing information.
- Play a drum pattern: Play a text-based drum pattern.
Sound Browser
- List sound categories: View available sound categories (Kicks, Snares, etc.).
- List sounds in category: Browse sounds within a specific category.
- Get default pad configuration: See which sounds are mapped to each pad by default.
MIDI Implementation
The EP-133 K.O. II responds to the following MIDI messages:
- Note On/Off: Triggers sounds on pads (C2-B5, notes 36-83)
Drum Pattern Syntax
The drum pattern system supports four different ways to reference sounds:
1. Using pad references:
x...x...x...x... # A.
....x.......x... # A2
x.x.x.x.x.x.x.x. # A5
2. Using MIDI note numbers:
x...x...x...x... # 36
....x.......x... # 40
x.x.x.x.x.x.x.x. # 43
3. Using sound names:
x...x...x...x... # "MICRO KICK"
....x.......x... # "NT SNARE"
x.x.x.x.x.x.x.x. # "NT HH CLOSED"
4. Mixed references:
x...x...x...x... # A. (pad reference)
....x.......x... # 40 (MIDI note)
......x......... # "NT RIDE" (sound name)
Pattern Format
- Each line represents a different instrument/sound
- 'x' or 'X' indicates a hit (high velocity)
- 'o' or 'O' indicates a softer hit (lower velocity)
- '.' indicates no hit
- Each position represents a 16th note
- Comments after '#' specify what sound to trigger using any of the reference methods
- Multiple instruments can be triggered simultaneously with their hits overlapping
Troubleshooting
- No MIDI ports found: Make sure your EP-133 K.O. II is connected and powered on.
- Connection issues: Try reconnecting the USB cable or restarting your EP-133.
- Notes not playing: Verify that the device is in the correct MIDI mode.
- Multiple instruments not playing simultaneously: Use a higher BPM value to ensure the EP-133 K.O. II can process all notes during playback.
- Unknown instruments: Use exact instrument names, pad labels, MIDI notes or sound names in quotes.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Teenage Engineering for the EP-133 K.O. II.
- Anthropic for Claude and the Model Context Protocol.
- MIDO for the MIDI handling library.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.