Skip to main content
Glama

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.

Related MCP server: Awesome MCP FastAPI

Requisitos

  • Python 3.7+

  • rtmidi

  • fastmcp

  • python-dotenv

  • asincronía

Instalación

  1. Clonar el repositorio:

    git clone <repository-url> cd mcp-server-midi
  2. Crea un entorno virtual, actívalo e instala las dependencias:

    python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
  3. Crea un archivo .env con tu configuración:

    PORT=8123

Uso

Ejecutar el servidor:

python mcp_midi_server.py

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:

{ "mcpServers": { "midi": { "url": "http://localhost:8123/sse" } } }

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:

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

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandst1/mcp-server-midi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server