YouTube MCP Server について
YouTube MCP Serverは、接続した複数のデバイスでYouTube再生を連携させます。複数のクライアントから動画を検索・操作したいユーザー向けで、再生状態をリアルタイムに共有します。
主な機能
- 01YouTube動画の検索
- 02再生・一時停止・停止・シーク
- 03音量調整とミュート
- 04クライアント間の再生同期
- 05プレーヤー状態のリアルタイム共有
活用シーン
- 01複数デバイスからの再生操作
- 02インターフェースで動画を検索して再生
- 03接続クライアント間で再生状態を同期
MCP 対応
MCPクライアントにYouTubeの検索と再生操作を提供し、接続クライアント間で操作とプレーヤー状態を共有します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
YouTube MCP サーバー
複数のデバイスで YouTube の再生を操作できる、YouTube 連携用のメディア制御プロトコル(MCP)サーバーです。
機能
- どのデバイスからでも YouTube 動画を再生、一時停止、操作できます
- 複数のクライアント間で再生を同期できます
- インターフェースから YouTube 動画を直接検索できます
- 音量と再生位置を操作できます
- WebSocket を使用したリアルタイム更新
- シンプルで直感的なユーザーインターフェース
インストール
-
このリポジトリをクローンします:
git clone https://github.com/Tisik79/youtube-mcp-server.git cd youtube-mcp-server -
依存関係をインストールします:
npm install -
.env.exampleテンプレートを基に.envファイルを作成します:cp .env.example .env -
.envファイルを編集し、YouTube API キーを追加します:YOUTUBE_API_KEY=your_youtube_api_key_hereYouTube API キーは Google Cloud Console から取得できます:
- 新しいプロジェクトを作成します
- YouTube Data API v3 を有効にします
- API 認証情報(API Key)を作成します
使用方法
-
サーバーを起動します:
npm start -
自動再起動を有効にして開発する場合:
npm run dev -
ブラウザーを開き、次の場所にアクセスします:
http://localhost:3000
仕組み
YouTube MCP サーバーは、複数のデバイスにおける YouTube 再生の中央制御ポイントを提供します。次の技術を使用しています。
- HTTP サーバーと API エンドポイントには Express.js
- クライアント間のリアルタイム通信には Socket.io
- 動画の検索と動画情報の取得には YouTube Data API
- 動画再生の操作には YouTube IFrame API
クライアントがサーバーに接続すると、次のことができます。
- 検索機能を使って動画を検索する
- デバイスで動画を再生する
- 再生を操作する(再生、一時停止、シーク、音量)
- すべてのコマンドが、ほかの接続済みクライアントにブロードキャストされる
- クライアントは現在の再生状態と同期できる
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 キー
カスタマイズ
次の方法でサーバーをカスタマイズできます。
publicディレクトリ内の UI を変更するserver.jsに API エンドポイントを追加する- Socket.io のイベントハンドラーを拡張して機能を追加する
トラブルシューティング
よくある問題:
- API キーエラー:YouTube API キーが
.envファイルに正しく設定されていることを確認してください - 接続の問題:ファイアウォールで指定されたポートへの接続が許可されていることを確認してください
- 動画再生の問題:所有者によって埋め込みが無効にされている動画があります
ライセンス
このプロジェクトは MIT License のライセンスの下で提供されています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。