youtube-dlp-server

AgentX-ai/youtube-dlp-server

3.3

If you are the rightful owner of youtube-dlp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server that enables AI to interact with YouTube videos, extracting video information, subtitles, and top comments without downloading.

Tools
3
Resources
0
Prompts
0

YouTube DLP MCP Server

Website Discord

๐ŸŽฌ A Model Context Protocol (MCP) server that lets your AI interact with YouTube videos - extract video information, subtitles, and top comments without downloading.

โœจ Features

  • ๐Ÿ“น Extract Video Info - Get comprehensive metadata (title, views, likes, description, etc.)
  • ๐Ÿ“ Extract Subtitles - Download manual subtitles and auto-generated captions
  • ๐Ÿ’ฌ Extract Comments - Get top comments sorted by likes with creator badges
  • ๐ŸŒ Proxy Support - Works with HTTP/HTTPS/SOCKS proxies
  • ๐Ÿš€ Fast & Async - Non-blocking operations using asyncio
  • ๐Ÿ”ง Easy Integration - Standard MCP protocol for AI assistants

๐Ÿš€ Quick Start

Install with uvx (Recommended)

uvx youtube-dlp-server

Install with pip

pip install youtube-dlp-server
youtube-dlp-server

Install from source

git clone <repository-url>
cd youtube-dlp-server
pip install -e .
python -m youtube_dlp_server

๐Ÿ› ๏ธ Usage

Available Tools

1. get-video-info

Extract comprehensive video metadata:

{
  "name": "get-video-info",
  "arguments": {
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  }
}
2. get-video-subtitles

Extract subtitles and captions:

{
  "name": "get-video-subtitles",
  "arguments": {
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "languages": ["en", "es"],
    "include_auto_captions": true
  }
}
3. get-top-comments

Get top comments (max 20, default 10):

{
  "name": "get-top-comments",
  "arguments": {
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "count": 10
  }
}

Proxy Configuration

Set the PROXY_URL environment variable:

# HTTP/HTTPS proxy
export PROXY_URL="http://proxy.example.com:8080"

# SOCKS proxy with auth
export PROXY_URL="socks5://user:pass@127.0.0.1:1080/"

# Run with proxy
youtube-dlp-server

๐Ÿงช Testing

With MCP Inspector

npx @modelcontextprotocol/inspector youtube-dlp-server

Manual Testing

python -c "
import asyncio
from youtube_dlp_server.helper import extract_video_info
async def test():
    info = await extract_video_info('https://www.youtube.com/watch?v=dQw4w9WgXcQ')
    print(f'โœ… Video: {info[\"title\"]}')
asyncio.run(test())
"

๐Ÿ“‹ Requirements

  • Python 3.11+
  • yt-dlp for YouTube processing
  • MCP framework for AI integration

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

๐Ÿ“„ License

MIT License - see file for details.

๐Ÿ”— Links


Made with โค๏ธ for the AI community