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.
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
canPerformchecks - 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.tssrc/adapters/MidiCommandSurfaceAdapter.tssrc/adapters/PluginBridgeAdapter.tssrc/adapters/ProjectStateAdapter.tssrc/adapters/CompositeCubaseAdapter.tssrc/adapters/DirectAccessAdapter.tssrc/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_statuscubase.transport_playcubase.transport_stopcubase.transport_recordcubase.transport_rewindcubase.transport_forwardcubase.set_cyclecubase.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:
docs/setup-windows.mddocs/setup-virtual-midi.mddocs/setup-cubase-midi-remote.mddocs/setup-command-surface.mddocs/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/
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。