Bootleg Link Mcp

MCP Tools

MCP Server — YouTube/Qobuz/Beatport 下载 | CDJ-2000 兼容 MP3 (48kHz/320k CBR/JPEG封面) | Bootleg-Link Flow (Try Before Buy) | 20 MCP Tools | 断点续传 | 智能命名 | 播放列表分页 | bgutil PO Token

Install

openclaw skills install bootleg-link-mcp

Bootleg-Link MCP v0.9.0

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.

Architecture

Single-file Python MCP server (src/server.py) over stdin/stdout JSON-RPC 2.0.

  • Multi-source: YouTube (yt-dlp), Qobuz (qobuz-dl), Beatport (Playwright + requests)
  • CDJ-2000 Format: 48kHz/320k CBR MP3, JPEG cover (WebP→JPEG auto-convert), no video streams
  • Task Queue: In-memory + SQLite persistence, auto-resume on restart
  • Parallel Download: ThreadPoolExecutor with configurable workers (max 32)
  • Paged Playlist: Flat extraction (100/page) for large channel downloads
  • Smart Naming: Artist - Title (Mix) [LABEL].mp3 with auto artist extraction from YouTube metadata
  • YouTube Auth: Playwright + Xvfb stealth Chromium login, bgutil PO Token provider
  • Config: ~/.bootleg-link-mcp/config.json for paths, proxy, quality, concurrency

MCP Tools (20)

Download & Task Management

ToolDescription
submit_download_taskSubmit YouTube URL (channel/playlist/video/search)
query_progressQuery task progress (incl. outputDir, url)
list_tasksList all tasks with status filter
cancel_taskCancel pending/downloading task
clear_completedClear completed/failed/cancelled tasks
clear_databaseClear ALL tasks and videos
get_queue_statusQueue metrics (active, queued, total)

YouTube

ToolDescription
youtube_loginPlaywright stealth Google login
youtube_auth_statusCheck cookie authentication
youtube_logoutClear YouTube cookies

Qobuz

ToolDescription
qobuz_loginLogin to Qobuz
qobuz_searchSearch tracks/albums/artists
qobuz_downloadDownload (MP3 320 / CD FLAC / Hi-Res 96k / 192k)
qobuz_my_purchasesList purchased/favorite tracks

Beatport

ToolDescription
beatport_loginPlaywright login to Beatport
beatport_searchSearch Beatport catalog
beatport_downloadDownload owned tracks

Dependencies

  • yt-dlp>=2026.05.25 — YouTube extraction (with Node.js for JS challenge solving)
  • mutagen — MP3 ID3 tag + cover art embedding
  • playwright — 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
  • Python 3.10+, Node.js 24+

Configuration

~/.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" }
}

Smart Directory

When no outputDir is specified, auto-creates subdirectories under paths.outputDir from URL content:

  • Search query [TECHAWAY RECORDS]outputDir/TECHAWAY RECORDS/
  • Channel @ChannelNameoutputDir/ChannelName/

Bootleg-Link Flow (Try Before Buy)

Core workflow: YouTube fast preview → test in set → mark favorites → one-click Beatport/Qobuz replacement with full ID3/cover/name preservation.