Koii Controller
FreeNot checkedMCP server for controlling the teenage engineering EP-133 K.O. II via MIDI
About
MCP server for controlling the teenage engineering EP-133 K.O. II via MIDI
README
Control your Teenage Engineering EP-133 K.O. II with AI via the Model Context Protocol.
Connect Claude (or any MCP-compatible AI) to your KO-II over MIDI — play patterns, compose beats, improvise melodies, and send transport commands — all from a conversation.
Requirements
- macOS 26+
- Xcode 26+ (or Swift 6.3+ toolchain)
- A KO-II connected via USB
Installation
# 1. Clone the repository
git clone https://github.com/xhiew/koii-controller
cd koii-controller/KOIIController
# 2. Build the release binary
swift build -c release
# 3. Note the binary path — you'll need it in the next step
echo "Binary: $(pwd)/.build/release/KOIIController"
Setup with Claude Desktop
Open (or create) ~/Library/Application Support/Claude/claude_desktop_config.json and add:
{
"mcpServers": {
"koii-controller": {
"command": "/path/to/koii-controller/KOIIController/.build/release/KOIIController"
}
}
}
Replace the path with the actual output from step 3 above. Restart Claude Desktop.
Setup with Claude CLI (Pro plan)
If you use Claude via terminal (claude CLI), add the server with:
claude mcp add koii-controller /path/to/koii-controller/KOIIController/.build/release/KOIIController
Verify it was added:
claude mcp list
To remove it later:
claude mcp remove koii-controller
Usage
Once connected, talk to Claude naturally. Some examples:
Connect to the device
"Connect to my KO-II"
Claude will call list_midi_outputs to find your device, then connect_device automatically.
Play a drum beat
"Play a 2-bar techno beat at 130 BPM"
"Make a lo-fi hip hop groove with ghost notes on the snare"
Play a melody
"Play a sad melody in D minor, slow tempo"
"Improvise something uplifting in C major over 4 bars"
Transport control
"Start playback"
"Stop"
Using prompts
The server includes two structured prompts accessible in Claude:
beat_generator— provide a genre, BPM, and number of bars. Claude will design and play a full drum kit pattern.jam_session— provide a mood, key, and scale. Claude will improvise a melodic phrase, optionally with a drum backing.
Available Tools
| Tool | What it does |
|---|---|
list_midi_outputs |
Lists all MIDI ports on your Mac |
connect_device |
Connects to a MIDI port by name |
disconnect_device |
Disconnects the current device |
transport_start |
Sends MIDI Start (resets to bar 1) |
transport_stop |
Sends MIDI Stop |
transport_continue |
Resumes from current position |
play_pad |
Triggers a single pad (groups A–D, pads 1–12) |
play_drum_pattern |
Plays a text-grid drum pattern |
play_key_mode |
Plays a melodic sequence using scale degrees |
list_available_scales |
Lists the 11 supported scales |
KO-II Pad Layout
Group A MIDI 36–47 Group B MIDI 48–59
Group C MIDI 60–71 Group D MIDI 72–83
Within each group:
<G>. = base note (e.g. A. = 36)
<G>0 = base + 1 (e.g. A0 = 37)
<G>FX = base + 2 (e.g. AFX = 38)
<G>1 = base + 3 (e.g. A1 = 39)
...
<G>9 = base + 11 (e.g. A9 = 47)
Tips
- Drum patterns: each character = one grid step. Never use spaces for visual alignment — they count as rest steps. Use
.instead. - Melodies: the default octave is 5 (matching KO-II's hardware default). Use
degreevalues (1-based) — the server resolves them to MIDI notes automatically. - Scales: ask Claude to
list_available_scalesbefore composing melodies — there are 11 options including pentatonic, blues, and chromatic. - Tempo: always specify BPM so note durations are calculated correctly.
Credits
Inspired by mcp-koii by @benjaminr — a Python-based MCP server for the KO-II that sparked the idea for this Swift implementation.
Installing Koii Controller
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/xhiew/koii-controllerFAQ
Is Koii Controller MCP free?
Yes, Koii Controller MCP is free — one-click install via Unyly at no cost.
Does Koii Controller need an API key?
No, Koii Controller runs without API keys or environment variables.
Is Koii Controller hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Koii Controller in Claude Desktop, Claude Code or Cursor?
Open Koii Controller on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Koii Controller with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
