项目简介 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全局安装,或者从源代码构建项目。
- 全局安装 (推荐)
打开您的命令行终端,运行以下命令:
npm install -g @williamzujkowski/strudel-mcp-server - 从源代码安装
a. 克隆仓库:
b. 安装依赖:
bash git clone https://github.com/williamzujkowski/strudel-mcp-server.git cd strudel-mcp-serverc. 安装用于浏览器自动化的Chromium:bash npm installd. 构建项目:bash npx playwright install chromiumbash 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客户端为例:
-
将服务器添加到Claude:
- 如果您全局安装:'claude mcp add strudel strudel-mcp'
- 如果您从源代码构建:'claude mcp add strudel node /path/to/strudel-mcp-server/dist/index.js'
-
开始与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与计算