YouTube MCP Server

by coyaSONG
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows querying YouTube data, including searching for videos, retrieving video and channel information, and fetching video comments through the YouTube Data API.

YouTube MCP サーバー

YouTubeデータを操作するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、標準入出力インターフェースを介してYouTube動画、チャンネル、コメント、トランスクリプトをクエリするためのリソースとツールを提供します。

特徴

  • 高度なフィルタリングオプションを使用して YouTube 動画を検索する
  • 特定の動画やチャンネルに関する詳細情報を取得する
  • 複数の動画の統計情報を比較する
  • 地域やカテゴリー別にトレンド動画を探す
  • チャンネルのパフォーマンスと動画の統計を分析する
  • 動画のコメントとトランスクリプト/キャプションを取得する
  • ビデオ分析とトランスクリプトの要約を生成する

前提条件

  • Node.js (v16+)
  • YouTubeデータAPIキー

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の YouTube MCP サーバーを自動的にインストールするには:

npx -y @smithery/cli install @coyaSONG/youtube-mcp-server --client claude

手動でインストールする

  1. このリポジトリをクローンします:
    git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-server
  2. 依存関係をインストールします:
    npm install
  3. ルート ディレクトリに.envファイルを作成します。
    YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000

使用法

構築と実行

  1. プロジェクトをビルドします。
    npm run build
  2. サーバーを実行します。
    npm start
  3. 開発モードで実行:
    npm run dev
  4. クリーンビルド成果物:
    npm run clean

Docker デプロイメント

このプロジェクトには、コンテナ化されたデプロイメント用の Dockerfile が含まれています。

# Build the Docker image docker build -t youtube-mcp-server . # Run the container docker run -p 3000:3000 --env-file .env youtube-mcp-server

APIリファレンス

リソース

  • youtube://video/{videoId} - 特定の動画の詳細情報を取得します
  • youtube://channel/{channelId} - 特定のチャンネルに関する情報を取得します
  • youtube://transcript/{videoId} - 特定の動画のトランスクリプトを取得する
    • オプションのクエリパラメータ: ?language=LANGUAGE_CODE (例: enkoja )

ツール

基本ツール

  • search-videos - 高度なフィルタリングオプションを使用して YouTube 動画を検索します
  • get-video-comments - 特定の動画のコメントを取得する
  • get-video-transcript - 特定のビデオのトランスクリプトをオプションの言語で取得する
  • enhanced-transcript - フィルタリング、検索、マルチビデオ機能を備えた高度なトランスクリプト抽出
  • get-key-moments - 動画のトランスクリプトからタイムスタンプ付きの重要な瞬間を抽出し、ナビゲーションを容易にします
  • get-segmented-transcript - 分析を容易にするためにビデオのトランスクリプトをセグメントに分割します

統計ツール

  • get-video-stats - 特定の動画の統計情報を取得する
  • get-channel-stats - チャンネル登録者数、視聴回数、その他のチャンネル統計情報を取得します
  • compare-videos - 複数の動画の統計情報を比較する

発見ツール

  • get-trending-videos - 地域とカテゴリ別にトレンド動画を取得します
  • get-video-categories - 特定の地域で利用可能なビデオカテゴリを取得します

分析ツール

  • analyze-channel-videos - 特定のチャンネルの動画のパフォーマンス傾向を分析する

プロンプト

  • video-analysis - YouTube ビデオの分析を生成します
  • transcript-summary - カスタマイズ可能な長さとキーワード抽出を使用して、トランスクリプトに基づいてビデオの要約を生成します
  • segment-by-segment-analysis - ビデオの各セグメントを分析して、コンテンツの詳細な内訳を提供します

ビデオトランスクリプトへのアクセス

youtube://transcript/dQw4w9WgXcQ

特定の言語でのトランスクリプトの取得

youtube://transcript/dQw4w9WgXcQ?language=en

統計ツールの使用

// Get video statistics { "type": "tool", "name": "get-video-stats", "parameters": { "videoId": "dQw4w9WgXcQ" } } // Compare multiple videos { "type": "tool", "name": "compare-videos", "parameters": { "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"] } }

トランスクリプト概要プロンプトの使用

{ "type": "prompt", "name": "transcript-summary", "parameters": { "videoId": "dQw4w9WgXcQ", "language": "en" } }

拡張トランスクリプトツールの使用

// Basic multi-video transcript extraction { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"], "format": "timestamped" } } // With search and time filtering { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ"], "filters": { "timeRange": { "start": 60, // Start at 60 seconds "end": 180 // End at 180 seconds }, "search": { "query": "never gonna", "contextLines": 2 } }, "format": "merged" } } // With smart segmentation for easier analysis { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ"], "filters": { "segment": { "count": 5, "method": "smart" // Breaks at natural pauses } }, "format": "timestamped", "language": "en" } }

強化されたトランスクリプト分析機能の使用

// Get key moments from a video { "type": "tool", "name": "get-key-moments", "parameters": { "videoId": "dQw4w9WgXcQ", "maxMoments": "5" } } // Get a segmented transcript { "type": "tool", "name": "get-segmented-transcript", "parameters": { "videoId": "dQw4w9WgXcQ", "segmentCount": "4" } } // Get a segment-by-segment analysis { "type": "prompt", "name": "segment-by-segment-analysis", "parameters": { "videoId": "dQw4w9WgXcQ", "segmentCount": "4" } } // Get customized transcript summary { "type": "prompt", "name": "transcript-summary", "parameters": { "videoId": "dQw4w9WgXcQ", "language": "en", "summaryLength": "detailed", "includeKeywords": "true" } }

エラー処理

サーバーは、次のようなさまざまなエラー状態を処理します。

  • 無効なAPIキー
  • ビデオまたはチャンネルが見つかりません
  • トランスクリプトは利用できません
  • ネットワークの問題

ライセンス

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

謝辞

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

モデル コンテキスト プロトコルを介して YouTube データとのやり取りを可能にするサーバー。ユーザーは動画を検索したり、動画/チャンネルの詳細情報を取得したり、コメントを取得したりできます。

  1. Features
    1. Prerequisites
      1. Installation
        1. Installing via Smithery
        2. Installing Manually
      2. Usage
        1. Building and Running
      3. Docker Deployment
        1. API Reference
          1. Resources
          2. Tools
          3. Prompts
        2. Examples
          1. Accessing a Video Transcript
          2. Getting a Transcript in a Specific Language
          3. Using the Statistical Tools
          4. Using the Transcript Summary Prompt
          5. Using the Enhanced Transcript Tool
          6. Using the Enhanced Transcript Analysis Features
        3. Error Handling
          1. License
            1. Acknowledgements
              ID: nuyw49oscd