Skip to main content
Glama
AgentX-ai

YouTube DLP MCP Server

by AgentX-ai

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

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 LICENSE file for details.


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

A
license - permissive license
-
quality - not tested
D
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/AgentX-ai/youtube-dlp-server'

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