Skip to main content
Glama

MCP MIDI Bridge

by tezza1971
Apache 2.0
2
README.md2.56 kB
# 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:** ```bash git clone https://github.com/your-username/mcp-midi.git cd mcp-midi ``` 2. **Install dependencies:** ```bash npm install ``` 3. **Start the development server:** This command will concurrently start the Next.js development server and the Electron application. ```bash npm run dev ``` ### Build To build the application for production, run the following command: ```bash npm run build ``` This will create a distributable package in the `dist` directory. ## License Apache 2.0

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