Skip to main content
Glama

Sonic Pi MCP

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:

# Required Sonic Pi configuration # Add this to a buffer in Sonic Pi and run it live_loop :code_runner do use_real_time code = sync "/osc*/run-code" # Since we receive the code as a string, we can use eval to execute it # The code comes as the first element of the message begin eval(code[0].to_s) rescue Exception => e puts "Error executing code: #{e.message}" end end

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 :

{ "mcpServers": { "sonic_pi_mcp": { "name": "Sonic Pi MCP", "command": "npx", "args": ["-y", "sonic-pi-mcp", "start"], "transport": { "type": "stdio" } } } }
Escritorio de Claude

Agregar a la configuración MCP de Claude:

{ "mcpServers": { "sonic_pi_mcp": { "command": "npx", "args": ["-y", "sonic-pi-mcp", "start"] } } }

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, "", "", "")
  • sustain (opcional): Duración de la nota en segundos (predeterminado: 1)
  • cutoff (opcional): frecuencia de corte del filtro (predeterminado: 100)

Ejemplo:

// Play middle C with saw wave synth { "name": "play_note", "parameters": { "note": 60, "synth": ":saw", "sustain": 0.5, "cutoff": 80 } }

código de ejecución

Ejecuta código arbitrario de Sonic Pi.

Parámetros:

  • code (obligatorio): Código de Sonic Pi a ejecutar

Ejemplo:

{ "name": "run_code", "parameters": { "code": "use_synth :prophet\nplay_pattern_timed [60, 64, 67], [0.5]" } }

Ejemplo de uso

A continuación se muestran algunos ejemplos de interacciones utilizando las herramientas MCP:

Melodía sencilla

// Play a C major arpeggio { "code": ` use_synth :piano play_pattern_timed [60, 64, 67, 72], [0.25], release: 0.1 ` }

Patrón complejo

// Create a rhythmic pattern { "code": ` live_loop :rhythm do use_synth :tb303 play choose(chord(:C3, :minor)), release: 0.2, cutoff: rrand(60, 120) sleep 0.25 end ` }

Solución de problemas

  1. 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)
  2. 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
  3. 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

# Clone the repository git clone https://github.com/abhishekjairath/sonic-pi-mcp.git cd sonic-pi-mcp # Install dependencies npm install # Build npm run build # Install MCP Inspector globally (for testing) npm install -g @modelcontextprotocol/inspector # Start Sonic Pi and run the OSC handler code (see Sonic Pi Configuration section) # Start the server in one terminal npm run dev # In another terminal, start the MCP Inspector mcp-inspector

Pruebas con MCP Inspector

  1. Abra su navegador y navegue a http://localhost:3000
  2. 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
  3. Pruebe la herramienta play_note :
{ "name": "play_note", "parameters": { "note": 60, "synth": ":beep", "sustain": 0.5 } }
  1. Pruebe la herramienta run_code :
{ "name": "run_code", "parameters": { "code": "use_synth :prophet\nplay_pattern_timed scale(:c4, :major), [0.25]" } }
  1. Verifique la ventana de registro de Sonic Pi para ver si hay mensajes de error o salida

Solución de problemas de desarrollo

  1. 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
  2. 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
  3. 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

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

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.

  1. Características
    1. Prerrequisitos
      1. Configuración de Sonic Pi
        1. Integración con clientes
          1. Cursor
          2. Escritorio de Claude
        2. Herramientas disponibles
          1. nota de reproducción
          2. código de ejecución
        3. Ejemplo de uso
          1. Melodía sencilla
          2. Patrón complejo
        4. Solución de problemas
          1. Desarrollo
            1. Pruebas con MCP Inspector
            2. Solución de problemas de desarrollo
          2. Contribuyendo
            1. Licencia

              Related MCP Servers

              • A
                security
                F
                license
                A
                quality
                A lightweight Model Context Protocol server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.
                Last updated -
                12
                77
                TypeScript
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that enables AI assistants like Claude to interact with Spotify, allowing them to search for tracks, control playback, and manage playlists.
                Last updated -
                1
                TypeScript
                • Apple
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol implementation that plays sound effects (completion, error, notification) for Cursor AI and other MCP-compatible environments, providing audio feedback for a more interactive coding experience.
                Last updated -
                Python
                MIT License
                • Apple
                • Linux
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables real-time interaction with Ableton Live, allowing AI assistants to control song creation, track management, clip operations, and audio recording workflows.
                Last updated -
                23
                12
                24
                TypeScript
                MIT License
                • Linux
                • Apple

              View all related MCP servers

              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/abhishekjairath/sonic-pi-mcp'

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