项目简介

Sonic Pi MCP 服务器 (mcp-sonic-pi) 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它桥接了 MCP 客户端(如 Claude)和音乐编程工具 Sonic Pi。通过这个服务器,用户可以使用自然语言指令,让 LLM 控制 Sonic Pi 生成音乐。

主要功能点

  • 音乐播放与停止: 通过 'play_music' 和 'stop_music' 工具,用户可以控制 Sonic Pi 播放和停止音乐。
  • 代码执行: 'play_music' 工具允许用户向 Sonic Pi 发送任意 Sonic Pi Ruby 代码来创作音乐。
  • 节拍模式获取: 'get_beat_pattern' 工具提供多种预设的鼓点节拍模式 (如 blues, rock, jazz, hiphop 等),方便用户快速生成音乐节奏。
  • 系统提示定制: 通过 'system_prompt',可以自定义 LLM 与 Sonic Pi 交互时的系统提示语,引导 LLM 更有效地创作音乐。

安装步骤

  1. 安装 Sonic Pi: 确保你的系统中已经安装并成功运行 Sonic Pi (https://sonic-pi.net/)。
  2. 安装 Python 3.10+: 确保你的环境中安装了 Python 3.10 或更高版本。
  3. 安装 mcp-sonic-pi: 使用 'uvx' (Universal Venv eXecutor) 工具运行 mcp-sonic-pi。如果尚未安装 'uvx',请先安装 'uvx' 并确保其在您的 PATH 环境变量中。 你可以参考 uvx 的安装说明。
    uvx mcp-sonic-pi

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude)连接,您需要配置客户端以指向此服务器。 以 Claude 桌面客户端为例,您需要编辑 'claude_desktop_config.json' 文件,并在 'mcpServers' 部分添加以下配置:

{
  "mcpServers": {
    "sonic-pi": {
      "command": "/path/to/uvx",
      "args": [
        "mcp-sonic-pi"
      ]
    }
  }
}

配置参数说明:

  • '"sonic-pi"': 服务器名称,客户端用此名称来标识和调用该服务器。
  • '"command"': 启动 MCP 服务器的命令。 请将 '"/path/to/uvx"' 替换为 'uvx' 可执行文件的实际路径。 如果 'uvx' 已经在您的 PATH 环境变量中,则可以直接使用 '"uvx"'。
  • '"args"': 传递给启动命令的参数。 '["mcp-sonic-pi"]' 表示运行 'mcp-sonic-pi' 命令来启动服务器。

请注意: 在启动 MCP 服务器之前,务必确保 Sonic Pi 应用程序已经在后台运行。

基本使用方法

  1. 启动 MCP 服务器: 在终端中运行 'uvx mcp-sonic-pi' 命令启动服务器。
  2. 配置并启动 MCP 客户端: 根据您的 MCP 客户端(例如 Claude)的文档,配置并启动客户端,使其连接到名为 "sonic-pi" 的 MCP 服务器。
  3. 使用自然语言指令与 LLM 交互: 在 MCP 客户端中,使用自然语言指令,例如 "Play a rock beat" 或 "Stop the music",与 LLM 交互。LLM 将调用 Sonic Pi MCP 服务器提供的工具来控制 Sonic Pi 生成音乐。

信息

分类

AI与计算