Strudel MCP桥
一个模型上下文协议服务器,使AI助手能够使用Strudel实时编码模式创建音乐。此桥允许Claude Desktop和其他兼容MCP的AI助手通过浏览器实时生成、执行和修改Strudel模式。
特性
- 从自然语言描述中实时生成Strudel模式
- 实时模式修改和迭代
- 浏览器与视觉反馈集成
- 支持2000多台Strudel声音和鼓机
- 基于WebSocket的即时音频播放通信
- 全面的模式验证和错误处理
建筑
Claude Desktop → MCP Server → WebSocket → Browser Extension → Strudel.cc该系统由三个部分组成:
- MCP服务器:与AI模型交互的TypeScript服务器
- 浏览器扩展:与Strudel通信的Chrome扩展程序
- Strudel集成:浏览器中的实时模式执行
安装
1.MCP服务器设置
克隆并构建TypeScript服务器:
git clone
cd strudel-mcp-bridge/mcp-server
npm install
npm run build创建环境配置:
cp .env.example .env
# Edit .env with your API credentials所需的环境变量:
OPENROUTER_API_KEY=your-openrouter-api-key-here
OPENROUTER_MODEL=anthropic/claude-3-5-sonnet-20241022
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1从获取API密钥 OpenRouter.cn 并将积分添加到您的帐户中。
2.克劳德桌面配置
编辑您的Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"strudel-mcp-bridge": {
"command": "node",
"args": ["dist/server.js"],
"cwd": "/absolute/path/to/strudel-mcp-bridge/mcp-server",
"env": {
"OPENROUTER_API_KEY": "your-openrouter-api-key-here",
"OPENROUTER_MODEL": "anthropic/claude-3-5-sonnet-20241022"
}
}
}
}重要:替换 /absolute/path/to/strudel-mcp-bridge/mcp-server 与您的实际完整路径。
更改后完全重新启动Claude Desktop。
3.浏览器扩展安装
开发安装
- 打开Chrome浏览器并导航到
chrome://extensions/ - 在右上角启用“开发人员模式”
- 点击“加载解包”并选择
browser-extension文件夹 - 该扩展应出现在您的扩展列表中
验证安装
- 首选 strudel.cc
- 在页面右上角查找连接指示器(彩色圆圈)
- 连接后,指示灯应从红色变为绿色
用法
基本用法
- 启动系统:
- 打开克劳德桌面 - 在Chrome浏览器中打开strudel.cc - 验证连接指示灯是否显示绿色
- 创建图案:
Create a house beat with kick on every beat and hi-hats- 修改图案:
Add a bassline to the current pattern
Make it faster
Add reverb- 停止回放:
Stop the current pattern可用命令
系统提供多种MCP工具:
create_live_pattern:生成并播放新的Strudel模式modify_live_pattern:修改当前播放模式stop_pattern:停止所有音频播放get_connection_status:检查浏览器连接状态set_ai_model:更改用于生成的AI模型get_ai_info:显示当前AI配置
调试
浏览器扩展调试
- 打开开发人员工具:
- 转到strudel.cc - 按F12打开DevTools - 检查Console选项卡中的消息
- 扩展控制台:
// Check bridge status
console.log(window.strudelMCPBridge);
// Debug connection
debugStrudel();
// Manual connection test
const testWS = new WebSocket('ws://localhost:3001');
testWS.onopen = () => console.log('WebSocket connected');
testWS.onerror = (e) => console.log('WebSocket error:', e);- 连接指示器:
- 红色圆圈:断开连接或错误 - 橙色圆圈:连接 - 绿色圆圈:已连接并准备就绪 - 点击圆圈查看详细状态信息
常见问题
- WebSocket连接失败:
- 验证Claude Desktop是否正在运行 - 检查MCP服务器是否已成功启动 - 确保端口3001未被防火墙阻止
- 音频未播放:
- 单击strudel.cc页面上的任意位置启用音频 - 检查浏览器音频权限 - 验证Strudel是否完全加载
- 无效模式:
- AI可能会生成不存在的声音名称 - 语法错误会在可能的情况下自动纠正 - 检查浏览器控制台是否存在特定的Strudel错误
MCP服务器调试
在Claude Desktop中监视服务器日志:
- 连接成功:查找“WebSocket服务器侦听端口3001”
- 模式生成:检查OpenRouter API调用
- 浏览器通信:监控WebSocket消息日志
限制和已知问题
AI幻觉
AI模型偶尔可能会:
- 生成无效的声音名称 (例如,“贝斯”、“合成器”、“铅”)
- 系统会自动用有效的替代方案替换这些选项 - 有效声音包括:bd、sd、hh、cp、钢琴、锯齿、正弦、gm_aoustic_bass
- 使用不正确的Strudel语法:
- .compress() 参数错误 - 格式错误的迷你符号字符串 - 缺少引号或括号
- 创建过于复杂的模式 听起来可能不太悦耳
语法验证
该系统包括自动验证和校正:
- 修复未端接的字符串
- 替换无效的声音名称
- 添加缺失项
setcps()命令 - 删除有问题的功能
浏览器兼容性
- 需要现代Chrome、Firefox、Safari或Edge浏览器
- 必须允许WebSocket连接
- 用户交互后必须允许音频自动播放
发展
项目结构
strudel-mcp-bridge/
├── mcp-server/
│ ├── src/
│ │ ├── server.ts # Main MCP server
│ │ ├── tools/
│ │ │ └── pattern-generator.ts # AI pattern generation
│ │ └── websocket/
│ │ └── bridge-server.ts # WebSocket communication
│ ├── package.json
│ └── tsconfig.json
├── browser-extension/
│ ├── manifest.json # Extension configuration
│ ├── content-script.js # Strudel integration
│ ├── background.js # Extension service worker
│ └── popup.html # Extension popup UI
└── README.md从源头构建
# MCP Server
cd mcp-server
npm install
npm run build
npm start # For testing only
# Browser Extension
# Load unpacked extension in Chrome developer mode贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 使用Claude Desktop和浏览器扩展程序进行测试
- 提交拉取请求
故障排除
连接问题
通过以下方式检查连接状态:
get_connection_status音频权限
如果音频无法播放:
- 点击strudel.cc页面上的任意位置
- 查找浏览器音频权限提示
- 检查浏览器音频设置
模式生成问题
如果模式听起来不对:
- 模式可能使用不存在的工具
- 系统提供可靠性回退模式
- 尝试更简单的描述以获得更好的结果
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
对于问题和疑问:
- 检查浏览器控制台是否有错误消息
- 验证所有组件是否正确连接
- 查看克劳德桌面MCP配置
- 首先使用简单的模式描述进行测试
