mcpField
Y
Youtube Playlist Generator Mcp Server

Youtube Playlist Generator Mcp Server

ローカル
github.com/danisss9開発ツール264 週間前に更新

Youtube Playlist Generator Mcp Server について

YouTube Playlist Generator MCP Serverは、YouTube Data API v3を通じてAIアプリケーションから音楽動画の検索、動画情報の確認、プレイリスト管理を行うサーバーです。読み取り専用の検索にはAPIキー、プレイリストの変更にはOAuth認証が必要です。

主な機能

  1. 01条件を指定した音楽動画検索
  2. 02動画情報の取得
  3. 03公開プレイリスト内の動画一覧
  4. 04プレイリストの作成と編集
  5. 05プレイリストへの動画追加・削除
  6. 06認証済みユーザーのプレイリスト一覧

活用シーン

  1. 01検索語と並び順を指定して動画を探す
  2. 02動画の詳細情報を確認する
  3. 03プレイリストを作成して公開範囲を設定する
  4. 04プレイリストの内容を更新する

MCP 対応

stdioのMCPサーバーとして、YouTube検索、動画、プレイリスト操作のツールをMCPクライアントに提供します。プレイリスト管理にはYouTube OAuthが、読み取り専用ツールにはAPIキーが必要です。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

YouTube プレイリスト生成 MCP サーバー

公式の YouTube Data API v3 を使用して、AI アプリケーションから YouTube のミュージックビデオを検索し、プレイリストを管理できる Model Context Protocol(MCP)サーバーです。

機能

  • ミュージックビデオの検索:カスタマイズ可能な検索パラメーターを指定して、YouTube のミュージックビデオを検索します
  • 動画の詳細情報の取得:特定の動画に関する詳しい情報を取得します
  • プレイリスト項目の取得:公開プレイリストの動画を一覧表示します
  • プレイリスト管理:プレイリストの作成、編集、管理を含む、完全なプレイリスト管理機能を利用できます(OAuth の設定が必要です)

セットアップ

前提条件
  • Node.js 18 以上
  • YouTube Data API v3 を有効にした Google Cloud プロジェクト
  • YouTube Data API キー
  • OAuth 2.0 クライアント認証情報(任意。プレイリスト管理機能の利用には必要です)
インストール
  1. このリポジトリをクローンします:
git clone https://github.com/danisss9/yt-playlist-generator-mcp-server
  1. 依存関係をインストールします:
npm install
  1. YouTube Data API キーを取得します:

    • Google Cloud Console にアクセスします
    • 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
    • YouTube Data API v3 を有効にします
    • 認証情報(API キー)を作成します
    • API キーをコピーします
  2. 環境変数を設定します:

# Create a .env file
echo "YOUTUBE_API_KEY=your_api_key_here" > .env
echo "YOUTUBE_CLIENT_ID=your_client_id_here" >> .env
echo "YOUTUBE_CLIENT_SECRET=your_client_secret_here" >> .env
  1. TypeScript コードをビルドします:
npm run build
サーバーの実行

自動リビルドを有効にして開発する場合:

npm run dev

本番環境の場合:

npm start
MCP クライアントでの使用

このサーバーは stdio トランスポートを使用するため、stdio に対応するあらゆる MCP クライアントで使用できます。

Claude Desktop の設定

Claude Desktop の設定ファイルに追加します:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "youtube-playlist-generator": {
      "command": "node",
      "args": ["/absolute/path/to/yt-playlist-generator/build/index.js"],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key_here",
        "YOUTUBE_CLIENT_ID": "your_client_id_here",
        "YOUTUBE_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}
GitHub Copilot を使用する Visual Studio Code の設定

Visual Studio Code で GitHub Copilot とこの MCP サーバーを使用するには、VS Code の設定で構成する必要があります:

  1. VS Code の設定を開く:Ctrl+,(Windows/Linux)または Cmd+,(macOS)を押します

  2. MCP を検索する:検索バーに「mcp」と入力します

  3. MCP サーバーの設定を追加する:次の内容を VS Code の設定 JSON に追加します:

{
  "github.copilot.chat.mcp.servers": {
    "youtube-playlist-generator": {
      "command": "node",
      "args": ["/absolute/path/to/yt-playlist-generator/build/index.js"],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key_here",
        "YOUTUBE_CLIENT_ID": "your_client_id_here",
        "YOUTUBE_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

別の方法:設定 UI を使用する

  1. File > Preferences > Settings に移動します(または Ctrl+, を使用します)
  2. 「GitHub Copilot MCP」を検索します
  3. 「Github › Copilot › Chat: Mcp Servers」の横にある「Edit in settings.json」をクリックします
  4. 上記のとおりにサーバーの設定を追加します

環境変数の設定

セキュリティ上、設定ファイルではなく、システム全体の環境変数を設定することもできます:

Windows(PowerShell):

[Environment]::SetEnvironmentVariable("YOUTUBE_API_KEY", "your_api_key_here", "User")
[Environment]::SetEnvironmentVariable("YOUTUBE_CLIENT_ID", "your_client_id_here", "User")
[Environment]::SetEnvironmentVariable("YOUTUBE_CLIENT_SECRET", "your_client_secret_here", "User")

Windows(コマンドプロンプト):

setx YOUTUBE_API_KEY "your_api_key_here"
setx YOUTUBE_CLIENT_ID "your_client_id_here"
setx YOUTUBE_CLIENT_SECRET "your_client_secret_here"

macOS/Linux:

export YOUTUBE_API_KEY="your_api_key_here"
export YOUTUBE_CLIENT_ID="your_client_id_here"
export YOUTUBE_CLIENT_SECRET="your_client_secret_here"
# Add to ~/.bashrc, ~/.zshrc, or ~/.profile to persist
echo 'export YOUTUBE_API_KEY="your_api_key_here"' >> ~/.bashrc
echo 'export YOUTUBE_CLIENT_ID="your_client_id_here"' >> ~/.bashrc
echo 'export YOUTUBE_CLIENT_SECRET="your_client_secret_here"' >> ~/.bashrc

その後、VS Code の設定から env セクションを削除します:

{
  "github.copilot.chat.mcp.servers": {
    "youtube-playlist-generator": {
      "command": "node",
      "args": ["/absolute/path/to/yt-playlist-generator/build/index.js"]
    }
  }
}

VS Code での使用方法

設定が完了すると、GitHub Copilot Chat から MCP サーバーを使用できます:

  1. Copilot Chat を開きます(Ctrl+Alt+I を押すか、チャットアイコンをクリックします)
  2. 自然言語で YouTube を操作します:
    • 「ジャズのミュージックビデオを検索して」
    • 「My Favorites という新しいプレイリストを作成して」
    • 「この動画を自分のプレイリストに追加して」
    • 「この YouTube 動画の詳細を表示して」

利用可能なツール

読み取り専用ツール(API キー認証)
search_music_videos

指定した条件で YouTube のミュージックビデオを検索します。

パラメーター:

  • query(string):ミュージックビデオの検索クエリ
  • maxResults(number、1~50、デフォルト:10):結果の最大数
  • order(enum):並べ替え順 — 「relevance」、「date」、「rating」、「viewCount」、「title」
get_video_details

特定の YouTube 動画に関する詳細情報を取得します。

パラメーター:

  • videoId(string):YouTube 動画 ID
get_playlist_items

公開 YouTube プレイリストから動画を取得します。

パラメーター:

  • playlistId(string):YouTube プレイリスト ID
  • maxResults(number、1~50、デフォルト:25):項目の最大数
OAuth が必要なツール(プレイリスト管理)
authenticate_youtube

YouTube OAuth で認証し、プレイリスト管理機能を有効にします。

パラメーター:

  • getAuthUrl(boolean、デフォルト:false):認証 URL を取得するには true に設定します
  • authCode(string、任意):OAuth フローで取得した認証コード
get_auth_status

現在の OAuth 認証状況を確認します。

パラメーター: なし

create_playlist

新しい YouTube プレイリストを作成します(OAuth 認証が必要です)。

パラメーター:

  • title(string):プレイリストのタイトル
  • description(string、任意):プレイリストの説明
  • privacy(enum):"private"、"public"、または "unlisted"
edit_playlist

既存のプレイリスト情報を編集します(OAuth 認証が必要です)。

パラメーター:

  • playlistId(string):編集するプレイリストの ID
  • title(string、任意):プレイリストの新しいタイトル
  • description(string、任意):プレイリストの新しい説明
  • privacy(enum、任意):新しいプライバシー設定。"private"、"public"、または "unlisted"

注: 更新するには、少なくとも 1 つのフィールド(title、description、privacy)を指定する必要があります。

add_to_playlist

既存のプレイリストに動画を追加します(OAuth 認証が必要です)。

パラメーター:

  • playlistId(string):対象のプレイリスト ID
  • videoId(string):追加する動画の ID
list_playlists

ユーザーのプレイリストを一覧表示します(OAuth 認証が必要です)。

パラメーター:

  • maxResults(number、1~50、デフォルト:25):プレイリストの最大数
  • mine(boolean、デフォルト:true):認証済みユーザーのプレイリストを一覧表示します
remove_from_playlist

プレイリストから動画を削除します(OAuth 認証が必要です)。

パラメーター:

  • playlistItemId(string):削除するプレイリスト項目の ID(get_playlist_items から取得)

OAuth 認証のセットアップ

プレイリスト管理機能をすべて利用するには、OAuth 2.0 を設定する必要があります。

1. Google Cloud Console のセットアップ
  1. Google Cloud Console にアクセスします
  2. 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
  3. YouTube Data API v3 を有効にします
  4. 「Credentials」→「Create Credentials」→「OAuth 2.0 Client ID」の順に進みます
  5. アプリケーションの種類として「Desktop Application」を選択します
  6. 認証情報をダウンロードするか、Client ID と Client Secret をコピーします
2. 環境設定

OAuth 認証情報を .env ファイルに追加します。

YOUTUBE_API_KEY=your_api_key_here
YOUTUBE_CLIENT_ID=your_client_id_here
YOUTUBE_CLIENT_SECRET=your_client_secret_here
3. 認証フロー
  1. authenticate_youtube ツールで getAuthUrl: true を指定します
  2. 表示された URL をブラウザーで開きます
  3. Google アカウントにサインインし、権限を許可します
  4. 認証コードをコピーします
  5. authCode パラメーターを指定して、再度 authenticate_youtube ツールを使用します
4. 認証済み機能の使用

認証が完了すると、次の操作ができます。

  • 新しいプレイリストを作成する
  • 既存のプレイリスト情報(タイトル、説明、プライバシー設定)を編集する
  • プレイリストに動画を追加する
  • 自分の非公開プレイリストを一覧表示する
  • プレイリストから動画を削除する

API の制限

  • クォータ制限:YouTube API には 1 日あたりのクォータ制限があります(デフォルトでは 10,000 単位/日)
  • レート制限:API 呼び出しにはレート制限が適用されます
  • OAuth トークン:アクセストークンには有効期限があり、更新が必要です(自動的に処理されます)
  • 権限:利用可能な操作は OAuth スコープによって決まります

開発

ビルド
npm run build
開発モード
npm run dev
プロジェクト構成
src/
└── index.ts          # Main server implementation

build/                # Compiled JavaScript output

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 十分にテストします
  5. プルリクエストを送信します

ライセンス

MIT License — 詳細は LICENSE ファイルを参照してください

トラブルシューティング

よくある問題
  1. 「YOUTUBE_API_KEY environment variable is required」

    • YOUTUBE_API_KEY 環境変数が設定されていることを確認してください
    • API キーが有効で、YouTube Data API にアクセスできることを確認してください
  2. 「Quota exceeded」エラー

    • 1 日あたりの API クォータ上限に達しています
    • クォータがリセットされるまで待つか、クォータの増加を申請してください
  3. 「Playlist not found」エラー

    • プレイリスト ID が正しいことを確認してください
    • プレイリストが公開されていることを確認してください(非公開のプレイリストには OAuth が必要です)
  4. ビルドエラー

    • Node.js 18 以降がインストールされていることを確認してください
    • npm install を実行して、すべての依存関係がインストールされていることを確認してください
    • npm run build で TypeScript のコンパイルを確認してください

セキュリティに関する考慮事項

  • API キーをバージョン管理にコミットしないでください
  • 機密性の高い設定には環境変数を使用してください
  • すべてのユーザー入力を検証してください
  • 適切なエラー処理とログ記録を実装してください

このプロジェクトは GitHub Copilot を使用して作成されました

コメント

MCP は初めてですか?

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

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