local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables configuration of the MCP server through environment variables stored in a .env file, allowing users to specify settings like the server port.
Provides installation instructions that utilize Git for cloning the repository to set up the MCP MIDI server.
Creates a virtual MIDI output port that can send MIDI Note On/Off messages and Control Change (CC) messages with precise timing to any software that supports MIDI input, such as digital audio workstations (DAWs), hardware synthesizers, and other MIDI-compatible applications.
Servidor MIDI MCP
Un servidor FastMCP que permite que un LLM envíe secuencias MIDI a cualquier software que admita entrada MIDI.
Características
- Crea un puerto de salida MIDI virtual
- Envía mensajes de activación/desactivación de notas MIDI
- Envía mensajes de cambio de control (CC)
- Secuencia eventos MIDI con sincronización precisa
- Se puede utilizar como dispositivo de entrada MIDI en cualquier aplicación que admita MIDI.
Requisitos
- Python 3.7+
- rtmidi
- fastmcp
- python-dotenv
- asincronía
Instalación
- Clonar el repositorio:Copy
- Crea un entorno virtual, actívalo e instala las dependencias:Copy
- Crea un archivo
.env
con tu configuración:Copy
Uso
Ejecutar el servidor:
El servidor crea un puerto MIDI virtual llamado "MCP MIDI Out" que puede usarse como dispositivo de entrada MIDI en otras aplicaciones. Esto significa que puede:
- Conecte estaciones de trabajo de audio digital (DAW) como Ableton Live, Logic Pro o FL Studio para recibir MIDI desde este servidor
- Utilice el servidor para controlar sintetizadores de hardware a través de la interfaz MIDI de su computadora
- Conéctese a cualquier otro software que acepte entrada MIDI (instrumentos virtuales, controladores de iluminación, etc.)
Simplemente seleccione “MCP MIDI Out” como dispositivo de entrada MIDI en su aplicación compatible con MIDI preferida.
Configuración de MCP
El servidor utiliza eventos enviados por el servidor (SSE), así es como se configura en Cursor:
Métodos API
Enviar nota sobre
Envía un mensaje de nota MIDI activada.
Parámetros:
note
: número de nota MIDI (0-127)velocity
: Velocidad de la nota (0-127, predeterminado 127)channel
: canal MIDI (0-15, predeterminado 0)
Desactivar la función de enviar nota
Envía un mensaje de nota desactivada MIDI.
Parámetros:
note
: número de nota MIDI (0-127)velocity
: Nota de velocidad (0-127, predeterminado 64)channel
: canal MIDI (0-15, predeterminado 0)
Enviar cambio de control
Envía un mensaje de cambio de control MIDI (CC).
Parámetros:
controller
: número de controlador CC (0-127)value
: valor CC (0-127)channel
: canal MIDI (0-15, predeterminado 0)
Enviar secuencia MIDI
Envía una secuencia de mensajes de nota MIDI activada/desactivada con duraciones especificadas.
Parámetros:
events
: Una lista de diccionarios de eventos. Cada diccionario debe contener:note
: número de nota MIDI (0-127)velocity
: Velocidad de la nota (0-127, predeterminado 127)channel
: canal MIDI (0-15, predeterminado 0)duration
: Tiempo en segundos para mantener la nota antes de enviarla. Nota desactivada.start_time
: Tiempo en segundos en el que se iniciará la nota, en relación al inicio de la secuencia (valor predeterminado 0)
Ejemplo
Usando la API para tocar un acorde de Do mayor:
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
Un servidor FastMCP que crea un puerto de salida MIDI virtual, lo que permite a los LLM generar y enviar datos MIDI a cualquier software que acepte la entrada MIDI.