Tencent MPS
一个面向 crypto 场景的 Agent 技能。原始说明:腾讯云 MPS 媒体处理服务,支持以下功能:【视频转码】转码/压缩/格式转换/H.264/H.265/AV1/MP4/编码/码率/分辨率/帧率。【画质增强】画质增强/老片修复/超分/视频超分/真人增强/漫剧增强/防抖/720P/1080P/2K/4K。【音频处理】音频分离/人声提取/伴奏提取/去...
name: bootleg-link-mcp
version: 0.1.0
description: MCP server for YouTube music downloading with task queue, progress tracking, and cross-platform support
metadata:
openclaw:
emoji: "🎵"
os: ["linux", "darwin", "win32"]
requires:
bins: ["node>=18"]
Daemon-style MCP server for YouTube music downloading with task queue, progress tracking, and concurrent download support.
┌─────────────────────────────────────────────────────────┐
│ OpenClaw │
│ ┌─────────────┐ ┌─────────────────────────────┐ │
│ │ Skill │───►│ MCP Client (stdio bridge) │ │
│ └─────────────┘ └──────────────┬──────────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ bootleg-link-mcp │ │
│ │ ┌───────────────┐ │ │
│ │ │ Task Queue │ │ │
│ │ │ (In-Memory) │ │ │
│ │ └───────┬───────┘ │ │
│ │ │ │ │
│ │ ┌───────▼───────┐ │ │
│ │ │ Downloader │ │ │
│ │ │ (yt-dlp) │ │ │
│ │ └───────────────┘ │ │
│ └─────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Submit a new YouTube music download task.
{
"url": "https://www.youtube.com/@ChannelName",
"outputDir": "/path/to/output",
"quality": "320"
}
Returns: taskId for tracking
Query the progress of a download task.
{
"taskId": "task_1234567890_abc123"
}
Returns:
{
"taskId": "task_1234567890_abc123",
"status": "downloading",
"progress": 45,
"message": "Downloading... 45%",
"outputDir": "/path/to/output"
}
List all download tasks.
{
"status": "all",
"limit": 50
}
Cancel a pending or running task.
Pause or resume a downloading task.
Clear all completed/failed tasks.
| State | Description |
|-------|-------------|
| pending | Task created, waiting in queue |
| downloading | Currently downloading |
| completed | Download finished successfully |
| failed | Download failed with error |
| paused | Download paused by user |
| cancelled | Download cancelled by user |
| Variable | Default | Description |
|----------|---------|-------------|
| BOOTLEG_OUTPUT_DIR | ~/Downloads/bootleg-link | Default output directory |
| BOOTLEG_QUALITY | 320 | Default MP3 quality |
| BOOTLEG_CONCURRENCY | 4 | Max concurrent downloads |
| BOOTLEG_DB_PATH | ./tasks.db | SQLite database path |
| OS | Default Output |
|----|----------------|
| Linux | ~/Downloads/bootleg-link |
| macOS | ~/Downloads/bootleg-link |
| Windows | %USERPROFILE%\Downloads\bootleg-link |
# Install dependencies
cd bootleg-link-mcp
npm install
# Build
npm run build
# Run
npm start
Add to your OpenClaw MCP config:
{
"mcpServers": {
"bootleg-link": {
"command": "node",
"args": ["/path/to/bootleg-link-mcp/dist/server.js"],
"env": {
"BOOTLEG_OUTPUT_DIR": "/mnt/e/bootleg-link-downloader/output"
}
}
}
}
// Submit a task
const result = await callTool('submit_download_task', {
url: 'https://www.youtube.com/@VeryHouseMusic',
quality: '320'
});
// Returns: { taskId: "task_xxx", status: "pending" }
// Query progress
const progress = await callTool('query_progress', {
taskId: "task_xxx"
});
// Returns: { status: "downloading", progress: 45 }
// List all tasks
const tasks = await callTool('list_tasks', {
status: 'downloading',
limit: 10
});
@modelcontextprotocol/sdk - MCP server frameworkyt-dlp-wrap - yt-dlp Node.js wrapper (future)better-sqlite3 - SQLite for task persistence (future)