Skip to main content
Glama
easyhak

YouTube Search & Download MCP Server

by easyhak

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YT_MCP_LOG_LEVELNoLogging level (DEBUG, INFO, WARNING, ERROR)INFO
YT_MCP_DOWNLOAD_DIRNoDirectory where videos/audio will be saveddownloads
YT_MCP_DEFAULT_MAX_RESULTSNoNumber of search results to return by default10
YT_MCP_DEFAULT_VIDEO_QUALITYNoDefault video quality (best, high, medium, low)best

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_videosB

Search YouTube for videos matching a query.

get_video_infoA

Get detailed information about a specific YouTube video.

Args: video_id: YouTube video ID (11 characters, e.g., "dQw4w9WgXcQ") output_format: Output format - "json" or "markdown" (default: "json")

Returns: Detailed video information including description, tags, and statistics

Example: get_video_info("dQw4w9WgXcQ", output_format="markdown")

search_playlistsA

Search YouTube for playlists matching a query.

Args: query: Search query string (e.g., "python tutorial playlist") max_results: Maximum number of results to return (1-50, default: 10) output_format: Output format - "json" or "markdown" (default: "json")

Returns: Formatted search results with playlist metadata

Example: search_playlists("machine learning course", max_results=5, output_format="json")

get_playlist_infoA

Get detailed information about a specific YouTube playlist.

Args: playlist_id: YouTube playlist ID (e.g., "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf") output_format: Output format - "json" or "markdown" (default: "json")

Returns: Detailed playlist information including title, creator, video count, and description

Example: get_playlist_info("PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf", output_format="markdown")

get_playlist_videosB

Get list of videos from a YouTube playlist.

Args: playlist_id: YouTube playlist ID (e.g., "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf") max_results: Maximum number of videos to return (None for all videos, default: None) output_format: Output format - "json" or "markdown" (default: "json")

Returns: List of videos in the playlist with metadata

Example: get_playlist_videos("PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf", max_results=20)

download_videoA

Download a YouTube video with configurable quality.

Args: video_id: YouTube video ID (11 characters) quality: Quality preset - "best", "high" (1080p), "medium" (720p), "low" (480p) output_dir: Download directory path (uses config default if not specified) format: Output format - "mp4", "webm", "mkv" (default: "mp4")

Returns: JSON with download status, file path, file size, and metadata

Example: download_video("dQw4w9WgXcQ", quality="high", format="mp4")

download_audioA

Download audio only from a YouTube video.

Args: video_id: YouTube video ID (11 characters) quality: Audio quality preset - "best", "high" (320kbps), "medium" (192kbps), "low" (128kbps) output_dir: Download directory path (uses config default if not specified) format: Output format - "mp3", "m4a", "opus", "wav" (default: "mp3")

Returns: JSON with download status, file path, file size, and metadata

Example: download_audio("dQw4w9WgXcQ", quality="high", format="mp3")

validate_providerB

Validate that the YouTube search provider is working correctly.

Returns: JSON with validation status and provider information

Example: validate_provider()

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_current_configGet current server configuration. Returns: Formatted configuration information

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/easyhak/youtube-search-mcp'

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