Install
openclaw skills install bootleg-link-mcpMCP Server — YouTube/Qobuz/Beatport 下载 | CDJ-2000 兼容 MP3 (48kHz/320k CBR/JPEG封面) | Bootleg-Link Flow (Try Before Buy) | 20 MCP Tools | 断点续传 | 智能命名 | 播放列表分页 | bgutil PO Token
openclaw skills install bootleg-link-mcpPython MCP server for downloading music from YouTube, Qobuz, and Beatport. Outputs CDJ-2000 compatible MP3 (48kHz/320k CBR/JPEG cover). Features task queue with resume, concurrent downloads, and intelligent file naming.
Single-file Python MCP server (src/server.py) over stdin/stdout JSON-RPC 2.0.
Artist - Title (Mix) [LABEL].mp3 with auto artist extraction from YouTube metadata~/.bootleg-link-mcp/config.json for paths, proxy, quality, concurrency| Tool | Description |
|---|---|
submit_download_task | Submit YouTube URL (channel/playlist/video/search) |
query_progress | Query task progress (incl. outputDir, url) |
list_tasks | List all tasks with status filter |
cancel_task | Cancel pending/downloading task |
clear_completed | Clear completed/failed/cancelled tasks |
clear_database | Clear ALL tasks and videos |
get_queue_status | Queue metrics (active, queued, total) |
| Tool | Description |
|---|---|
youtube_login | Playwright stealth Google login |
youtube_auth_status | Check cookie authentication |
youtube_logout | Clear YouTube cookies |
| Tool | Description |
|---|---|
qobuz_login | Login to Qobuz |
qobuz_search | Search tracks/albums/artists |
qobuz_download | Download (MP3 320 / CD FLAC / Hi-Res 96k / 192k) |
qobuz_my_purchases | List purchased/favorite tracks |
| Tool | Description |
|---|---|
beatport_login | Playwright login to Beatport |
beatport_search | Search Beatport catalog |
beatport_download | Download owned tracks |
yt-dlp>=2026.05.25 — YouTube extraction (with Node.js for JS challenge solving)mutagen — MP3 ID3 tag + cover art embeddingplaywright — Stealth browser login (optional, for YouTube/Beatport auth)qobuz-dl — Qobuz integration (optional)bgutil-ytdlp-pot-provider — PO Token for YouTube (auto-started)ffmpeg — Audio extraction + format conversion~/.bootleg-link-mcp/config.json:
{
"paths": {
"outputDir": "/mnt/e/music",
"dbPath": "~/.bootleg-link-mcp/bootleg-link.db"
},
"proxy": { "http": "http://proxy:port", "https": "http://proxy:port" },
"download": { "maxConcurrent": 32, "quality": "320" }
}
When no outputDir is specified, auto-creates subdirectories under paths.outputDir from URL content:
[TECHAWAY RECORDS] → outputDir/TECHAWAY RECORDS/@ChannelName → outputDir/ChannelName/Core workflow: YouTube fast preview → test in set → mark favorites → one-click Beatport/Qobuz replacement with full ID3/cover/name preservation.