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

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
}
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