Skip to main content
Glama
Morningstar MIDI MCP Server

Morningstar MIDI MCP Server

by Turik1

Morningstar MIDI MCP Server

A Model Context Protocol (MCP) server for configuring Morningstar Engineering MIDI foot controllers using natural language.

"I have an MC8 Pro and a Quad Cortex Mini. Put the tuner on long press bottom-left."

The server resolves the switch position, looks up the correct MIDI CC from the OpenMIDI database, checks for conflicts, and programs your controller via USB.

Features

  • Configure Morningstar controllers using natural language through Claude

  • 545+ device profiles from OpenMIDI — knows the MIDI implementation of hundreds of pedals, amps, and synths

  • Physical layout mapping — say "bottom-left" instead of memorizing switch letters

  • Conflict detection — warns before overwriting existing presets

  • Supports MC3, MC6 MKII, MC6 Pro, MC8, and MC8 Pro

Related MCP server: MIDI Composition Tools MCP Server

Tools

  • connect — Find and connect to a Morningstar controller via USB-MIDI

    • port_name (string, optional): MIDI port name. Auto-detects if omitted.

  • get_controller_info — Query controller model, firmware version, and capabilities

  • get_preset — Read the current state of a preset

    • preset (string, required): Switch letter (A–H) or position (top-left, bottom-right, etc.)

  • set_preset_message — Program a MIDI message onto a preset

    • preset (string, required): Switch letter or position

    • action (string, required): press, release, long_press, double_tap, etc.

    • type (string, required): CC or PC

    • cc_number / cc_value (number, optional): CC parameters

    • pc_number (number, optional): Program Change number

    • channel (number, required): MIDI channel (0–15, where 0 = channel 1)

    • slot (number, optional): Message slot 0–15. Auto-assigns if omitted.

    • force (boolean, optional): Overwrite existing message in slot

  • set_preset_name — Rename a preset

    • preset (string, required): Switch letter or position

    • name (string, required): New name

    • name_type (string, optional): short, toggle, or long (default: short)

  • get_bank_name / set_bank_name — Read or rename the current bank

  • lookup_device — Search the OpenMIDI database for a device's MIDI implementation

    • device_name (string, required): Device name (e.g., "Quad Cortex", "Timeline", "HX Stomp")

  • display_message — Show text on the controller's LCD

    • text (string, required): Up to 20 characters

    • duration_ms (number, optional): Display duration in ms (default: 2000)

Installation

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "morningstar": {
      "command": "npx",
      "args": ["-y", "morningstar-midi-mcp"]
    }
  }
}

Claude Code

claude mcp add morningstar-midi-mcp -- npx -y morningstar-midi-mcp

Build from source

git clone --recurse-submodules https://github.com/Turik1/morningstar-midi-mcp.git
cd morningstar-midi-mcp
npm install
npm run build

Setup

1. Connect your controller

Connect your Morningstar controller to your computer via USB. The server auto-detects Morningstar devices.

2. Configure your rig (optional)

Create ~/.config/morningstar-mcp/setup.yaml to save your device setup:

controller: MC8 Pro

devices:
  - name: Quad Cortex Mini
    midi_channel: 1
  - name: Strymon Timeline
    midi_channel: 2

Without this file, you can tell Claude your setup in conversation.

Supported Controllers

Model

Presets

Layout

MC3

3

A B C

MC6 MKII

6

A B C / D E F

MC6 Pro

6

A B C / D E F

MC8

8

A B C D / E F G H

MC8 Pro

8

A B C D / E F G H

How It Works

The server communicates with Morningstar controllers using the SysEx protocol over USB-MIDI. It bundles the OpenMIDI database (maintained by Morningstar Engineering) containing MIDI CC/PC mappings for 545+ devices.

Since the SysEx protocol cannot read preset messages back from the controller, the server maintains a local shadow state at ~/.config/morningstar-mcp/state.json to track what has been written. Changes made outside this tool (e.g., via the Morningstar Web Editor) are not visible.

Development

npm install
npm test          # Run tests (60 tests)
npm run build     # Compile TypeScript

License

MIT

Available Tools

9 tools
connectD

Inputs: port_name.

display_messageD

Inputs: text (required), duration_ms.

get_bank_nameD

Inputs: bank.

get_controller_infoD

Inputs: no named parameters.

get_presetD

Inputs: preset (required).

lookup_deviceD

Inputs: device_name (required).

set_bank_nameD

Inputs: name (required), bank.

set_preset_messageD

Inputs: type (required), action (required), preset (required), channel (required), +7 more.

set_preset_nameD

Inputs: name (required), preset (required), name_type.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.1/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct aspect of MIDI control: connection, display, bank/preset manipulation, device lookup, and controller info. Names clearly differentiate their purposes, leaving no ambiguity.

    Naming Consistency5/5

    All tools follow a consistent snake_case verb_noun pattern (e.g., get_bank_name, set_preset_name). No mixing of styles or irregular naming.

    Tool Count5/5

    With 9 tools, the set covers core MIDI operations without being bloated. Each tool serves a clear function, appropriate for a dedicated MIDI server.

    Completeness4/5

    The tool surface covers connection, display, bank/preset CRUD, and device lookup. Minor gaps like listing all presets or deleting presets may exist, but core workflows are complete.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables controlling a Roland RC-505mk2 loop station via natural language, allowing creation and upload of FX rack presets to the device over USB.
      4
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables natural language interaction with Unfolded Circle Remote 3/Remote Two for configuration, button mapping, UI editing, and backup/restore.
      41
      7
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Lets AI assistants control a NUX MG-30 guitar processor over USB MIDI by picking amp, cab, drive, modulation, delay and reverb models, toggling blocks, and setting knobs by name. It can also read, save, rename, back up and restore presets on the device, and apply whole tone recipes from JSON patch files.
      39 PyPI
      MIT