Skip to main content
Glama
YouTube Media Downloader

YouTube Media Downloader

Youtube Media Downloader MCP Server

English | 简体中文 | 繁體中文

用于访问 Youtube Media Downloader API 的 MCP 服务器。

🚀 使用 EMCP 平台快速体验

EMCP 是一个强大的 MCP 服务器管理平台,让您无需手动配置即可快速使用各种 MCP 服务器!

快速开始:

  1. 🌐 访问 EMCP 平台

  2. 📝 注册并登录账号

  3. 🎯 进入 MCP 广场,浏览所有可用的 MCP 服务器

  4. 🔍 搜索或找到本服务器(bach-youtube_media_downloader)

  5. 🎉 点击 "安装 MCP" 按钮

  6. ✅ 完成!即可在您的应用中使用

EMCP 平台优势:

  • ✨ 零配置:无需手动编辑配置文件

  • 🎨 可视化管理:图形界面轻松管理所有 MCP 服务器

  • 🔐 安全可靠:统一管理 API 密钥和认证信息

  • 🚀 一键安装:MCP 广场提供丰富的服务器选择

  • 📊 使用统计:实时查看服务调用情况

立即访问 EMCP 平台 开始您的 MCP 之旅!


Related MCP server: BACH YouTube API MCP Server

简介

这是一个 MCP 服务器,用于访问 Youtube Media Downloader API。

  • PyPI 包名: bach-youtube_media_downloader

  • 版本: 1.0.0

  • 传输协议: stdio

安装

从 PyPI 安装:

pip install bach-youtube_media_downloader

从源码安装:

pip install -e .

运行

方式 1: 使用 uvx(推荐,无需安装)

# 运行(uvx 会自动安装并运行)
uvx --from bach-youtube_media_downloader bach_youtube_media_downloader

# 或指定版本
uvx --from bach-youtube_media_downloader@latest bach_youtube_media_downloader

方式 2: 直接运行(开发模式)

python server.py

方式 3: 安装后作为命令运行

# 安装
pip install bach-youtube_media_downloader

# 运行(命令名使用下划线)
bach_youtube_media_downloader

配置

API 认证

此 API 需要认证。请设置环境变量:

export API_KEY="your_api_key_here"

环境变量

变量名

说明

必需

API_KEY

API 密钥

是

PORT

不适用

否

HOST

不适用

否

在 Cursor 中使用

编辑 Cursor MCP 配置文件 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "bach-youtube_media_downloader": {
      "command": "uvx",
      "args": ["--from", "bach-youtube_media_downloader", "bach_youtube_media_downloader"],
      "env": {
        "API_KEY": "your_api_key_here"
      }
    }
  }
}

在 Claude Desktop 中使用

编辑 Claude Desktop 配置文件 claude_desktop_config.json:

{
  "mcpServers": {
    "bach-youtube_media_downloader": {
      "command": "uvx",
      "args": ["--from", "bach-youtube_media_downloader", "bach_youtube_media_downloader"],
      "env": {
        "API_KEY": "your_api_key_here"
      }
    }
  }
}

可用工具

此服务器提供以下工具:

get_video_details_price_1_3

This endpoint fetches full details of a YouTube video, including URLs of videos, audios, thumbnails and subtitles as well as related videos and playlists.

端点: GET /v2/video/details

参数:

  • videoId (string) 必需: YouTube video id. The value of v in YouTube player URL query parameters.

  • urlAccess (string): Accessibility to video/audio URLs. Defaults to normal. normal: Includes video/audio file URLs – 3 quota units blocked: Excludes video/audio file URLs – 1 quota unit

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • videos (string): Whether to get video objects. Defaults to auto. true: Includes simplified objects. raw: Includes original format objects. false: Excludes objects. auto: If urlAccess=normal, sets videos=true. If urlAccess=blocked, sets videos=false.

  • audios (string): Whether to get audio objects. Defaults to auto. true: Includes simplified objects. raw: Includes original format objects. false: Excludes objects. auto: If urlAccess=normal, sets audios=true. If urlAccess=blocked, sets audios=false.

  • subtitles (string): Example value:

  • related (string): Example value:


list_playlist_videos

This endpoint lists available videos of a YouTube playlist (unavailable ones won't be listed by YouTube). Pagination scraping is supported. Thumbnails won't be blurred by age safety.

端点: GET /v2/playlist/videos

参数:

  • playlistId (string): Example value: PLeCdlPO-XhWFzEVynMsmosfdRsIZXhZi0

  • lang (string): Language code (IETF language tag) for localized results. Default to be en-US. Unsupported code will fallback to en-US.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, playlistId will be ignored.


get_playlist_details

This endpoint fetches details of a YouTube playlist (user created playlist, album or radio playlist).

端点: GET /v2/playlist/details

参数:

  • playlistId (string) 必需: Example value: PLeCdlPO-XhWFzEVynMsmosfdRsIZXhZi0

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • videos (string): Example value:


list_items_with_next_token

An endpoint to list items with any type of nextToken. This allows longer nextToken (\u003e4KB) by putting it in the request body instead of the URL/header, bypassing the usual size limit of the URL/header.

端点: POST /v2/misc/list-items

参数:

  • nextToken (string) 必需: A string for getting the next page of data. You can only get this string from the response of listing endpoints in this API, like Video > List Video Comments, Search > Search for Channels, and Misc > List Items with Next Token.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.


list_hashtag_videos

This endpoint lists YouTube videos related to the hashtag. Pagination scraping is supported.

端点: GET /v2/hashtag/videos

参数:

  • tag (string): A hashtag without #. Try lowercase (e.g., howtocook, not HowToCook) if no results.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • type (string): Video type. Defaults to all.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, tag and type will be ignored.


list_channel_playlistsreleasespodcasts

This endpoint lists playlists, releases or podcasts of a YouTube channel. Pagination scraping is supported.

端点: GET /v2/channel/playlists

参数:

  • channelId (string): Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • type (string): playlists - Playlists (default value) releases - Releases (sortBy will be omitted) podcasts - Podcasts (sortBy will be omitted)

  • sortBy (string): Sorting metrics. Defaults to dateAdded.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId, type and sortBy will be ignored.


list_channel_videosshortslive

This endpoint lists videos, shorts or live streams of a YouTube channel. Pagination scraping is supported.

端点: GET /v2/channel/videos

参数:

  • channelId (string): Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • type (string): Video type. Defaults to videos.

  • sortBy (string): Sorting metrics. Defaults to newest.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId, type and sortBy will be ignored.


search_for_channels

This endpoint searches for YouTube channels. Pagination scraping is supported.

端点: GET /v2/search/channels

参数:

  • keyword (string): Search term.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • sortBy (string): Sorting metrics. Defaults to relevance.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, keyword and sortBy will be ignored.


search_for_videos_movies

This endpoint searches for YouTube videos (movies) with optional filters. Pagination scraping is supported. Thumbnails will not be blurred by age safety.

端点: GET /v2/search/videos

参数:

  • keyword (string): Search term.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • movie (string): Example value:

  • uploadDate (string): Upload date. Defaults to all.

  • duration (string): all - No duration limit (default value) short - Under 4 minutes medium - 4 - 20 minutes long - Over 20 minutes

  • sortBy (string): Sorting metrics. Defaults to relevance.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, keyword, movie, uploadDate, duration and sortBy will be ignored.


list_video_comments

This endpoint lists comments of a YouTube video. Pagination scraping is supported.

端点: GET /v2/video/comments

参数:

  • videoId (string): YouTube video id. The value of v in YouTube player URL query parameters.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • sortBy (string): Sorting metrics. Defaults to top.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, videoId and sortBy will be ignored.


This endpoint lists related videos and playlists of a YouTube video. Pagination scraping is supported. It's recommended to get the first page by calling Video \u003e Get Video Details, and then get subsequent pages here.

端点: GET /v2/video/related

参数:

  • videoId (string): YouTube video id. The value of v in YouTube player URL query parameters.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, videoId will be ignored.


search_for_playlists

This endpoint searches for YouTube playlists. Pagination scraping is supported. Thumbnails will not be blurred by age safety.

端点: GET /v2/search/playlists

参数:

  • keyword (string): Search term.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • sortBy (string): Sorting metrics. Defaults to relevance.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, keyword and sortBy will be ignored.


list_autocomplete_suggestions

This endpoint lists autocomplete predictions depending on the keyword.

端点: GET /v2/search/suggestions

参数:

  • keyword (string) 必需: Search term.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US.

  • region (string): Region code (ISO 3166 alpha-2) for localized results. Defaults to US.


list_post_comments

This endpoint lists comments of a YouTube community post. Pagination scraping is supported.

端点: GET /v2/post/comments

参数:

  • postId (string): Example value: Ugkx-rW0UIVSt9Aw-ux-w16DlRW-wwKwfwnp

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • sortBy (string): Sorting metrics. Defaults to top.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, postId and sortBy will be ignored.


get_post_details

This endpoint fetches details of a YouTube community post.

端点: GET /v2/post/details

参数:

  • postId (string) 必需: Example value: Ugkx-rW0UIVSt9Aw-ux-w16DlRW-wwKwfwnp

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.


search_for_channel_videos_and_playlists

This endpoint searches for videos and playlists in a YouTube Channel. Pagination scraping is supported.

端点: GET /v2/channel/search

参数:

  • channelId (string): Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.

  • keyword (string): Search term.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId and keyword will be ignored.


list_channel_posts_pollvideoimage

This endpoint lists poll, video, or image posts of a YouTube channel. Pagination scraping is supported.

端点: GET /v2/channel/posts

参数:

  • channelId (string): Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.

  • nextToken (string): A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId will be ignored.


get_channel_details

This endpoint fetches details of a YouTube channel.

端点: GET /v2/channel/details

参数:

  • channelId (string) 必需: Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.

  • lang (string): Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.


translate_convert_download_subtitle

This endpoint lets you translate, convert and download a subtitle of a YouTube video. Before doing this, please call endpoint Video \u003e Get Video Details to obtain subtitle URLs.

端点: GET /v2/video/subtitles

参数:

  • subtitleUrl (string) 必需: Subtitle URL of a YouTube video. To get this, please call Video > Get Video Details first.

  • format (string): Subtitle format. Defaults to srt.

  • fixOverlap (string): Example value:

  • targetLang (string): Target language (IETF language tag) into which the subtitle will be translated. Leave blank to preserve the original language. Unsupported code will fallback to the original language.


技术栈

  • 传输协议: stdio

  • HTTP 客户端: httpx

许可证

MIT License - 详见 LICENSE 文件。

开发

此服务器由 API-to-MCP 工具生成。

版本: 1.0.0

Available Tools

19 tools
get_channel_detailsC

This endpoint fetches details of a YouTube channel.

Inputs: channelId (required), lang.

get_playlist_detailsC

This endpoint fetches details of a YouTube playlist (user created playlist, album or radio playlist).

Inputs: playlistId (required), lang, videos.

get_post_detailsC

This endpoint fetches details of a YouTube community post.

Inputs: postId (required), lang.

get_video_details_price_1_3C

This endpoint fetches full details of a YouTube video, including URLs of videos, audios, thumbnails and subtitles as well as related videos and playlists.

Inputs: videoId (required), urlAccess, lang, videos, +3 more.

list_autocomplete_suggestionsC

This endpoint lists autocomplete predictions depending on the keyword.

Inputs: keyword (required), lang, region.

list_channel_playlistsreleasespodcastsC

This endpoint lists playlists, releases or podcasts of a YouTube channel. Pagination scraping is supported.

Inputs: channelId, lang, type, sortBy, +1 more.

list_channel_posts_pollvideoimageC

This endpoint lists poll, video, or image posts of a YouTube channel. Pagination scraping is supported.

Inputs: channelId, lang, nextToken.

list_channel_videosshortsliveC

This endpoint lists videos, shorts or live streams of a YouTube channel. Pagination scraping is supported.

Inputs: channelId, lang, type, sortBy, +1 more.

list_hashtag_videosB

This endpoint lists YouTube videos related to the hashtag. Pagination scraping is supported.

Inputs: tag, lang, type, nextToken.

list_items_with_next_tokenB

An endpoint to list items with any type of nextToken. This allows longer nextToken (\u003e4KB) by putting it in the request body instead of the URL/header, bypassing the usual size limit of the URL/header.

Inputs: nextToken (required), lang.

list_playlist_videosB

This endpoint lists available videos of a YouTube playlist (unavailable ones won't be listed by YouTube). Pagination scraping is supported. Thumbnails won't be blurred by age safety.

Inputs: playlistId, lang, nextToken.

list_post_commentsC

This endpoint lists comments of a YouTube community post. Pagination scraping is supported.

Inputs: postId, lang, sortBy, nextToken.

list_video_commentsC

This endpoint lists comments of a YouTube video. Pagination scraping is supported.

Inputs: videoId, lang, sortBy, nextToken.

search_for_channelsC

This endpoint searches for YouTube channels. Pagination scraping is supported.

Inputs: keyword, lang, sortBy, nextToken.

search_for_channel_videos_and_playlistsC

This endpoint searches for videos and playlists in a YouTube Channel. Pagination scraping is supported.

Inputs: channelId, keyword, lang, nextToken.

search_for_playlistsB

This endpoint searches for YouTube playlists. Pagination scraping is supported. Thumbnails will not be blurred by age safety.

Inputs: keyword, lang, sortBy, nextToken.

search_for_videos_moviesB

This endpoint searches for YouTube videos (movies) with optional filters. Pagination scraping is supported. Thumbnails will not be blurred by age safety.

Inputs: keyword, lang, movie, uploadDate, +3 more.

translate_convert_download_subtitleA

This endpoint lets you translate, convert and download a subtitle of a YouTube video. Before doing this, please call endpoint Video \u003e Get Video Details to obtain subtitle URLs.

Inputs: subtitleUrl (required), format, fixOverlap, targetLang.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 19 tools

    Disambiguation4/5

    Most tools have distinct purposes targeting specific YouTube entities (channels, playlists, videos, posts, comments, search). However, there is some overlap between list_channel_videosshortslive and search_for_channel_videos_and_playlists, and list_related_videos_and_playlists could be confused with general search tools. Descriptions help clarify boundaries, but a few tools might cause mild confusion.

    Naming Consistency3/5

    The naming follows a mixed convention with most tools using verb_noun patterns like get_channel_details and list_playlist_videos, but there are deviations such as get_video_details_price_1_3 (includes price suffix) and translate_convert_download_subtitle (multiple verbs). While readable, the inconsistency in verb usage and special cases reduces predictability.

    Tool Count3/5

    With 19 tools, the count is borderline high for a YouTube downloader/media server, as it includes many listing and search variants that might be consolidated. It feels slightly heavy but still manageable, covering a broad range of functionalities from details fetching to paginated listings.

    Completeness4/5

    The tool set provides comprehensive coverage for YouTube media downloading, including CRUD-like operations for details, listings, searches, and subtitle handling. Minor gaps exist, such as no explicit tool for downloading media files directly (though subtitle download is included) and some redundancy in search functions, but core workflows are well-supported.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables comprehensive YouTube data extraction and analysis using yt-dlp, including video metadata, channel statistics, playlists, comments, transcripts, search, trending videos, and engagement analytics with intelligent caching and batch processing.
      6
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Integrates with YouTube's Data API to enable video search, detailed video information retrieval, and transcript fetching with multi-language support and async performance.
      -