Integrations
Supports playing notes using MIDI note numbers (0-127), enabling programmatic music composition through standard MIDI note representations.
Required as a prerequisite for running the MCP server, which enables communication between AI tools and Sonic Pi.
Allows execution of Ruby code in Sonic Pi, enabling music creation and control through Ruby's syntax and Sonic Pi's musical capabilities.
Controlador MCP de Sonic Pi
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA interactuar con Sonic Pi mediante mensajes OSC. Esto permite que herramientas de IA como Claude y Cursor creen música y controlen Sonic Pi mediante programación.
Características
- Reproduce notas individuales con parámetros de sintetizador personalizables
- Ejecutar código arbitrario de Sonic Pi
- Funciona con cualquier cliente compatible con MCP (Claude Desktop, Cursor, etc.)
Prerrequisitos
- Node.js (v18 o superior)
- Sonic Pi (v4.0 o superior)
- Un cliente compatible con MCP (Cursor, Claude Desktop, etc.)
Configuración de Sonic Pi
Antes de usar el servidor MCP, debe agregar el siguiente código al búfer de Sonic Pi. Este código gestiona los mensajes OSC enviados por el servidor:
Asegúrese de que este código se esté ejecutando en Sonic Pi antes de usar el servidor MCP.
Integración con clientes
Cursor
Agregar a ~/.cursor/mcpServers.json
:
Escritorio de Claude
Agregar a la configuración MCP de Claude:
Herramientas disponibles
nota de reproducción
Reproduce una sola nota con parámetros personalizables.
Parámetros:
note
(obligatoria): número de nota MIDI (0-127)synth
(opcional): sintetizador a utilizar (por ejemplo, ":saw", ":beep", ":prophet")sustain
(opcional): Duración de la nota en segundos (predeterminado: 1)cutoff
(opcional): frecuencia de corte del filtro (predeterminado: 100)
Ejemplo:
código de ejecución
Ejecuta código arbitrario de Sonic Pi.
Parámetros:
code
(obligatorio): Código de Sonic Pi a ejecutar
Ejemplo:
Ejemplo de uso
A continuación se muestran algunos ejemplos de interacciones utilizando las herramientas MCP:
Melodía sencilla
Patrón complejo
Solución de problemas
- Sin sonido
- Asegúrese de que Sonic Pi esté funcionando
- Compruebe que el código del controlador OSC se esté ejecutando en Sonic Pi
- Verifique que Sonic Pi esté escuchando en el puerto 4560 (predeterminado)
- Errores de conexión
- Comprobar si se está ejecutando otra instancia del servidor
- Reiniciar Sonic Pi
- Asegúrese de que ninguna otra aplicación esté utilizando el puerto 4560
- Errores de ejecución de código
- Consulte la ventana de registro de Sonic Pi para ver si hay mensajes de error
- Verifique la sintaxis de su código Sonic Pi
- Asegúrese de que todos los sintetizadores y muestras necesarios estén disponibles
Desarrollo
Pruebas con MCP Inspector
- Abra su navegador y navegue a http://localhost:3000
- En la interfaz de usuario del Inspector de MCP, configure la conexión:
- Comando:
node
- Argumentos:
dist/server.mjs
- Directorio de trabajo:
/path/to/your/sonic-pi-mcp
(use la ruta de su proyecto actual) - Tipo de transporte: stdio
- Comando:
- Pruebe la herramienta
play_note
:
- Pruebe la herramienta
run_code
:
- Verifique la ventana de registro de Sonic Pi para ver si hay mensajes de error o salida
Solución de problemas de desarrollo
- Errores de compilación
- Ejecute
npm run build
y verifique si hay errores de TypeScript - Asegúrese de que todas las dependencias estén instaladas correctamente
- Verifique
tsconfig.json
para verificar la configuración correcta
- Ejecute
- Problemas de conexión del inspector MCP
- Verifique que el servidor esté ejecutándose (
npm run dev
) - Compruebe que la ruta del directorio de trabajo sea correcta
- Asegúrese de que no haya otras instancias del servidor en ejecución
- Verifique que el servidor esté ejecutándose (
- Problemas de comunicación de la OSC
- Confirme que Sonic Pi se esté ejecutando y que el código del controlador OSC esté activo
- Verifique los registros del servidor para detectar errores de conexión
- Verifique que el puerto 4560 esté disponible y no esté bloqueado
Contribuyendo
- Bifurcar el repositorio
- Crea tu rama de funciones (
git checkout -b feature/amazing-feature
) - Confirme sus cambios (
git commit -m 'Add some amazing feature'
) - Empujar a la rama (
git push origin feature/amazing-feature
) - Abrir una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
This server cannot be installed
Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA como Claude y Cursor crear música y controlar Sonic Pi mediante programación a través de mensajes OSC.