edutube-mcp
Edutube MCP
🌐 プロジェクトサイト(GitHub Pages): https://engmohammeda.github.io/edutube-mcp/ — 実際に抽出されたレッスンのライブエクスプローラーを含みます。
YouTube のプレイリストと動画を、構造化されたレッスン、分析、フレーム、クイズに変換します — Google Gemini と自動モデルローテーション対応。
AI エージェントと LMS パイプラインのための MCP stdio サーバー + CLI。プレイリストの URL を貼り付けるだけで、レッスンごとの JSON を取得できます: アラビア語翻訳付きの逐語対話、重要表現、語彙、文化的/発音ノート、10 問のクイズ — キャプションだけでなく、実際の音声と映像から抽出されます。
playlist URL ──▶ Edutube ──▶ lesson-01.json … lesson-NN.json + lessons-all.json機能
URL によるプレイリストインポート — YouTube のプレイリスト URL(またはプレイリスト ID、単一動画 URL)を貼り付けるだけ。
YOUTUBE_API_KEYが設定されている場合は YouTube Data API 経由でエントリを解決し、それ以外の場合はyt-dlp --flat-playlistで自動的に解決します(追加キー不要)。構造化レッスン抽出 — 組み込みの LMS スキーマ(dialogue / key_expressions / global_vocabulary / lesson_notes / quiz)と、独自フォーマット用のカスタムスキーマオプションを備えています。
ウィンドウフォールバック付き長尺動画パイプライン — まず全動画パスを試行。失敗した場合(クォータ、期限、非常に長い VOD など)は、自動的に 150 秒ウィンドウ抽出に切り替え、マージと重複排除を行います。
自動モデルローテーション — 各 Gemini モデルには独自の無料枠クォータプールがあります。
429 RESOURCE_EXHAUSTEDが発生すると、同じリクエストが透過的に次の利用可能なモデルで再試行されます。モデルカタログは Gemini API からライブで検出されるため、新しいモデル(例:gemini-3.6-flash、gemini-3.7-*)はコード変更なしでローテーションに参加します。マルチモーダル分析ツール —
analyze_youtube_video(音声 + 映像)、analyze_youtube_video_audio(音声優先)、yt-dlp+ffmpegによる正確な JPEG フレーム抽出、YouTube Data API によるメタデータ。長尺 VOD とセッション — タスクベースの
analyze_long_youtube_video、再利用可能なsessionIdフォローアップ、互換性のあるバックグラウンドジョブ(start_long_youtube_analysis→ ポーリング → 結果 → キャンセル)。再開セーフなバッチ — 有効なレッスンファイルはスキップされ、中断された実行は中断箇所から続行されます。
CLI モード —
edutube-mcp extract <url>は MCP クライアントなしで動作します。
Related MCP server: YT-NINJA
要件
Node.js ≥ 20
Google Gemini API キー(
GEMINI_API_KEY)任意:
YOUTUBE_API_KEY(メタデータツール + 高速プレイリストインポート)任意だが推奨: PATH 上の
yt-dlpとffmpeg(またはYT_DLP_PATH)
クイックスタート(MCP クライアント)
{
"mcpServers": {
"edutube": {
"command": "npx",
"args": ["-y", "@engmohammeda/edutube-mcp"],
"env": {
"GEMINI_API_KEY": "your_gemini_key_here",
"YOUTUBE_API_KEY": "optional_youtube_key_here"
}
}
}
}ソースから:
git clone https://github.com/engmohammeda/edutube-mcp.git
cd edutube-mcp
npm install && npm run build
cp .env.example .env # fill GEMINI_API_KEY
npm start # MCP stdio serverクイックスタート(CLI)
# extract a whole playlist into ./edutube-output
edutube-mcp extract "https://www.youtube.com/playlist?list=PL..." --out ./edutube-output --max 20
# or a single video
edutube-mcp extract "https://www.youtube.com/watch?v=VIDEO_ID" --out ./lessons標準出力はクリーンな JSON です(進行状況は stderr に出力されるため、スクリプトや LMS インポーターに直接パイプできます)。
ツール(15)
ツール | 目的 |
| プレイリスト/動画 URL を貼り付け → |
| edutube ジョブのポーリング、取得、キャンセル |
| マルチモーダル分析(音声 + 映像)、カスタムプロンプトと JSON スキーマ、クリップウィンドウ |
| 文字起こしセグメント付きの音声優先分析 |
| タイムスタンプでの正確な高解像度 JPEG フレーム(任意の Gemini タイムスタンプ精緻化) |
| YouTube Data API による正規化されたメタデータ |
| ローカルの yt-dlp/ffmpeg/temp サポートを検査 |
| 長尺 VOD を MCP タスクとして処理。再利用可能な |
| キャッシュされたセッションに対するフォローアップ質問 |
| 固定タイムアウトのクライアント向け互換性ジョブワークフロー |
設定
変数 | 目的 |
| 必須 |
| 任意(Data API 経由のメタデータ + プレイリスト) |
| 優先モデル(デフォルト |
| 任意の明示的なローテーション順序(カンマ区切り) |
| デフォルトのレッスン出力ディレクトリ |
| 明示的な yt-dlp 実行可能ファイル |
クライアント統合
Claude Code
claude mcp add edutube --transport stdio -- node /path/to/edutube-mcp/dist/index.jsCursor(~/.cursor/mcp.json)
{
"mcpServers": {
"edutube": {
"command": "node",
"args": ["/path/to/edutube-mcp/dist/index.js"],
"env": { "GEMINI_API_KEY": "..." }
}
}
}Codex(~/.codex/config.toml)
[mcp_servers.edutube]
command = "node"
args = ["/path/to/edutube-mcp/dist/index.js"]
env = { GEMINI_API_KEY = "..." }ドキュメント
プライバシーと制限
メディア、URL、プロンプトは Google Gemini に送信されます。無料枠キーにはモデルごとに少量の日次クォータがあります(約 20 リクエスト/日/モデル)。自動ローテーションにより、キー上のすべてのモデルに作業が分散されます。本番バッチには有料(従量課金)キーを使用してください。非公開、年齢制限付き、DRM、または地域制限付きの動画は失敗する可能性があります。YouTube と Gemini の利用規約を遵守する責任はあなたにあります。
ライセンス
MIT — LICENSE を参照してください。
日本語
Edutube MCP — YouTube のプレイリストと動画を、LMS にインポート可能な構造化レッスンに変換します: アラビア語翻訳付きの完全な対話、キー表現、必須例文付きの語彙、文化的/発音ノート(アラビア語)、複数タイプの 10 問クイズ — テキストキャプションだけでなく、実際の音声と映像から抽出されます。
主な機能:
リンクを貼り付けるだけでプレイリストをインポート —
start_edutube_extractionツール(または CLI コマンドedutube-mcp extract)を使用し、完了済みレッスンをスキップする自動再開機能付き。Gemini モデル間の自動ローテーション: モデルのクォータが尽きると(429)、リクエストは自動的に次のモデルで再試行され、キーで利用可能な新しいモデルを動的に検出します。
長尺動画パス + 失敗時の 150 秒ウィンドウ代替、マージと重複排除。
マルチモーダル分析、正確な JPEG フレーム抽出、メタデータ、固定タイムアウトのクライアント向けバックグラウンド機能を含む 15 の MCP ツール。
クイックスタート: .env.example を .env にコピーして GEMINI_API_KEY を設定し、npm install && npm run build && npm start を実行するか、CLI を直接使用します。詳細と Claude Code、Cursor、Codex との連携については、上記のドキュメントを参照してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceTransforms YouTube into a queryable knowledge source with search, video details, transcript analysis, and AI-powered tools for summaries, learning paths, and knowledge graphs. Features quota-aware API access with caching and optional OpenAI/Anthropic integration for advanced content analysis.105901MIT
- FlicenseBqualityDmaintenanceEnables AI-powered YouTube video analysis including transcript management, video summaries, chapter generation, keyword extraction, and playback control. Supports searching videos, retrieving channel/playlist information, and translating transcripts using Google Gemini AI.14
- FlicenseAqualityCmaintenanceEnables analysis of YouTube videos using the Gemini API to generate summaries and answer specific questions via direct URLs. It supports standard videos and shorts, allowing users to interact with video content without requiring manual downloads.54
- AlicenseAqualityBmaintenanceAnalyzes YouTube videos using Google's Gemini API, allowing users to get summaries or ask questions about video content via direct URL input.5202MIT
Related MCP Connectors
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
AI-powered YouTube to flashcards with spaced repetition and Anki export
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/engmohammeda/edutube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server