Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YTDLP_MCP_TEMP_ROOTNoManaged temp directory (default: OS temp + yt-dlp-mcp)
YTDLP_MCP_TIMEOUT_MSNoPer-command timeout in milliseconds900000
YTDLP_MCP_YTDLP_PATHNoOverride yt-dlp binary path (auto-detected by default)
YTDLP_MCP_FFMPEG_PATHNoOverride ffmpeg binary path (auto-detected by default)
YTDLP_MCP_OUTPUT_ROOTNoManaged output directory~/Downloads/yt-dlp-mcp
YTDLP_MCP_COOKIES_FILENoServer-approved cookies file
YTDLP_MCP_FFPROBE_PATHNoOverride ffprobe binary path (auto-detected by default)
YTDLP_MCP_ENABLE_EXPERTNoEnable ytdlp_execute_expert toolfalse
YTDLP_MCP_MAX_OUTPUT_BYTESNoMax retained stdout/stderr in bytes4194304
YTDLP_MCP_ALLOW_CONFIG_FILESNoAllow cookie/netrc/config file inputsfalse
YTDLP_MCP_COOKIES_FROM_BROWSERNoServer-approved browser cookie source
YTDLP_MCP_ALLOW_ARBITRARY_OUTPUT_PATHSNoAllow paths outside managed rootsfalse

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ytdlp_check_environmentA

Check whether this MCP server can run yt-dlp workflows on the host. Use before the first download or when PATH, ffmpeg, ffprobe, cookies, plugins, or policy settings may be misconfigured.

ytdlp_list_extractorsA

List all site extractors supported by the installed yt-dlp binary. Use when the user asks whether a website or URL family is supported.

ytdlp_list_impersonation_targetsA

List browser impersonation targets supported by the installed yt-dlp binary. Use when a download needs browser-like request headers or extractor troubleshooting.

ytdlp_search_videosA

Search YouTube through yt-dlp without downloading media and return compact video results. Use when the user asks to find videos before choosing one to inspect or download.

ytdlp_get_metadataB

Extract structured metadata for a media URL without downloading files using yt-dlp --dump-json. Use to inspect title, duration, uploader, formats, subtitles, thumbnails, and selected best format.

ytdlp_list_formatsA

List available audio/video formats for a media URL without downloading files. Use when the user asks what quality, codec, resolution, bitrate, or format IDs are available.

ytdlp_list_subtitlesA

List available manual subtitles and automatic captions for a media URL without downloading files. Use when the user asks which subtitle languages or formats exist.

ytdlp_list_thumbnailsB

List available thumbnails for a media URL without downloading files. Use when the user asks for cover images, thumbnail URLs, resolutions, or poster options.

ytdlp_probe_urlA

Probe whether yt-dlp supports a media URL and identify the extractor without downloading files. Use for quick support checks before planning or downloading.

ytdlp_plan_downloadA

Dry-run a video, audio, subtitle, thumbnail, or playlist download without writing files. Use to answer what would happen, which format best quality resolves to, required dependencies, output paths, risks, and exact yt-dlp argv.

ytdlp_plan_postprocessA

Dry-run post-processing without writing files. Use to explain ffmpeg requirements, output policy, risks, and side effects for remux, recode, audio extraction, embedded assets, chapters, or SponsorBlock.

ytdlp_validate_optionsA

Validate typed yt-dlp option input and expose the source-derived option catalog. Use to answer whether a flag or option is supported without executing yt-dlp.

ytdlp_download_videoA

Download a web video URL to the managed output root, including YouTube and youtu.be links.

Use when: The user asks to download, save, fetch, or get a local video file from a media URL; asks for best quality/highest quality; asks for a specific format/resolution; asks to trim sections; or asks for overwrite behavior. Don't use when: The user only wants audio, subtitles, thumbnails, metadata, or a dry-run plan.

Note: This is the intended MCP path for permitted user-provided media download requests such as "download in best quality". Default video format selection plans as bestvideo*+bestaudio/best unless the user asks otherwise. This creates local files under the configured output root.

ytdlp_download_audioA

Download or extract audio from a web media URL to the managed output root.

Use when: The user asks for audio-only output, MP3, M4A, Opus, WAV, best audio, podcast/music extraction, or keeping audio without video. Don't use when: The user needs a video file with visuals, subtitles only, thumbnails only, metadata, or a dry-run plan.

Note: This creates local audio files under the configured output root.

ytdlp_download_subtitlesA

Download subtitles or captions for a media URL without downloading the video. Use when the user asks for subtitle languages, auto captions, subtitle formats, subtitle files, transcripts with timestamps, or subtitle conversion.

ytdlp_download_thumbnailB

Download thumbnail image files for a media URL without downloading the video. Use when the user asks for a cover image, thumbnail, poster frame, or all thumbnails.

ytdlp_download_playlistA

Download playlist, channel, or multi-video URL entries to the managed output root. Use when the user asks to download a playlist/channel, select playlist ranges, skip existing archive entries, cap max downloads, randomize order, or stop on existing files.

ytdlp_inspect_archiveB

Read a yt-dlp download archive file under the configured filesystem policy and return its saved archive entries. Use when the user asks what is already in an archive.

ytdlp_check_archiveA

Check whether an exact yt-dlp archive entry string exists in an archive file under the configured filesystem policy. This does not resolve a video URL into its archive ID.

ytdlp_update_archiveA

Return a safe archive-update plan and recommendation without writing the archive. Prefer using downloadArchive on download tools so yt-dlp writes canonical extractor IDs.

ytdlp_remuxA

Download a media URL and remux the resulting video container with ffmpeg, defaulting to MP4 without re-encoding. Use when the user asks to convert containers such as MKV/WebM to MP4.

ytdlp_recodeA

Download a media URL and re-encode the resulting video with ffmpeg, defaulting to MP4. Use when the user asks for a target video format and accepts re-encoding.

ytdlp_extract_audioB

Download a media URL and extract an audio file with ffmpeg/ffprobe. Use when the user asks for MP3, M4A, Opus, WAV, best audio, or audio-only output.

ytdlp_embed_assetsA

Download a media URL and embed subtitles, thumbnail, metadata, chapters, or infojson into the output file. Use when the user asks for a self-contained media file with embedded assets.

ytdlp_split_chaptersA

Download a media URL and split the result into one file per chapter. Use when the user asks to create separate chapter files or segment a chaptered video.

ytdlp_remove_chaptersA

Download a media URL and remove chapters matching configured regex filters, defaulting to sponsor-like chapters. Use for chapter removal workflows that need ffmpeg cuts.

ytdlp_apply_sponsorblockA

Download a media URL and apply SponsorBlock mark or remove options. Use when the user asks to mark, remove, or chapter SponsorBlock categories during download.

ytdlp_execute_expertA

Execute reviewed raw yt-dlp argv only when typed tools cannot express the request. Disabled unless YTDLP_MCP_ENABLE_EXPERT=true; dry-run is default and unsafe/path-gated flags are blocked by policy.

Prompts

Interactive templates invoked by user choice

NameDescription
archive_playlist_safelyGuide an agent through planning and downloading only new playlist entries.
choose_smallest_acceptable_formatGuide format selection toward smallest acceptable media.

Resources

Contextual data attached and managed by the client

NameDescription
ytdlp_capabilitiesTool capability map
ytdlp_option_catalog_groupsSource-derived yt-dlp option catalog groups
ytdlp_safety_policyFilesystem and expert-mode safety policy
ytdlp_troubleshootingSafe troubleshooting checklist for common yt-dlp MCP failures.
ytdlp_environment_summaryCurrent detected environment summary

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antonio-orionus/yt-dlp-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server