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
- -securityFlicense-qualityA production-ready MCP server built with FastAPI, providing an enhanced tool registry for creating, managing, and documenting AI tools for Large Language Models (LLMs).Last updated -32Python
Fibery MCP Serverofficial
AsecurityAlicenseAqualityThe Fibery MCP server provides integration between Fibery and any LLM provider supporting the MCP protocol (e.g., Claude for Desktop), allowing you to explore Fibery Workspace Schema, query databases, create and update entities using natural language.Last updated -623PythonMIT License- AsecurityAlicenseAqualityA powerful MCP tool for parsing and manipulating MIDI files that allows users to read, analyze, and modify MIDI files through natural language commands, supporting operations like reading file information, modifying tracks, adding notes, and setting tempo.Last updated -114275JavaScriptMIT License