一个模型上下文协议(Model Context Protocol)服务器,使AI助手能够使用Strudel实时编码模式来创作音乐。此桥接器允许Claude Desktop和其他兼容MCP的AI助手通过浏览器实时生成、执行和修改Strudel模式。
Claude Desktop → MCP Server → WebSocket → 浏览器扩展 → Strudel.cc
系统由三个组件组成:
克隆并构建TypeScript服务器:
git clone <repository-url>
cd strudel-mcp-bridge/mcp-server
npm install
npm run build
创建环境配置:
cp .env.example .env
# 使用您的API凭证编辑.env文件
所需环境变量:
OPENROUTER_API_KEY=your-openrouter-api-key-here
OPENROUTER_MODEL=anthropic/claude-3-5-sonnet-20241022
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
从OpenRouter.ai获取API密钥,并向您的账户添加信用额度。
编辑您的Claude Desktop配置文件:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%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。
chrome://extensions/browser-extension文件夹启动系统:
创建模式:
创建一个house节奏,每个节拍都有低音鼓和高帽
修改模式:
在当前模式中添加贝斯线
加快速度
添加混响
停止播放:
停止当前模式
系统提供了几个MCP工具:
create_live_pattern:生成并播放新的Strudel模式modify_live_pattern:修改当前正在播放的模式stop_pattern:停止所有音频播放get_connection_status:检查浏览器连接状态set_ai_model:更改用于生成的AI模型get_ai_info:显示当前AI配置打开开发者工具:
扩展控制台:
// 检查桥接状态
console.log(window.strudelMCPBridge);
// 调试连接
debugStrudel();
// 手动连接测试
const testWS = new WebSocket('ws://localhost:3001');
testWS.onopen = () => console.log('WebSocket已连接');
testWS.onerror = (e) => console.log('WebSocket错误:', e);
连接指示器:
WebSocket连接失败:
音频不播放:
无效模式:
监控Claude Desktop中的服务器日志:
AI模型偶尔会:
生成无效的声音名称(例如,“bass”,“synth”,“lead”)
使用错误的Strudel语法:
.compress()带有错误参数创建过于复杂的模式,可能听起来不具有音乐性
系统包含自动验证和纠正:
setcps()命令strudel-mcp-bridge/
├── mcp-server/
│ ├── src/
│ │ ├── server.ts # 主MCP服务器
│ │ ├── tools/
│ │ │ └── pattern-generator.ts # AI模式生成
│ │ └── websocket/
│ │ └── bridge-server.ts # WebSocket通信
│ ├── package.json
│ └── tsconfig.json
├── browser-extension/
│ ├── manifest.json # 扩展配置
│ ├── content-script.js # Strudel集成
│ ├── background.js # 扩展服务工作者
│ └── popup.html # 扩展弹出UI
└── README.md
# MCP服务器
cd mcp-server
npm install
npm run build
npm start # 仅用于测试
# 浏览器扩展
# 在Chrome开发者模式下加载未压缩的扩展
使用以下命令检查连接状态:
get_connection_status
如果音频不播放:
如果模式听起来不对劲:
MIT许可 - 详情参见LICENSE文件
对于问题和疑问: