phase8-mcp

phase8-mcp

MCP server for the Korg Phase 8 acoustic synthesizer that enables triggering resonators, controlling per-resonator knobs, and modulating global parameters over USB MIDI.

Category
Visit Server

README

phase8-mcp

MCP server for the Korg Phase 8 acoustic synthesizer. Wraps the MIDI implementation documented in the phase 8 owner's manual v1.00 (2025-11-20) so a Model Context Protocol client (Claude Code, Cursor, Continue, etc.) can trigger resonators, drive per-resonator knobs, and modulate globals over USB MIDI.

Written by Ziforge as part of the superclean-collaboration livecoding rig at EMS Stockholm. Companion to the other Ziforge MCPs for Eurorack + hardware synths — see Related MCPs below.

MIDI implementation covered

Direct from section 12.0 (MIDI Implementation Chart) of the phase 8 owner's manual:

Feature MIDI Notes
8 resonator triggers Notes 36-43 (C2..G2) one note per resonator, left→right
Per-resonator Velocity knob CC 12-19 resonator 1..8
Per-resonator Envelope knob CC 20-27 resonator 1..8
Mod Depth CC 28 0..127
Mod Rate CC 29 0..127
Air slider CC 30 0..127
Tempo (Internal) CC 31 0..127
Shift CC 90 0..127
Mod Type CC 92 0 = Pitch Env, 1 = Vibrato
All Sound Off CC 120 silence all
Reset All Controllers CC 121 reset all CCs
Program Change 0-7 one of the 8 patches
SysEx Korg exclusive + Inquiry via send_raw_sysex

Not implemented (Phase 8 doesn't respond to them):

  • Aftertouch (Key's or Channel)
  • Pitch Bend

Tools

Category Tools
Connection list_midi_ports, connect_phase8(port_pattern, channel), disconnect_phase8, set_channel(channel)
Notes trigger_resonator(resonator, velocity, duration_ms), release_resonator(resonator), strum(from_res, to_res, velocity, step_ms)
Per-resonator CCs set_velocity_knob(resonator, value), set_envelope_knob(resonator, value)
Global CCs set_mod_depth, set_mod_rate, set_air, set_tempo, set_shift, set_mod_type(mod_type='vibrato')
Master all_sound_off, reset_all_controllers, program_change(program)
Escape hatches send_raw_sysex(hex_bytes), send_cc(controller, value)

Install

From PyPI (once published) or directly from GitHub:

pip install git+https://github.com/Ziforge/phase8-mcp

Or in a checkout:

git clone https://github.com/Ziforge/phase8-mcp
cd phase8-mcp
pip install -e .

Auto-connects on startup to any MIDI port whose name contains phase8. Override with connect_phase8(port_pattern="...", channel=N).

Wiring it into Claude Code

{
  "mcpServers": {
    "phase8": {
      "command": "phase8-mcp"
    }
  }
}

Example prompts (for the MCP client)

  • "Play a slow strum across all 8 resonators, 100 ms per note"
  • "Set resonator 5's envelope knob to 80 and its velocity to 60"
  • "Change to patch 3, then trigger resonator 1 for 2 seconds"
  • "Enable vibrato mod at depth 90, rate 40"

Related MCPs

Ziforge maintains several MCP servers for the hardware in the same livecoding rig — all follow the same shape (FastMCP + python-rtmidi, auto-connect by port-name substring, typed helpers for the top of the MIDI chart plus escape hatches for the rest):

MCP For
disting-nt-mcp Expert Sleepers Disting NT
fh2-mcp Expert Sleepers FH-2 MIDI-to-CV
es9-mcp Expert Sleepers ES-9 audio interface
erae-mcp Embodme ERAE Touch II
cirklon-mcp Sequentix Cirklon sequencer
elektron-mcp fork of zerubeus/elektron-mcp — Digitone, Digitakt, etc.

Contributing

Pull requests welcome. Suggested workflow:

  1. Fork + branch.
  2. pip install -e .[dev] (once dev extras land) or just install the base deps and run against a physical Phase 8 or via a virtual MIDI port for smoke testing.
  3. If you're adding a Korg SysEx opcode or an undocumented CC that the manual doesn't cover, cite the source (community wiki, forum thread, sniffed capture) so future maintainers can reproduce.
  4. Keep the style consistent with the other Ziforge MCPs — one server.py with FastMCP tools, a pyproject.toml, a README with the MIDI table + tools table.

Attribution

MIDI implementation chart transcribed from the phase 8 owner's manual v1.00 (Korg, 2025-11-20), section 12.0. Manual PDF available from Korg's support page for the Phase 8.

License

GPL v2. See LICENSE.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured