Skip to main content
Logo

YouTube Search & Download MCP Server

YouTube API 키 없이 동영상을 검색하고 다운로드하는 MCP 서버
Bug Report · Feature Request

License Release Code style: black Ruff

English · 한국어


🚀 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 (Ubuntu/Debian) or sudo dnf install ffmpeg (Fedora)

Setup

  1. Clone the Repository

    git clone https://github.com/JIHAK-dev/youtube-search-mcp.git
    cd youtube-search-mcp
    
  2. Install Dependencies Using uv (recommended):

    uv sync
    

    Using pip:

    python -m venv .venv
    # Activate the virtual environment
    # Windows: .venv\Scripts\activate
    # macOS/Linux: source .venv/bin/activate
    pip install -e ".[dev]"
    
  3. Run the Server Using uv:

    uv run python -m youtube_search_mcp.main
    

    Or with activated virtual environment:

    python -m youtube_search_mcp.main
    

Code Quality & Testing

  • Format Code: uv run black .
  • Lint Code: uv run ruff check .
  • Type Check: uv run mypy .
  • Run Tests: uv run pytest

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please refer to the Contributing Guidelines for more details.

📜 License

Distributed under the MIT License. See LICENSE for more information.

Metadata

Release files for youtube-search-mcp 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for youtube-search-mcp 1.0.3
File Size Uploaded Provenance Actions
youtube_search_mcp-1.0.3.tar.gz 3.6 MB Without provenance Details for youtube_search_mcp-1.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for youtube-search-mcp 1.0.3
File Interpreter ABI Platform Actions
youtube_search_mcp-1.0.3-py3-none-any.whl Python 3 none any Details for youtube_search_mcp-1.0.3-py3-none-any.whl

Total release size: 3.7 MB

Release files / youtube_search_mcp-1.0.3.tar.gz

Download URL youtube_search_mcp-1.0.3.tar.gz
Size 3.6 MB
Tags Source
SHA-256 checksum
How to use checksums
657506c7ca611ac29fb6b745309d302cb1587daf3d4408f7c0d6a453e9f656a8
BLAKE2b-256 checksum
How to use checksums
ed1857e73333135eb32f5c10d9afbd756da2ce173007ba7afe6d7564102093ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.8

Release files / youtube_search_mcp-1.0.3-py3-none-any.whl

Download URL youtube_search_mcp-1.0.3-py3-none-any.whl
Size 41.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12770f3d663a948f0e24207038d46f09363ac777c6973061d1467e93ddc4c5bd
BLAKE2b-256 checksum
How to use checksums
01ba0c04f92d6271164a85bd81192a9e0c5e842a3b32640cf039cba22777268a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.8

Security for youtube-search-mcp 1.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page