YouTube Search & Download MCP Server

Search, retrieve metadata, and download YouTube videos without an API key.

README.md

YouTube Search & Download MCP Server

<strong>YouTube API 키 없이 동영상을 검색하고 다운로드하는 MCP 서버</strong>

Bug Report
·
Feature Request










<strong>English</strong>
·
<strong>한국어</strong>

🚀 What is YouTube Search MCP?

This is a production-quality Model Context Protocol (MCP) server that allows you to search, get information about, and download YouTube videos and audio without needing a YouTube API key. It's designed to work seamlessly with MCP clients like Claude Desktop and Cursor.

The server is built with / for robust backend operations and FastMCP for a high-performance server framework.

✨ Key Features

  • No API Key Required: Search and download freely using yt-dlp.
  • Easy Installation: Simple setup with uv or pip. Works seamlessly with MCP clients.
  • Video & Audio Downloads: Download content in various formats (mp4, mkv, mp3, wav, etc.) and qualities.
  • Playlist Support: Search for playlists, get playlist details, and retrieve all videos from any playlist.
  • Rich Metadata: Get detailed video information, including duration, view count, and chapters.
  • Client Compatibility: Works great with Claude, Cursor, and other MCP-compliant clients.
  • Robust & Type-Safe: Built on a SOLID architecture with full type safety using Pydantic.

🏁 Getting Started (For Users)

Prerequisites

  • Python 3.10 or higher
  • uv (recommended) or pip
  • FFmpeg (must be installed and available in your system's PATH)
    • Windows: choco install ffmpeg (with Chocolatey) or download from gyan.dev/ffmpeg
    • macOS: brew install ffmpeg
    • Linux: sudo apt install ffmpeg (Ubuntu/Debian) or sudo dnf install ffmpeg (Fedora)

Installation

Install the package using uv (recommended) or pip:

# Using uv (recommended)
uv pip install youtube-search-mcp

# Or using pip
pip install youtube-search-mcp

Running the Server

After installation, you can run the server directly:

youtube-search-mcp

💻 Client Configuration

Configure your MCP client to connect to the server.

For Claude Desktop or Cursor:

Add this to your MCP client configuration (usually claude_desktop_config.json):

{
  "mcpServers": {
    "youtube-search": {
      "command": "youtube-search-mcp"
    }
  }
}

Or if using uvx (no installation required):

{
  "mcpServers": {
    "youtube-search": {
      "command": "uvx",
      "args": ["youtube-search-mcp"]
    }
  }
}

🔧 Configuration

You can customize the server's behavior by setting environment variables. These can be added to your MCP client configuration (e.g., claude_desktop_config.json) or set via a .env file in the project root.

Variable Description Default
YT_MCP_DOWNLOAD_DIR Directory where videos/audio will be saved downloads
YT_MCP_DEFAULT_VIDEO_QUALITY Default video quality (best, high, medium, low) best
YT_MCP_DEFAULT_MAX_RESULTS Number of search results to return by default 10
YT_MCP_LOG_LEVEL Logging level (DEBUG, INFO, WARNING, ERROR) INFO

🛠️ For Developers & Contributors

Interested in contributing? Here’s how to set up your development environment.

Prerequisites

  • Git
  • Python 3.10+
  • uv (recommended) or pip
  • FFmpeg (must be installed and available in your system's PATH for development)
    • Windows: choco install ffmpeg (with Chocolatey) or download from gyan.dev/ffmpeg
    • macOS: brew install ffmpeg
    • Linux: sudo apt install ffmpeg (Ubu

Tools 4

search_videosSearch for YouTube videos based on a query.
get_video_infoRetrieve detailed metadata for a specific YouTube video.
download_videoDownload a YouTube video or audio in specified format.
get_playlist_infoRetrieve details and video list from a YouTube playlist.

Environment Variables

YT_MCP_DOWNLOAD_DIRDirectory where videos/audio will be saved
YT_MCP_DEFAULT_VIDEO_QUALITYDefault video quality (best, high, medium, low)
YT_MCP_DEFAULT_MAX_RESULTSNumber of search results to return by default
YT_MCP_LOG_LEVELLogging level (DEBUG, INFO, WARNING, ERROR)

Try it

Search for recent tutorials on Python programming on YouTube.
Get the metadata and duration for this video: [URL].
Download the audio from this YouTube video: [URL].
List all the videos contained in this YouTube playlist: [URL].

Frequently Asked Questions

What are the key features of YouTube Search & Download?

No YouTube API key required for operation. Supports video and audio downloads in multiple formats. Full playlist management and retrieval. Provides rich metadata including chapters and view counts. Built on a type-safe architecture using Pydantic.

What can I use YouTube Search & Download for?

Archiving educational video content for offline study. Extracting audio from long-form podcasts or lectures. Automating the collection of video metadata for research. Building custom media libraries from YouTube playlists.

How do I install YouTube Search & Download?

Install YouTube Search & Download by running: uv pip install youtube-search-mcp

What MCP clients work with YouTube Search & Download?

YouTube Search & Download works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep YouTube Search & Download docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare