MCP 服务器 — YouTube/Qobuz/Beatport 下载 | CDJ-2000 兼容 MP3(48kHz/320k CBR,JPEG封面) | Bootleg‑Link 流程(先试后买) | 20 个 MCP 工具 | 断点续传 | 智能命名 | 播放列表分页 |...
Python 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, concurrencyToolDescriptionsubmit_download_taskSubmit YouTube URL (channel/playlist/video/search)query_progressQuery task progress (incl. outputDir, url)list_tasksList all tasks with status filtercancel_taskCancel pending/downloading taskclear_completedClear completed/failed/cancelled tasksclear_databaseClear ALL tasks and videosget_queue_statusQueue metrics (active, queued, total)
ToolDescriptionyoutube_loginPlaywright stealth Google loginyoutube_auth_statusCheck cookie authenticationyoutube_logoutClear YouTube cookies
ToolDescriptionqobuz_loginLogin to Qobuzqobuz_searchSearch tracks/albums/artistsqobuz_downloadDownload (MP3 320 / CD FLAC / Hi-Res 96k / 192k)qobuz_my_purchasesList purchased/favorite tracks
ToolDescriptionbeatport_loginPlaywright login to Beatportbeatport_searchSearch Beatport catalogbeatport_downloadDownload 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:
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.