MCP MIDI Server
@sandst1
About MCP MIDI Server
A MCP Server for sending MIDI sequences to any program that supports MIDI input
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"midi": {
"url": "http://localhost:8123/sse"
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is MCP MIDI Server?
MCP MIDI Server is a FastMCP server that enables an LLM to send MIDI sequences into any software that supports MIDI input. It creates a virtual MIDI output port named "MCP MIDI Out" that appears as a selectable MIDI input device in digital audio workstations, hardware synthesizer interfaces, and other MIDI-compatible applications.
How to use MCP MIDI Server?
Clone the repository, create a Python virtual environment (Python 3.7+), install dependencies from requirements.txt, and create a .env file with a PORT setting (default 8123). Run python mcp_midi_server.py to start the server. In your MIDI application, select "MCP MIDI Out" as a MIDI input device. To connect from an MCP client like Cursor, add a configuration entry with "url": "http://localhost:<PORT>/sse".
Key features of MCP MIDI Server
- Creates a virtual MIDI output port
- Sends MIDI Note On/Off messages
- Sends Control Change (CC) messages
- Sequences MIDI events with precise timing
- Works with any application that accepts MIDI input
Use cases of MCP MIDI Server
- Connect to DAWs like Ableton Live, Logic Pro, or FL Studio to receive MIDI from an LLM
- Control hardware synthesizers through a computer’s MIDI interface
- Drive virtual instruments, lighting controllers, or any MIDI‑compatible software
- Generate musical sequences (e.g., chords, melodies) programmatically via an LLM
FAQ from MCP MIDI Server
What are the runtime requirements?
Python 3.7+ and the packages rtmidi, fastmcp, python-dotenv, and asyncio are required.
How do I configure an MCP client to connect to the server?
The server uses Server-Sent Events (SSE). In Cursor, add an MCP server entry with "url": "http://localhost:8123/sse" (adjust the port if changed in .env).
What MIDI messages can the server send?
It supports MIDI Note On, Note Off, Control Change, and sequences of timed Note On/Off events.
Which applications can receive MIDI from this server?
Any application that accepts MIDI input—such as Ableton Live, Logic Pro, FL Studio, virtual instruments, or lighting controllers—can select the “MCP MIDI Out” virtual port.
Are there any known limitations?
The README does not mention specific limits, but MIDI parameters (note, velocity, controller, channel) are constrained to standard 0‑127 ranges, and sequencing uses time in seconds.
More Other MCP servers
MCP Toolbox for Databases
googleapisMCP Toolbox for Databases is an open source MCP server for databases.
🪟 Windows-MCP
CursorTouchMCP Server for Computer Use in Windows
XcodeBuildMCP
cameroncookeA Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
ICSS
chokcoco不止于 CSS
🚀 Model Context Protocol (MCP) Curriculum for Beginners
microsoftThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable,
Comments