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:
- Crea un entorno virtual, actívalo e instala las dependencias:
- Crea un archivo
.env
con tu configuración:
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
local-only server
The server can only run on the client's local machine because it depends on local resources.
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.
Related MCP Servers
- -securityAlicense-qualityFastMCP is a comprehensive MCP server allowing secure and standardized data and functionality exposure to LLM applications, offering resources, tools, and prompt management for efficient LLM interactions.Last updated -3PythonMIT License
- -securityAlicense-qualityAn MCP server that connects any MCP client (like Claude or Cursor) with the browser using browser-use, allowing clients to utilize existing LLMs without requiring additional API keys.Last updated -32PythonApache 2.0
- -securityFlicense-qualityAn MCP server that allows Claude to interact with local LLMs running in LM Studio, providing access to list models, generate text, and use chat completions through local models.Last updated -Python
- AsecurityAlicenseAqualityAn MCP Server that enables LLMs to build real-time 3D web applications in the PlayCanvas Editor.Last updated -218938TypeScriptMIT License