YTDL RMCP MCP Server

Rust MCP server and CLI for yt-dlp search, downloads, metadata, transfers, and Plex playlists.

Local serverstdio

What is the YTDL RMCP MCP server?

Most developer tooling work still happens through a UI a human drives. YTDL RMCP MCP server moves it into the conversation instead. Rust MCP server and CLI for yt-dlp search, downloads, metadata, transfers, and Plex playlists.

The short version

MCP server and CLI for yt-dlp: search and download media, embed metadata and cover art, then deliver to local, SSH, or rclone targets and Plex.

  • Searches YouTube through yt-dlp without downloading media
  • Downloads audio, video, or both into a staging tree, tags audio metadata, and
  • Optionally fingerprints audio through AcoustID/MusicBrainz and syncs completed
  • Builds Plex playlists from successful transfer history and drains server-made
  • Exposes an MCP App search UI for hosts that can render embedded widgets
  • Keeps a JSONL ledger for repeat-safe downloads and stats

The tools it exposes

The server publishes 14 tools. What each one is for:

  • Self — contained paths** — the binary downloads/caches yt-dlp + ffmpeg when
  • Self-installing — ytdl-rmcp setup registers the server into Claude Code,
  • Repeat-safe — use_archive records downloaded IDs (per mode) and skips
  • Stats — ready ledger** — every completed download call appends a JSONL entry
  • partial — an error occurred but some files were still produced
  • failed — errored with no files
  • skipped — nothing new (already in the archive)
  • metadata_retag — MusicBrainz/AcoustID auto-retag summary (attempted,
  • plex_playlist — Plex playlist summary (playlist, matched, added,
  • history_error — set when the download succeeded but the JSONL ledger append
  • host — /path/to/library — SSH target. Uses the existing rsync/scp flow and
  • remote — path/to/library — rclone target with a relative remote path. Uses rclone copy; rclone must be

Getting it running

Installation goes through your MCP client rather than a global install: point it at @dinglebear/rytdl on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

What it needs from you

Configuration is passed through the environment: YTDLP_TARGET_PATH, YTDLP_VIDEO_TARGET_PATH, YTDLP_AUTO_UPDATE, YTDLP_MAX_AGE_DAYS, YTDLP_EXTRACTOR_ARGS, FPCALC_PATH, YTDLP_PLEX_URL, YTDLP_PLEX_TOKEN. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

How it compares

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. YTDL RMCP's toolset — Self, Self-installing, Repeat-safe and 11 more — is a fair guide to whether it matches your workflow. It is maintained by ai.dinglebear; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against YTDL RMCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch YTDL RMCP.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
Selfcontained paths** — the binary downloads/caches yt-dlp + ffmpeg when
Self-installingytdl-rmcp setup registers the server into Claude Code,
Repeat-safeuse_archive records downloaded IDs (per mode) and skips
Statsready ledger** — every completed download call appends a JSONL entry
partialan error occurred but some files were still produced.
failederrored with no files.
skippednothing new (already in the archive).
metadata_retagMusicBrainz/AcoustID auto-retag summary (attempted,
plex_playlistPlex playlist summary (playlist, matched, added,
history_errorset when the download succeeded but the JSONL ledger append
host/path/to/library — SSH target. Uses the existing rsync/scp flow and
remotepath/to/library — rclone target with a relative remote path. Uses rclone copy; rclone must be
rcloneremote:/path/to/library — explicit rclone target for an absolute remote path; without the rclone: prefix, host:/path remains SSH by design.
SurfaceThis repo

How to install the YTDL RMCP MCP server

{
  "mcpServers": {
    "ytdl-rmcp": {
      "command": "npx",
      "args": ["-y", "@dinglebear/rytdl"],
      "env": {
        "YTDLP_TARGET_PATH": "your-value",
        "YTDLP_VIDEO_TARGET_PATH": "your-value",
        "YTDLP_AUTO_UPDATE": "your-value",
        "YTDLP_MAX_AGE_DAYS": "your-value",
        "YTDLP_EXTRACTOR_ARGS": "your-value",
        "FPCALC_PATH": "your-value",
        "YTDLP_PLEX_URL": "your-value",
        "YTDLP_PLEX_TOKEN": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
YTDLP_TARGET_PATHFilesystem location the server is allowed to use.Optional
YTDLP_VIDEO_TARGET_PATHFilesystem location the server is allowed to use.Optional
YTDLP_AUTO_UPDATEConfiguration value read at startup.Optional
YTDLP_MAX_AGE_DAYSConfiguration value read at startup.Optional
YTDLP_EXTRACTOR_ARGSConfiguration value read at startup.Optional
FPCALC_PATHFilesystem location the server is allowed to use.Optional
YTDLP_PLEX_URLEndpoint or connection string the server talks to.Yes
YTDLP_PLEX_TOKENCredential the server authenticates with.Yes

Example prompts to try

  • Use YTDL RMCP to Self.
  • Use YTDL RMCP to Self-installing.
  • Use YTDL RMCP to Repeat-safe.

Frequently asked questions

It connects YTDL RMCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (Self, Self-installing, Repeat-safe, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with YTDL RMCP directly.