youtube-dlp-server

YouTube DLP MCPサーバーは、AIがYouTube動画と対話できるようにするためのツールです。動画情報、字幕、コメントをダウンロードせずに抽出できる機能を提供します。非同期処理により、高速で効率的なデータ取得が可能です。

GitHubスター

2

ユーザー評価

未評価

お気に入り

0

閲覧数

6

フォーク

1

イシュー

0

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

🔗 Links

Made with ❤️ for the AI community