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

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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