home / mcp / youtube media downloader mcp server

Youtube Media Downloader MCP Server

Provides access to the Youtube Media Downloader API via an MCP server with stdio transport.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "bach-ai-tools-bachai-youtube-media-downloader": {
      "command": "python",
      "args": [
        "server.py"
      ],
      "env": {
        "API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Youtube Media Downloader MCP Server exposes the Youtube Media Downloader API through an MCP server using stdio transport. It lets you access video details, playlists, channels, searches, and subtitles via a configurable MCP client, with secure API key handling and structured endpoints.

How to use

You will connect to this MCP server from your MCP client using the stdio transport. You provide your API key via environment variables and start the server with a ready-made command sequence from your preferred runner (uvx, Python, or a direct CLI invocation). Your MCP client will then call the endpoints described by the server to fetch YouTube data like video details, playlists, channel info, and more.

How to install

Prerequisites: you need Python, or you can run the server with the uvx runtime. You also need pip to install the Python package.

# Install the Python package from PyPI
pip install bach-youtube_media_downloader

# Or install from source in development mode
pip install -e .

Additional setup and usage notes

Set the API key as an environment variable before starting any MCP connection. This key authenticates requests to the Youtube Media Downloader API.

export API_KEY="your_api_key_here"

MCP start commands (STDIO)

The following commands start the MCP server using stdio transport. Use the full command that fits your preferred runner.

# Start with uvx (recommended)
uvx --from bach-youtube_media_downloader bach_youtube_media_downloader

# Start with uvx for latest version
uvx --from bach-youtube_media_downloader@latest bach_youtube_media_downloader

# Start directly with Python in development mode
python server.py

# Run after installing as a CLI command
bach_youtube_media_downloader

Cursor/Claude Desktop integration

Configure your MCP client targets in your Cursor MCP config or Claude Desktop config to expose this server to your applications.

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

Available tools

get_video_details_price_1_3

Fetches full details of a YouTube video, including video/audio URLs, thumbnails, subtitles, related videos, and playlists via GET /v2/video/details.

list_playlist_videos

Lists available videos in a YouTube playlist with pagination. Endpoints: GET /v2/playlist/videos.

get_playlist_details

Fetches details of a YouTube playlist via GET /v2/playlist/details.

list_items_with_next_token

Lists items with the ability to pass a long nextToken in the request body via POST /v2/misc/list-items.

list_hashtag_videos

Lists YouTube videos related to a hashtag with pagination via GET /v2/hashtag/videos.

list_channel_playlistsreleasespodcasts

Lists playlists/releases/podcasts of a channel via GET /v2/channel/playlists.

list_channel_videosshortslive

Lists channel videos, shorts, or live streams via GET /v2/channel/videos.

search_for_channels

Searches YouTube channels via GET /v2/search/channels with pagination.

search_for_videos_movies

Searches YouTube videos with filters via GET /v2/search/videos with pagination.

list_video_comments

Lists comments on a YouTube video via GET /v2/video/comments with pagination.

list_related_videos_and_playlists

Lists related videos and playlists via GET /v2/video/related with pagination.

search_for_playlists

Searches YouTube playlists via GET /v2/search/playlists with pagination.

list_autocomplete_suggestions

Lists autocomplete suggestions via GET /v2/search/suggestions.

list_post_comments

Lists comments of a YouTube community post via GET /v2/post/comments with pagination.

get_post_details

Fetches details of a YouTube community post via GET /v2/post/details.

search_for_channel_videos_and_playlists

Searches for videos and playlists in a YouTube Channel via GET /v2/channel/search with pagination.

list_channel_posts_pollvideoimage

Lists channel posts such as polls, videos, or images via GET /v2/channel/posts with pagination.

get_channel_details

Fetches details of a YouTube channel via GET /v2/channel/details.

translate_convert_download_subtitle

Translates, converts and downloads a subtitle via GET /v2/video/subtitles.