JUHE API Marketplace
tezza1971 avatar
MCP Server

MCP MIDI Bridge

An Electron desktop application that bridges LLM-driven music generation with DAWs by converting NoteSequence JSON from AI models into MIDI data that can be played, recorded, and manipulated in any digital audio workstation.

2
GitHub Stars
8/23/2025
Last Updated
No Configuration
Please check the documentation below.

README Documentation

MCP MIDI Bridge

Overview

MCP MIDI Bridge is an Electron-based desktop application that acts as a bridge between LLM-driven music generation (via the Model Context Protocol, MCP) and any DAW (Digital Audio Workstation) that accepts MIDI input. It enables AI-generated or AI-edited musical content (in Magenta NoteSequence JSON format) to be easily played, recorded, and manipulated in a DAW via a virtual MIDI device.

This project has been recently refactored to use a modern technology stack, including Next.js for the user interface and TypeScript for the entire codebase.

Features

  • MCP API Server: An Express-based server that receives and updates musical content (NoteSequence JSON) from LLMs via HTTP.
  • Virtual MIDI Output: Creates a virtual MIDI device that any DAW can connect to, powered by easymidi.
  • Multi-Channel Support: Full support for all 16 MIDI channels with General MIDI instruments.
  • Configurable Port: Run multiple instances on different ports for parallel workflows.
  • Song Cache: Stores song data for persistence between sessions.
  • User Dashboard: A modern, responsive UI built with Next.js and React, for viewing and playing songs.
  • MIDI Import/Export: Support for importing and exporting MIDI files (coming soon).
  • TypeScript Codebase: The entire project is written in TypeScript for improved type safety and maintainability.

Technology Stack

  • Electron: Cross-platform desktop application framework.
  • Next.js: React framework for building the user interface.
  • TypeScript: Superset of JavaScript that adds static types.
  • Express: Web framework for creating the MCP API server.
  • EasyMIDI: Library for creating virtual MIDI devices.
  • Tailwind CSS: Utility-first CSS framework for styling the UI.
  • Magenta: Python library for music generation (used in the Python backend).

Development

Prerequisites

  • Node.js 18+
  • Python 3.8+ (for Magenta features)
  • npm or yarn

Setup

  1. Clone the repository:

    git clone https://github.com/your-username/mcp-midi.git
    cd mcp-midi
    
  2. Install dependencies:

    npm install
    
  3. Start the development server: This command will concurrently start the Next.js development server and the Electron application.

    npm run dev
    

Build

To build the application for production, run the following command:

npm run build

This will create a distributable package in the dist directory.

License

Apache 2.0

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source