Command Palette

Search for a command to run...

Home / Servers

ytdl-rmcp

npm version release CI

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.

Written in Rust on the rmcp crate. yt-dlp and ffmpeg are auto-downloaded into a per-user cache on first run, so the host needs neither pre-installed — the one binary is the whole install.

30-second path: npx -y @dinglebear/rytdl setup -> configure a target path -> call youtube_search or youtube_probe; use youtube_download only after the destination and trust boundary are clear.

Status: production personal-media MCP server. Read-only search/probe/stats paths are safe; download, playlist, queue-drain, and tag-writing paths create or move state and are intended for trusted callers.

Not for: a generic web-downloader SaaS, a multi-tenant media ingestion boundary, a replacement for yt-dlp's upstream site handling, or an arbitrary filesystem writer for untrusted MCP callers.

Contents

Naming

SurfaceThis repo
Repositorydinglebear-ai/rytdl
Cargo crateytdl-rmcp
npm package@dinglebear/rytdl
CLI / binaryrytdl
MCP toolsyoutube_search, youtube_search_ui, youtube_download, youtube_probe, youtube_identify, youtube_stats, youtube_plex_playlist, youtube_transfer_queue
Env prefixYTDLP_*, plus FFMPEG_*, FPCALC_PATH, and YTDLP_LOG
Transportstdio only — no HTTP listener, no service port

The crate and npm package use the *-rmcp family naming pattern, while the repository and runtime binary are rytdl so local shells get a short Rust-native command.

Capabilities And Boundaries

  • Searches YouTube through yt-dlp without downloading media.
  • Downloads audio, video, or both into a staging tree, tags audio metadata, and transfers the result to local, SSH, or rclone destinations.
  • Optionally fingerprints audio through AcoustID/MusicBrainz and syncs completed audio downloads into a Plex playlist.
  • Builds Plex playlists from successful transfer history and drains server-made retained-staging transfer manifests.
  • Exposes an MCP App search UI for hosts that can render embedded widgets.
  • Keeps a JSONL ledger for repeat-safe downloads and stats.
This repo ownsUpstream ownsExplicitly out of scope
MCP tools, CLI setup, media staging, tagging, transfer policy, queue manifests, config validation, response shaping, plugin/package metadata.yt-dlp extraction behavior, source-site availability, ffmpeg media conversion, Plex library indexing, SSH/rclone authentication.Multi-tenant isolation, arbitrary local writes for untrusted callers, credential brokering, site-specific scraping guarantees, media-server replacement.

Fea

Related servers

n8n

Updated today

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

NOASSERTION199,059

mcp-server-fetch

OfficialUpdated today

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,138

@modelcontextprotocol/server-filesystem

OfficialUpdated today

by modelcontextprotocol

MCP server for filesystem access

SEE LICENSE IN LICENSE89,138

@modelcontextprotocol/server-everything

OfficialUpdated today

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,138