- Explore MCP Servers
- mcp-server-midi
Mcp Server Midi
What is Mcp Server Midi
mcp-server-midi is a FastMCP Server designed to send MIDI sequences to any software that supports MIDI input, enabling seamless integration of MIDI functionalities with various applications.
Use cases
Use cases include connecting digital audio workstations (DAWs) like Ableton Live or Logic Pro, controlling hardware synthesizers, and interfacing with virtual instruments and lighting controllers.
How to use
To use mcp-server-midi, clone the repository, install the required dependencies, create a configuration file, and run the server. This will create a virtual MIDI output port named ‘MCP MIDI Out’ for use in MIDI-compatible applications.
Key features
Key features include the ability to create a virtual MIDI output port, send MIDI Note On/Off messages, send Control Change (CC) messages, sequence MIDI events with precise timing, and function as a MIDI input device in any application that supports MIDI.
Where to use
mcp-server-midi can be used in various fields such as music production, live performance, and multimedia applications where MIDI input is required.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Mcp Server Midi
mcp-server-midi is a FastMCP Server designed to send MIDI sequences to any software that supports MIDI input, enabling seamless integration of MIDI functionalities with various applications.
Use cases
Use cases include connecting digital audio workstations (DAWs) like Ableton Live or Logic Pro, controlling hardware synthesizers, and interfacing with virtual instruments and lighting controllers.
How to use
To use mcp-server-midi, clone the repository, install the required dependencies, create a configuration file, and run the server. This will create a virtual MIDI output port named ‘MCP MIDI Out’ for use in MIDI-compatible applications.
Key features
Key features include the ability to create a virtual MIDI output port, send MIDI Note On/Off messages, send Control Change (CC) messages, sequence MIDI events with precise timing, and function as a MIDI input device in any application that supports MIDI.
Where to use
mcp-server-midi can be used in various fields such as music production, live performance, and multimedia applications where MIDI input is required.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
MCP MIDI Server
A FastMCP Server which allows an LLM to send MIDI sequences into any software that supports MIDI input.
Features
- Creates a virtual MIDI output port
- Sends MIDI Note On/Off messages
- Sends Control Change (CC) messages
- Sequences MIDI events with precise timing
- Can be used as a MIDI input device in any application that supports MIDI
Requirements
- Python 3.7+
- rtmidi
- fastmcp
- python-dotenv
- asyncio
Installation
-
Clone the repository:
git clone <repository-url> cd mcp-server-midi -
Create a virtual env, activate it and install dependencies:
python -m venv .venv source .venv/bin/activate pip install -r requirements.txt -
Create a
.envfile with your configuration:PORT=8123
Usage
Run the server:
python mcp_midi_server.py
The server creates a virtual MIDI port named “MCP MIDI Out” that can be used as a MIDI input device in other applications. This means you can:
- Connect digital audio workstations (DAWs) like Ableton Live, Logic Pro, or FL Studio to receive MIDI from this server
- Use the server to control hardware synthesizers through your computer’s MIDI interface
- Connect to any other software that accepts MIDI input (virtual instruments, lighting controllers, etc.)
Simply select “MCP MIDI Out” as a MIDI input device in your preferred MIDI-compatible application.
MCP Config
The server uses Server-Sent Events (SSE), this is how to config it in Cursor:
{ "mcpServers": { "midi": { "url": "http://localhost:8123/sse" } } }
API Methods
Send Note On
Sends a MIDI Note On message.
Parameters:
note: MIDI note number (0-127)velocity: Note velocity (0-127, default 127)channel: MIDI channel (0-15, default 0)
Send Note Off
Sends a MIDI Note Off message.
Parameters:
note: MIDI note number (0-127)velocity: Note off velocity (0-127, default 64)channel: MIDI channel (0-15, default 0)
Send Control Change
Sends a MIDI Control Change (CC) message.
Parameters:
controller: CC controller number (0-127)value: CC value (0-127)channel: MIDI channel (0-15, default 0)
Send MIDI Sequence
Sends a sequence of MIDI Note On/Off messages with specified durations.
Parameters:
events: A list of event dictionaries. Each dictionary must contain:note: MIDI note number (0-127)velocity: Note velocity (0-127, default 127)channel: MIDI channel (0-15, default 0)duration: Time in seconds to hold the note before sending Note Offstart_time: Time in seconds when to start the note, relative to sequence start (default 0)
Example
Using the API to play a C major chord:
events = [
{"note": 60, "velocity": 100, "duration": 1.0, "start_time": 0.0}, # C4
{"note": 64, "velocity": 100, "duration": 1.0, "start_time": 0.0}, # E4
{"note": 67, "velocity": 100, "duration": 1.0, "start_time": 0.0}, # G4
]
# Send to the MCP MIDI Server API
License
MIT
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










