mcpField
Y
YouTube MCP Server

YouTube MCP Server

ローカル
github.com/Tisik79メディア・デザイン085 週間前に更新

YouTube MCP Server について

YouTube MCP Serverは、接続した複数のデバイスでYouTube再生を連携させます。複数のクライアントから動画を検索・操作したいユーザー向けで、再生状態をリアルタイムに共有します。

主な機能

  1. 01YouTube動画の検索
  2. 02再生・一時停止・停止・シーク
  3. 03音量調整とミュート
  4. 04クライアント間の再生同期
  5. 05プレーヤー状態のリアルタイム共有

活用シーン

  1. 01複数デバイスからの再生操作
  2. 02インターフェースで動画を検索して再生
  3. 03接続クライアント間で再生状態を同期

MCP 対応

MCPクライアントにYouTubeの検索と再生操作を提供し、接続クライアント間で操作とプレーヤー状態を共有します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

YouTube MCP サーバー

複数のデバイスで YouTube の再生を操作できる、YouTube 連携用のメディア制御プロトコル(MCP)サーバーです。

機能

  • どのデバイスからでも YouTube 動画を再生、一時停止、操作できます
  • 複数のクライアント間で再生を同期できます
  • インターフェースから YouTube 動画を直接検索できます
  • 音量と再生位置を操作できます
  • WebSocket を使用したリアルタイム更新
  • シンプルで直感的なユーザーインターフェース

インストール

  1. このリポジトリをクローンします:

    git clone https://github.com/Tisik79/youtube-mcp-server.git
    cd youtube-mcp-server
    
  2. 依存関係をインストールします:

    npm install
    
  3. .env.example テンプレートを基に .env ファイルを作成します:

    cp .env.example .env
    
  4. .env ファイルを編集し、YouTube API キーを追加します:

    YOUTUBE_API_KEY=your_youtube_api_key_here
    

    YouTube API キーは Google Cloud Console から取得できます:

    • 新しいプロジェクトを作成します
    • YouTube Data API v3 を有効にします
    • API 認証情報(API Key)を作成します

使用方法

  1. サーバーを起動します:

    npm start
    
  2. 自動再起動を有効にして開発する場合:

    npm run dev
    
  3. ブラウザーを開き、次の場所にアクセスします:

    http://localhost:3000
    

仕組み

YouTube MCP サーバーは、複数のデバイスにおける YouTube 再生の中央制御ポイントを提供します。次の技術を使用しています。

  • HTTP サーバーと API エンドポイントには Express.js
  • クライアント間のリアルタイム通信には Socket.io
  • 動画の検索と動画情報の取得には YouTube Data API
  • 動画再生の操作には YouTube IFrame API

クライアントがサーバーに接続すると、次のことができます。

  1. 検索機能を使って動画を検索する
  2. デバイスで動画を再生する
  3. 再生を操作する(再生、一時停止、シーク、音量)
  4. すべてのコマンドが、ほかの接続済みクライアントにブロードキャストされる
  5. クライアントは現在の再生状態と同期できる

API エンドポイント

  • GET /api/video/:videoId - 動画情報を取得します
  • GET /api/search?q=query - YouTube 動画を検索します
  • GET /api/clients - 接続済みクライアントの一覧を取得します

WebSocket イベント

クライアントからサーバー
  • play - 動画を再生します
  • pause - 現在の動画を一時停止します
  • stop - 再生を停止します
  • seek - 指定した位置にシークします
  • volume - 音量を変更します
  • mute - 音声をミュート/ミュート解除します
  • updateTimestamp - 現在の再生位置を更新します
サーバーからクライアント
  • playerStateUpdate - プレーヤーの状態更新をすべてのクライアントにブロードキャストします

プロジェクト構成

youtube-mcp-server/
├── public/               # Client-side files
│   ├── index.html        # Main HTML file
│   ├── app.js            # Client-side JavaScript
│   └── styles.css        # CSS styles
├── server.js             # Main server file
├── package.json          # Dependencies and scripts
└── .env                  # Environment variables (create from .env.example)

要件

  • Node.js(v14 以降)
  • npm(v6 以降)
  • YouTube Data API キー

カスタマイズ

次の方法でサーバーをカスタマイズできます。

  1. public ディレクトリ内の UI を変更する
  2. server.js に API エンドポイントを追加する
  3. Socket.io のイベントハンドラーを拡張して機能を追加する

トラブルシューティング

よくある問題:

  • API キーエラー:YouTube API キーが .env ファイルに正しく設定されていることを確認してください
  • 接続の問題:ファイアウォールで指定されたポートへの接続が許可されていることを確認してください
  • 動画再生の問題:所有者によって埋め込みが無効にされている動画があります

ライセンス

このプロジェクトは MIT License のライセンスの下で提供されています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。