项目简介 Strudel MCP 音乐生成服务器是一个基于Model Context Protocol (MCP) 实现的后端服务,旨在将Strudel.cc这个强大的实时音乐编程环境与大型语言模型(LLM)客户端(如Claude)无缝集成。它允许AI通过标准化的JSON-RPC协议调用丰富的音乐创作工具,从而实现AI辅助的音乐生成、现场编码(live coding)和算法作曲。该服务器支持浏览器自动化(通过Playwright控制Strudel.cc)、实时音频分析、模式生成、音乐理论应用以及会话管理等功能。

主要功能点

  • 全面的音乐控制: 提供40多个MCP工具,涵盖音乐创作、编辑和操控的各个方面。
  • 真实浏览器自动化: 通过Playwright直接控制Strudel.cc网站,实现AI对音乐环境的实时交互。
  • 实时音频分析: 利用Web Audio API进行实时频率分析,获取播放中的音乐数据。
  • AI生成音乐模式: 支持生成包括Techno、House、DnB、Ambient等8种以上音乐风格的鼓点、贝斯和旋律。
  • 音乐理论引擎: 包含音阶、和弦、和弦进行、欧几里得节奏等功能,辅助AI理解和应用音乐理论。
  • 会话管理: 支持保存、加载、撤销和重做音乐模式,方便AI管理创作过程。
  • 高可靠性: 经过100%测试覆盖,并验证了与Strudel.cc的实际交互。

安装步骤 您可以选择通过npm全局安装,或者从源代码构建项目。

  1. 全局安装 (推荐) 打开您的命令行终端,运行以下命令:
    npm install -g @williamzujkowski/strudel-mcp-server
  2. 从源代码安装 a. 克隆仓库:
    bash     git clone https://github.com/williamzujkowski/strudel-mcp-server.git     cd strudel-mcp-server     
    b. 安装依赖:
    bash     npm install     
    c. 安装用于浏览器自动化的Chromium:
    bash     npx playwright install chromium     
    d. 构建项目:
    bash     npm run build     

服务器配置 MCP客户端(例如Claude客户端)需要配置本服务器的启动信息,以便建立连接。以下是配置的关键信息,您可以根据您的客户端的配置格式进行调整:

  • 服务器名称 (server_name): 'strudel-mcp-enhanced'

    • 说明: 这是MCP服务器内部声明的名称,客户端应使用此名称来引用服务。
  • 启动命令 (command) 和参数 (args):

    • 如果通过npm全局安装:

      • 'command': 'strudel-mcp'
      • 'args': (留空,例如'[]')
      • 说明: 客户端将直接执行全局安装的可执行文件。
    • 如果从源代码构建:

      • 'command': 'node'
      • 'args': '/path/to/strudel-mcp-server/dist/index.js'
      • 说明: 客户端将使用Node.js来运行服务器的入口脚本。请将'/path/to/strudel-mcp-server/dist/index.js'替换为您实际的项目路径。
    • 例如,一个常见的MCP客户端配置片段(JSON格式)可能如下所示:

      {
        "server_name": "strudel-mcp-enhanced",
        "command": "strudel-mcp", // 或 "node"
        "args": [], // 如果是node,则为 ["/path/to/dist/index.js"]
        "description": "Strudel.cc AI音乐生成MCP服务器",
        "capabilities": {
          "tools": true
        }
      }
  • 服务器端配置 (config.json): 您可以在服务器项目的根目录创建一个'config.json'文件来自定义服务器行为,例如:

    {
      "headless": false,        // 设置为true可在后台运行浏览器,不显示GUI
      "strudel_url": "https://strudel.cc/", // Strudel.cc的URL
      "patterns_dir": "./patterns", // 存储音乐模式的目录
      "audio_analysis": {
        "fft_size": 2048,
        "smoothing": 0.8
      }
    }
    • 说明: 'headless: false'是默认设置,意味着Playwright将启动一个可见的浏览器窗口。在生产环境或需要后台运行时,可以设置为'true'。

基本使用方法 配置完成后,您可以通过支持MCP协议的LLM客户端与Strudel MCP服务器进行交互。以Claude客户端为例:

  1. 将服务器添加到Claude:

    • 如果您全局安装:'claude mcp add strudel strudel-mcp'
    • 如果您从源代码构建:'claude mcp add strudel node /path/to/strudel-mcp-server/dist/index.js'
  2. 开始与Claude聊天并请求音乐创作:

    claude chat

    然后,您可以向Claude提问,例如:

    • "Initialize Strudel and create a techno beat" (初始化Strudel并创建一个Techno节拍)
    • "Generate a jazz chord progression in F major" (生成F大调的爵士和弦进行)
    • "Create a drum & bass pattern at 174 BPM" (创建一个174 BPM的Drum & Bass模式)
    • "Analyze what's currently playing" (分析当前正在播放的音乐)

信息

分类

AI与计算