Cubase MCP Server

Cubase MCP Server

Enables headless control of Cubase via MIDI Remote API and virtual MIDI ports, supporting transport, track, and plugin parameter operations through 238 registered MCP tools.

Category
Visit Server

README

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

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

  • Steinberg MIDI Remote API Programmer's Guide: https://steinbergmedia.github.io/midiremote_api_doc/
  • Steinberg MIDI Remote API Reference: https://steinbergmedia.github.io/midiremote_api_doc/codedoc_api_reference/
  • MCP TypeScript SDK: https://ts.sdk.modelcontextprotocol.io/

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
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
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
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