Stats
Actions
Tags
Copy this JSON into your .mcp.json to enable this server
Add to your .mcp.json:
{
"mcpServers": {
"ytdl-mcp": {
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/run-server.sh",
"env": {
"YTDLP_PATH": "${user_config.ytdlp_path}",
"FFMPEG_PATH": "${user_config.ffmpeg_path}",
"FPCALC_PATH": "${user_config.fpcalc_path}",
"YTDLP_REMOTE": "${user_config.remote}",
"YTDLP_SHA256": "${user_config.ytdlp_sha256}",
"FFMPEG_SHA256": "${user_config.ffmpeg_sha256}",
"YTDLP_PLEX_URL": "${user_config.plex_url}",
"YTDLP_SSH_OPTS": "${user_config.ssh_opts}",
"YTDLP_PLEX_TOKEN": "${user_config.plex_token}",
"YTDLP_UPDATE_PRE": "${user_config.update_pre}",
"YTDLP_ARCHIVE_DIR": "${user_config.archive_dir}",
"YTDLP_AUTO_UPDATE": "${user_config.auto_update}",
"YTDLP_REMOTE_PATH": "${user_config.audio_dest_path}",
"YTDLP_STAGING_DIR": "${user_config.staging_dir}",
"YTDLP_AUDIO_FORMAT": "${user_config.audio_format}",
"YTDLP_HISTORY_PATH": "${user_config.history_path}",
"YTDLP_MAX_AGE_DAYS": "${user_config.max_age_days}",
"YTDLP_TIMEOUT_SECS": "${user_config.ytdlp_timeout_secs}",
"YTDLP_PLEX_PLAYLIST": "${user_config.plex_playlist}",
"YTDLP_CLEAN_METADATA": "${user_config.clean_metadata}",
"YTDLP_EXTRACTOR_ARGS": "${user_config.extractor_args}",
"YTDLP_VIDEO_REMOTE_PATH": "${user_config.video_dest_path}",
"YTDLP_ACOUSTID_CLIENT_KEY": "${user_config.acoustid_client_key}",
"YTDLP_MUSICBRAINZ_CONTACT": "${user_config.musicbrainz_contact}",
"YTDLP_TRANSFER_TIMEOUT_SECS": "${user_config.transfer_timeout_secs}"
}
}
}
}Replace placeholder values for: YTDLP_PLEX_TOKEN, YTDLP_ACOUSTID_CLIENT_KEY
Review these signals before enabling this server
This MCP server needs API keys or credentials. Configure them in your environment before use.
This server has elevated permissions. Review the source code before enabling.
Server configuration and connection parameters
${CLAUDE_PLUGIN_ROOT}/scripts/run-server.shEnvironment variables set when the server starts
YTDLP_PATH=${user_config.ytdlp_path}FFMPEG_PATH=${user_config.ffmpeg_path}FPCALC_PATH=${user_config.fpcalc_path}YTDLP_REMOTE=${user_config.remote}YTDLP_SHA256=${user_config.ytdlp_sha256}FFMPEG_SHA256=${user_config.ffmpeg_sha256}YTDLP_PLEX_URL=${user_config.plex_url}YTDLP_SSH_OPTS=${user_config.ssh_opts}YTDLP_PLEX_TOKEN=${user_config.plex_token}YTDLP_UPDATE_PRE=${user_config.update_pre}YTDLP_ARCHIVE_DIR=${user_config.archive_dir}YTDLP_AUTO_UPDATE=${user_config.auto_update}YTDLP_REMOTE_PATH=${user_config.audio_dest_path}YTDLP_STAGING_DIR=${user_config.staging_dir}YTDLP_AUDIO_FORMAT=${user_config.audio_format}YTDLP_HISTORY_PATH=${user_config.history_path}YTDLP_MAX_AGE_DAYS=${user_config.max_age_days}YTDLP_TIMEOUT_SECS=${user_config.ytdlp_timeout_secs}YTDLP_PLEX_PLAYLIST=${user_config.plex_playlist}YTDLP_CLEAN_METADATA=${user_config.clean_metadata}YTDLP_EXTRACTOR_ARGS=${user_config.extractor_args}YTDLP_VIDEO_REMOTE_PATH=${user_config.video_dest_path}YTDLP_ACOUSTID_CLIENT_KEY=${user_config.acoustid_client_key}YTDLP_MUSICBRAINZ_CONTACT=${user_config.musicbrainz_contact}YTDLP_TRANSFER_TIMEOUT_SECS=${user_config.transfer_timeout_secs}Sensitive values you must provide — never committed to source control
npx claudepluginhub jmagar/dendrite --plugin ytdl-mcp