YouTube MCP Server について
YouTube MCP Serverは、動画のメタデータ取得、字幕抽出、Markdown変換を行うMCPサーバーです。動画コンテンツを扱うクライアントやエージェント向けに、複数の出力テンプレートと字幕検索を提供します。
主な機能
- 01YouTube動画のメタデータ取得
- 02自動生成字幕と手動字幕の抽出
- 03英語・フランス語の字幕に対応
- 043種類のテンプレートでMarkdown変換
- 05動画字幕内の検索
活用シーン
- 01閲覧や確認のために字幕を抽出
- 02タイムスタンプ付きの動画メモをMarkdownで作成
- 03字幕内のキーワードと周辺情報を検索
MCP 対応
動画情報の取得、字幕抽出、Markdown変換、テンプレート一覧のMCPツールを提供します。APIキーまたはOAuth2で認証できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
YouTube MCP サーバー
YouTube 動画を操作するための Model Context Protocol(MCP)サーバーです。このサーバーは、動画メタデータや字幕の抽出、およびさまざまなテンプレートを使った Markdown 形式への変換を行うツールを提供します。
特長
- 動画メタデータ:動画の包括的な情報を取得します
- 字幕の抽出:自動生成字幕と手動字幕に対応しています
- 複数の言語:英語とフランス語を標準でサポートしています
- テンプレートシステム:組み込みの Markdown テンプレートが 3 種類あります:
- Basic:シンプルな文字起こし形式
- Detailed:タイムスタンプ付きの完全なメタデータ
- Search:コンテキストを含む検索結果のハイライト表示
- 検索機能:動画の字幕内を検索します
- 柔軟な認証:API キーと OAuth2 認証の両方に対応しています
前提条件
- Node.js(v16 以降)
- npm または yarn
- YouTube Data API キーおよび/または OAuth2 認証情報
インストール
- リポジトリをクローンします:
git clone [repository-url]
cd youtube-mcp
- 依存関係をインストールします:
npm install
- プロジェクトをビルドします:
npm run build
設定
ルートディレクトリに .env ファイルを作成し、YouTube の認証情報を設定します:
YOUTUBE_API_KEY=your_api_key
YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_CLIENT_SECRET=your_client_secret
YOUTUBE_REFRESH_TOKEN=your_refresh_token # Optional, for OAuth2
MCP の設定
MCP 設定ファイル(通常は ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json)にサーバーを追加します:
{
"mcpServers": {
"youtube": {
"command": "node",
"args": ["path/to/youtube-mcp/build/index.js"],
"env": {
"YOUTUBE_API_KEY": "your_api_key",
"YOUTUBE_CLIENT_ID": "your_client_id",
"YOUTUBE_CLIENT_SECRET": "your_client_secret"
},
"disabled": false,
"alwaysAllow": []
}
}
}
使い方
サーバーは次のツールを提供します:
1. 動画情報の取得
use_mcp_tool youtube get_video_info {
"url": "https://www.youtube.com/watch?v=VIDEO_ID"
}
2. 字幕の取得
use_mcp_tool youtube get_captions {
"url": "https://www.youtube.com/watch?v=VIDEO_ID",
"language": "en" // Optional, defaults to "en"
}
3. Markdown への変換
use_mcp_tool youtube convert_to_markdown {
"url": "https://www.youtube.com/watch?v=VIDEO_ID",
"template_name": "detailed", // Optional, "basic", "detailed", or "search"
"language": "en", // Optional
"options": { // Optional
"include_chapters": true,
"search_term": "keyword" // Only for search template
}
}
4. テンプレートの一覧表示
use_mcp_tool youtube list_templates
依存関係
{
"dependencies": {
"@modelcontextprotocol/sdk": "latest",
"googleapis": "^146.0.0",
"google-auth-library": "^9.0.0",
"youtube-captions-scraper": "^2.0.0",
"express": "^4.18.2",
"open": "^9.1.0"
},
"devDependencies": {
"@types/node": "^20.0.0",
"typescript": "^5.0.0",
"tsx": "^4.0.0"
}
}
OAuth2 の設定
OAuth2 認証(非公開動画へのアクセスに必要)を設定するには:
- Google Cloud Console でプロジェクトを作成します
- YouTube Data API v3 を有効にします
- OAuth2 認証情報を作成します(ウェブアプリケーションタイプ)
- 認証スクリプトを実行します:
node src/get-api-key.js
- ブラウザーの案内に従ってアプリケーションを認証します
- リフレッシュトークンを設定にコピーします
テンプレートのカスタマイズ
src/index.ts の DEFAULT_TEMPLATES 配列を変更して、カスタムテンプレートを追加できます。テンプレートは次の構造に従います:
interface MarkdownTemplate {
name: string;
description: string;
format: {
header?: string;
chapter_format?: string;
caption_block: string;
timestamp_format?: string;
search_result_format?: string;
}
}
ライセンス
MIT
貢献
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - Pull Request を作成します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。