← 返回 Skills 市场
esanle

Bootleg-Link MCP

作者 esanle · GitHub ↗ · v0.7.0 · MIT-0
linuxdarwin ⚠ suspicious
80
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install bootleg-link-mcp
功能描述
MCP server for downloading YouTube audio as MP3 with embedded cover art, task queue, progress tracking, and SQLite persistence
使用说明 (SKILL.md)

Bootleg-Link MCP v0.7.0

Python MCP server for downloading YouTube audio as MP3 with automatic cover art embedding. Features a task queue, concurrent download manager, SQLite-based persistence, and paged playlist support.

Architecture

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

  • Task Queue: In-memory queue with SQLite persistence for resume across restarts
  • Download Engine: yt-dlp Python API with bestaudio/best format
  • Cover Art: Downloads thumbnail via writethumbnail, embeds into MP3 ID3 APIC frame using mutagen, then cleans up webp/webm files
  • Concurrency: ThreadPoolExecutor with configurable worker count
  • Paged Playlist: Flat playlist extraction (100 per page) for large channel downloads

MCP Tools

Tool Description
submit_download_task Submit a YouTube URL/channel for audio download
query_progress Query task progress and status
list_tasks List all tasks with optional status filter
cancel_task Cancel a pending or running task
clear_completed Clear completed/failed/cancelled tasks
get_queue_status Get queue metrics (active, queued, total)

submit_download_task

{
  "url": "https://www.youtube.com/@ChannelName/videos",
  "quality": "320",
  "outputDir": "/path/to/output"
}

Returns: { "success": true, "taskId": "task_xxx", "status": "pending" }

query_progress

{
  "taskId": "task_xxx"
}

Returns: { "status": "downloading", "progress": 45, "songsCompleted": 5, "songsTotal": 100 }

Dependencies

  • yt-dlp — YouTube audio extraction
  • mutagen — MP3 ID3 tag manipulation and cover art embedding
  • Python 3.10+ (stdlib only: sqlite3, json, threading, concurrent.futures)

Installation

pip install yt-dlp mutagen

Configuration

Config file: ~/.bootleg-link-mcp/config.json

{
  "paths": {
    "outputDir": "~/Downloads/bootleg-link",
    "dbPath": "~/.bootleg-link-mcp/bootleg-link.db"
  },
  "proxy": {
    "http": "http://proxy:port",
    "https": "http://proxy:port"
  },
  "download": {
    "maxConcurrent": 4,
    "quality": "320"
  }
}

Or via OpenClaw MCP config with environment variables (deprecated, use config.json):

{
  "command": "/path/to/python3",
  "args": ["src/server.py"],
  "env": {
    "BOOTLEG_OUTPUT_DIR": "/mnt/e/downloads",
    "BOOTLEG_HTTP_PROXY": "http://proxy:1081",
    "BOOTLEG_HTTPS_PROXY": "http://proxy:1081"
  }
}

Development

# Run tests (67 test cases)
/opt/pyenv/versions/3.11.8/bin/python3 test_mcp.py

# Run server directly
/opt/pyenv/versions/3.11.8/bin/python3 src/server.py
安全使用建议
Install only if you are comfortable with a long-running downloader that writes files and resumes queued downloads. Before use, remove or replace the 100.64.0.3 proxy configuration, choose a dedicated output folder, and consider pinning dependencies.
能力评估
Purpose & Capability
The skill’s core behavior—downloading audio via yt-dlp, embedding cover art, tracking progress, and writing MP3s—is consistent with its stated purpose, but it can perform large network downloads and write many files.
Instruction Scope
The MCP tools expose user/agent-submitted URLs and output directories; this is expected for a downloader, but users should keep control over what URLs and directories are used.
Install Mechanism
There is no install spec, and the docs rely on manual pip installation of unpinned dependencies; this is common for a Python tool but should be reviewed before use.
Credentials
CLAUDE.md contains an OpenClaw gateway configuration with a concrete private CGNAT/Tailscale-range HTTP proxy endpoint, which is not clearly explained as user-specific or declared in metadata.
Persistence & Privilege
The server is designed as a long-lived MCP daemon with SQLite persistence and automatic task resume; this is disclosed and purpose-aligned, but users should know downloads may continue after restart.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install bootleg-link-mcp
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /bootleg-link-mcp 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.7.0
Python release: yt-dlp engine, SQLite persistence, paged playlists, mutagen cover embedding, auto-cleanup, concurrent downloads
元数据
Slug bootleg-link-mcp
版本 0.7.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Bootleg-Link MCP 是什么?

MCP server for downloading YouTube audio as MP3 with embedded cover art, task queue, progress tracking, and SQLite persistence. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 80 次。

如何安装 Bootleg-Link MCP?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install bootleg-link-mcp」即可一键安装,无需额外配置。

Bootleg-Link MCP 是免费的吗?

是的,Bootleg-Link MCP 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Bootleg-Link MCP 支持哪些平台?

Bootleg-Link MCP 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(linux, darwin)。

谁开发了 Bootleg-Link MCP?

由 esanle(@esanle)开发并维护,当前版本 v0.7.0。

💬 留言讨论