YouTube DLP MCP Server
🎬 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 run 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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
🔗 Links
- Homepage: GitHub Repository
- Issues: [Report Issues](/issues)
- MCP Documentation: Model Context Protocol
Made with ❤️ for the AI community
Metadata
Release files for youtube-dlp-server 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| youtube_dlp_server-0.1.0.tar.gz | 24.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| youtube_dlp_server-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.8 kB
Release files / youtube_dlp_server-0.1.0.tar.gz
| Download URL | youtube_dlp_server-0.1.0.tar.gz |
|---|---|
| Size | 24.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
79fc03d1b4137dfa0d061e4c7b0b8ba3f254b372f9b1a6ed8bc0f75b79cb2295
|
|
BLAKE2b-256 checksum How to use checksums |
84e199d5e506c7a7e7ab5b92027d4a2a35d9ffc619ee27745095eb30471f68ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.11
|
Release files / youtube_dlp_server-0.1.0-py3-none-any.whl
| Download URL | youtube_dlp_server-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
30d3ffa417f1cd2d8b10d1cf40fb9cb0356d11cdc436eecbeda21a8e4c601daf
|
|
BLAKE2b-256 checksum How to use checksums |
015d3e8750ba349fcdf79114a8b2096f6a8e67bec5896f9de535cbb04b757639
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.11
|