Skip to main content
Glama

MCP MIDI Bridge

by tezza1971

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.

Related MCP server: Suno-MCP

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

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tezza1971/mcp-midi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server