Skip to main content
Glama
PIXELHIZE

Cubase MCP Server

by PIXELHIZE

Cubase MCP Server

This repository implements a Cubase MCP server with a real headless control path for Windows using:

  • Cubase MIDI Remote API script

  • virtual MIDI ports such as loopMIDI

  • MIDI request/response SysEx bridge

  • MIDI CC command surface triggers

  • DirectAccess object and parameter discovery

  • MIDI Remote command binding canPerform checks

  • selected/focused quick controls for plugin parameters

  • filesystem verification for export results

  • versioned Windows named-pipe companion bridge protocol

  • 238 registered MCP tools with generated static capability audit

It intentionally does not implement or include AutoHotkey, SendKeys, Win32 keyboard/mouse injection, UI Automation clicks, menu automation, dialog automation, screenshot detection, OCR, mouse coordinates, or OS-level shortcut sending.

Real Adapter Mode

The default adapter is composite, not mock.

$env:CUBASE_ADAPTER="composite"
$env:CUBASE_MIDI_INPUT="AI MCP Bridge From Cubase"
$env:CUBASE_MIDI_OUTPUT="AI MCP Bridge To Cubase"
npm run build
node dist/server.js

Use mock only for unit tests or client prototyping:

$env:CUBASE_ADAPTER="mock"
npm run dev

Related MCP server: ReaMCP

Real Cubase Communication Files

  • src/adapters/MidiRemoteAdapter.ts

  • src/adapters/MidiCommandSurfaceAdapter.ts

  • src/adapters/PluginBridgeAdapter.ts

  • src/adapters/ProjectStateAdapter.ts

  • src/adapters/CompositeCubaseAdapter.ts

  • src/adapters/DirectAccessAdapter.ts

  • src/bridge/midi/*

  • src/cubase-remote-script/direct-access-bridge.js

Current Evidence Status

The static source tree contains no real capability claims. All entries have testedWithRealCubase: false until npm run cubase:discover or forced real integration tests produce operation-level evidence.

Implemented candidate headless paths include:

  • cubase.get_status

  • cubase.transport_play

  • cubase.transport_stop

  • cubase.transport_record

  • cubase.transport_rewind

  • cubase.transport_forward

  • cubase.set_cycle

  • cubase.set_metronome

  • selected-track cubase.set_track_volume

  • selected-track cubase.set_track_pan

  • selected-track cubase.set_track_mute

  • selected-track cubase.set_track_solo

  • selected-track cubase.set_track_record_enable

  • selected-track cubase.set_track_monitor

  • quick-control based cubase.get_plugin_parameters

  • quick-control based cubase.set_plugin_parameter

  • user-mapped command trigger cubase.trigger_command

  • DirectAccess discovery tools such as cubase.direct_access_discover_object_tree

  • command binding registry tools such as cubase.command_binding_get_registry

  • current-settings-only cubase.perform_current_audio_export

  • DirectAccess semantic mixer/EQ/send/plugin writes using discovered ObjectIDs and parameter tags

  • API 1.3 plugin slot assignment and destructive slot reset

  • generated Standard MIDI File plus explicit companion import

  • asynchronous export/render/scan jobs with bridge progress polling

Unknown or companion-bridge-required until real evidence proves support:

  • parameterized project open/save/create

  • arbitrary track create/delete/rename/reorder

  • MIDI part and note editing

  • audio event editing

  • render/export/mixdown/stems

  • arbitrary plugin insert/preset/window control

Non-executable functions return machine-readable errors such as NEEDS_CUBASE_SIDE_BRIDGE, NEEDS_USER_SETUP, BLOCKED_BY_CUBASE_API, or BLOCKED_BY_NO_HEADLESS_API.

The complete architecture, tool contract, and generated per-tool audit are in docs/architecture.md, docs/tools.md, and docs/full-capability-audit.md.

Setup

Read these in order:

  1. docs/setup-windows.md

  2. docs/setup-virtual-midi.md

  3. docs/setup-cubase-midi-remote.md

  4. docs/setup-command-surface.md

  5. docs/troubleshooting.md

Verification

npm run typecheck
npm test
npm run test:real
npm run build

Generate the timestamped real Cubase evidence bundle with:

npm run cubase:discover

See docs/real-test-guide.md for the exact Windows/Cubase sequence and docs/real-test-report-schema.md for the evidence contract. npm test is unit/mock evidence only. npm run test:real detects its npm lifecycle name and does not skip integration tests when Cubase is unavailable.

Sources

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that exposes REAPER digital audio workstation functionality through a clean API interface, enabling programmatic control of 169+ REAPER operations across track management, MIDI editing, effects, automation and more.
    79
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that enables users to control and edit REAPER projects through a Python-based interface and a Lua bridge. It supports managing tracks, controlling transport, manipulating MIDI and audio items, and adjusting FX parameters within the digital audio workstation.
    57
    GPL 3.0
  • A
    license
    B
    quality
    B
    maintenance
    This MCP server enables AI assistants to control a live REAPER DAW instance, including transport, tracks, FX, MIDI, media, markers, rendering, and project state, with an escape hatch for arbitrary ReaScript commands.
    40
    MIT