YouTube MCP Server

YouTube MCP サーバー

YouTube動画を操作するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、動画のメタデータやキャプションを抽出し、様々なテンプレートを使用してマークダウン形式に変換するためのツールを提供します。

特徴

  • ビデオメタデータ: 包括的なビデオ情報を取得します
  • キャプション抽出:自動生成および手動キャプションのサポート
  • 複数の言語:英語とフランス語のサポートが組み込まれています
  • テンプレート システム: 3 つの組み込みマークダウン テンプレート:
    • 基本: シンプルなトランスクリプト形式
    • 詳細: タイムスタンプ付きの完全なメタデータ
    • 検索: コンテキストに応じた結果の強調表示
  • 検索機能: 動画のキャプション内を検索
  • 柔軟な認証: APIキーとOAuth2認証の両方をサポート

前提条件

  • Node.js (v16 以上)
  • npmまたはyarn
  • YouTube Data API キーおよび/または OAuth2 認証情報

インストール

  1. リポジトリをクローンします。
git clone [repository-url] cd youtube-mcp
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします。
npm run build

構成

YouTube の認証情報を使用して、ルート ディレクトリに.envファイルを作成します。

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 認証の場合(プライベート ビデオ アクセスに必要):

  1. Google Cloud Consoleでプロジェクトを作成する
  2. YouTube Data API v3 を有効にする
  3. OAuth2 認証情報を作成する (Web アプリケーション タイプ)
  4. 認証スクリプトを実行します。
node src/get-api-key.js
  1. ブラウザの指示に従ってアプリケーションを承認します
  2. リフレッシュトークンを構成にコピーします

テンプレートのカスタマイズ

src/index.tsDEFAULT_TEMPLATES配列を変更することで、カスタムテンプレートを追加できます。テンプレートは以下の構造に従います。

interface MarkdownTemplate { name: string; description: string; format: { header?: string; chapter_format?: string; caption_block: string; timestamp_format?: string; search_result_format?: string; } }

ライセンス

マサチューセッツ工科大学

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く
-
security - not tested
-
license - not tested
-
quality - not tested

メタデータや複数言語のキャプションを抽出し、さまざまなテンプレートを使用してコンテンツをマークダウンに変換することで、YouTube 動画とのやり取りを可能にします。

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. MCP Configuration
            1. Usage
              1. 1. Get Video Info
              2. 2. Get Captions
              3. 3. Convert to Markdown
              4. 4. List Templates
            2. Dependencies
              1. OAuth2 Setup
                1. Customizing Templates
                  1. License
                    1. Contributing
                      ID: k6x6vemnys