mcpField
Y
youtube-automation

youtube-automation

github.com/sickn33マーケティング・グロース48.8k279 回インストール今日更新
リポジトリ

youtube-automation について

youtube-automationは、ComposioのYouTubeツールキットとRube MCPを通じてYouTubeを操作するスキルです。動画の公開、検索、再生リスト、チャンネル指標、登録、コメントを扱い、接続と認可の確認も案内します。

主な機能

  1. 01動画のアップロードと更新
  2. 02動画・チャンネル・再生リストの検索
  3. 03再生リストの作成と管理
  4. 04チャンネルと動画の指標取得
  5. 05登録とコメントの管理

活用シーン

  1. 01動画の公開とメタデータ設定
  2. 02動画や再生リスト内のコンテンツ検索
  3. 03チャンネルと動画の統計確認
  4. 04チャンネル登録の管理やコメントの閲覧

MCP 対応

Rube MCPを介してComposioのYouTubeツールキットを利用します。Rube MCPの接続と有効なYouTube接続が必要で、操作前にツールスキーマを取得します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill youtube-automation

インストール後、Claude Code で/youtube-automationを入力して読み込まれたか確認します。

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

Rube MCP による YouTube 自動化

Rube MCP 経由で Composio の YouTube ツールキットを通じて YouTube の操作を自動化します。

前提条件

  • Rube MCP が接続されている必要があります(RUBE_SEARCH_TOOLS が利用可能)
  • ツールキット youtube を使用した RUBE_MANAGE_CONNECTIONS による有効な YouTube 接続
  • 常に最初に RUBE_SEARCH_TOOLS を呼び出して、最新のツールスキーマを取得してください

セットアップ

Rube MCP の取得: クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です — エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認して、Rube MCP が利用可能であることを検証します
  2. ツールキット youtube を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Google OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

コアワークフロー

1. 動画のアップロードと管理

使用するタイミング: ユーザーが動画をアップロードしたい、または動画のメタデータを更新したい場合

ツールの順序:

  1. YOUTUBE_UPLOAD_VIDEO - 新しい動画をアップロードします [必須]
  2. YOUTUBE_UPDATE_VIDEO - タイトル、説明、タグ、公開範囲を更新します [任意]
  3. YOUTUBE_UPDATE_THUMBNAIL - カスタムサムネイルを設定します [任意]

主なパラメータ:

  • title: 動画のタイトル(最大 100 文字)
  • description: 動画の説明(最大 5000 バイト)
  • tags: キーワードタグの配列
  • categoryId: YouTube のカテゴリ ID(例: 「People & Blogs」の場合は '22')
  • privacyStatus: 'public'、'private'、または 'unlisted'
  • videoFilePath: 動画ファイル用の {name, mimetype, s3key} を含むオブジェクト

注意点:

  • UPLOAD_VIDEO は大量のクォータを消費します。メタデータのみの変更には UPDATE_VIDEO を優先してください
  • videoFilePath は s3key を含むオブジェクトである必要があり、生のファイルパスや URL ではありません
  • タグの合計は区切り文字を含めて 500 文字を超えてはなりません
  • タグ内の山かっこ < > は自動的に削除されます
  • 説明の上限は 5000 バイトであり、文字数ではありません(マルチバイト文字はより多くカウントされます)
2. YouTube コンテンツの検索

使用するタイミング: ユーザーが動画、チャンネル、または再生リストを検索したい場合

ツールの順序:

  1. YOUTUBE_SEARCH_YOU_TUBE - コンテンツを検索します [必須]
  2. YOUTUBE_VIDEO_DETAILS - 特定の動画の詳細を取得します [任意]
  3. YOUTUBE_GET_VIDEO_DETAILS_BATCH - 複数の動画の詳細を取得します [任意]

主なパラメータ:

  • q: 検索クエリ(完全なフレーズ、除外、チャンネルハンドルをサポート)
  • type: 'video'、'channel'、または 'playlist'
  • maxResults: ページあたりの結果数(1〜50)
  • pageToken: ページネーション用

注意点:

  • 検索エンドポイントは 'snippet' パートのみを返します。統計情報には VIDEO_DETAILS を使用してください
  • 検索結果は合計 500 項目までに制限されます
  • 検索はリストエンドポイント(1 ユニット)と比較してクォータコストが高くなります(100 ユニット)
  • BATCH による動画詳細の実用的な上限は 1 回の呼び出しあたり約 50 ID です。それより大きいセットは分割してください
3. 再生リストの管理

使用するタイミング: ユーザーが再生リストを作成したい、または再生リストの内容を管理したい場合

ツールの順序:

  1. YOUTUBE_LIST_USER_PLAYLISTS - ユーザーの既存の再生リストを一覧表示します [任意]
  2. YOUTUBE_CREATE_PLAYLIST - 新しい再生リストを作成します [任意]
  3. YOUTUBE_ADD_VIDEO_TO_PLAYLIST - 動画を再生リストに追加します [任意]
  4. YOUTUBE_LIST_PLAYLIST_ITEMS - 再生リスト内の動画を一覧表示します [任意]

主なパラメータ:

  • playlistId: 再生リスト ID(ユーザー作成の場合は 'PL...'、アップロードの場合は 'UU...')
  • part: 含めるリソースパート(例: 'snippet,contentDetails')
  • maxResults: ページあたりの項目数(1〜50)
  • pageToken: 前回のレスポンスからのページネーショントークン

注意点:

  • チャンネル ID('UC...')を再生リスト ID として渡さないでください。アップロードの場合は 'UC' を 'UU' に変換してください
  • 大きな再生リストは pageToken によるページネーションが必要です。nextPageToken が存在しなくなるまで追跡してください
  • items[].id は videoId ではありません。items[].snippet.resourceId.videoId を使用してください
  • 重複する再生リスト名の作成は許可されています。まず既存の再生リストを確認してください
4. チャンネルと動画のアナリティクスを取得する

使用する場面:ユーザーがチャンネルのパフォーマンスや動画の指標を分析したい場合

ツールの順序:

  1. YOUTUBE_GET_CHANNEL_ID_BY_HANDLE - ハンドルからチャンネル ID を解決します[前提条件]
  2. YOUTUBE_GET_CHANNEL_STATISTICS - チャンネルの登録者数、視聴回数、動画数を取得します[必須]
  3. YOUTUBE_LIST_CHANNEL_VIDEOS - チャンネルのすべての動画を一覧表示します[任意]
  4. YOUTUBE_GET_VIDEO_DETAILS_BATCH - 動画ごとの統計情報を取得します[任意]
  5. YOUTUBE_GET_CHANNEL_ACTIVITIES - チャンネルの最近のアクティビティを取得します[任意]

主なパラメーター:

  • channelId:チャンネル ID('UC...')、ハンドル('@handle')、または 'me'
  • forHandle:チャンネルのハンドル(例:'@Google')
  • id:バッチ詳細取得用の動画 ID(カンマ区切り)
  • parts:含めるリソースのパーツ(例:'snippet,statistics')

注意点:

  • チャンネルの統計情報は累計値であり、期間ごとの値ではありません
  • BATCH 動画詳細では、非公開または削除済みの動画について、要求した数より少ない項目が返される場合があります
  • レスポンスデータは data または data_preview の下にネストされる場合があります。どちらにも対応できるよう解析してください
  • contentDetails.duration は ISO 8601 形式です(例:'PT4M13S')
5. 登録とコメントを管理する

使用する場面:ユーザーがチャンネルに登録したい、または動画のコメントを確認したい場合

ツールの順序:

  1. YOUTUBE_SUBSCRIBE_CHANNEL - チャンネルに登録します[任意]
  2. YOUTUBE_UNSUBSCRIBE_CHANNEL - チャンネルの登録を解除します[任意]
  3. YOUTUBE_LIST_USER_SUBSCRIPTIONS - 登録チャンネルを一覧表示します[任意]
  4. YOUTUBE_LIST_COMMENT_THREADS - 動画のコメントを一覧表示します[任意]

主なパラメーター:

  • channelId:登録または登録解除するチャンネル
  • videoId:コメントスレッドの動画 ID
  • maxResults:1 ページあたりの結果数
  • pageToken:ページネーション用トークン

注意点:

  • すでに登録済みのチャンネルに登録しようとすると、エラーが返される場合があります
  • コメントスレッドにはトップレベルのコメントが返され、各コメントには最大 5 件の返信が含まれます
  • 一部の動画ではコメントが無効になっている場合があります
  • 登録解除にはチャンネル ID ではなく、登録 ID が必要です

よくあるパターン

チャンネル ID の解決

ハンドルからチャンネル ID へ:

1. Call YOUTUBE_GET_CHANNEL_ID_BY_HANDLE with '@handle'
2. Extract channelId from response
3. Use in subsequent channel operations

アップロード動画のプレイリスト:

1. Get channel ID (starts with 'UC')
2. Replace 'UC' prefix with 'UU' to get uploads playlist ID
3. Use with LIST_PLAYLIST_ITEMS to enumerate all videos
ページネーション
  • maxResults を設定します(1 ページあたり最大 50 件)
  • レスポンスで nextPageToken を確認します
  • 次のリクエストでトークンを pageToken として渡します
  • nextPageToken がなくなるまで続けます
動画詳細の一括取得
  • 検索結果またはプレイリスト一覧から動画 ID を収集します
  • 約 50 件ずつのグループに分割します
  • グループごとに GET_VIDEO_DETAILS_BATCH を呼び出します
  • 各グループの結果を統合します

既知の注意点

クォータ管理:

  • YouTube API には 1 日あたりのクォータ上限があります(デフォルトは 10,000 単位)
  • アップロードは 1600 単位、検索は 100 単位、リスト取得は 1 単位です
  • 可能な場合は、検索よりリスト取得のエンドポイントを優先してください
  • 1 日あたりの上限に達しないよう、クォータの使用状況を監視してください

ID の形式:

  • 動画 ID:11 文字の英数字
  • チャンネル ID:'UC' で始まり、その後に 22 文字が続きます
  • プレイリスト ID:'PL'(ユーザー)または 'UU'(アップロード動画)で始まります
  • チャンネル ID とプレイリスト ID を混同しないでください

サムネイル:

  • カスタムサムネイルにはチャンネルの電話番号認証が必要です
  • JPG、PNG、GIF 形式で、2MB 未満である必要があります
  • 推奨サイズ:1280x720(アスペクト比 16:9)

レスポンスの解析:

  • 統計値は整数ではなく文字列として返されるため、計算前に型を変換してください
  • 動画の長さは ISO 8601 形式です(PT#H#M#S)
  • バッチレスポンスでは、データが異なるキーの下にラップされる場合があります

クイックリファレンス

タスクツールスラッグ主なパラメータ
動画をアップロードYOUTUBE_UPLOAD_VIDEOtitle, description, tags, categoryId, privacyStatus, videoFilePath
動画を更新YOUTUBE_UPDATE_VIDEOvideo_id, title, description, tags
サムネイルを設定YOUTUBE_UPDATE_THUMBNAILvideoId, thumbnailUrl
YouTube を検索YOUTUBE_SEARCH_YOU_TUBEq, type, maxResults
動画の詳細YOUTUBE_VIDEO_DETAILSid, part
動画の詳細を一括取得YOUTUBE_GET_VIDEO_DETAILS_BATCHid, parts
再生リストを一覧表示YOUTUBE_LIST_USER_PLAYLISTSmaxResults, pageToken
再生リストを作成YOUTUBE_CREATE_PLAYLIST(スキーマを確認)
再生リストに追加YOUTUBE_ADD_VIDEO_TO_PLAYLIST(スキーマを確認)
再生リストの項目を一覧表示YOUTUBE_LIST_PLAYLIST_ITEMSplaylistId, maxResults
チャンネル統計YOUTUBE_GET_CHANNEL_STATISTICSid/forHandle/mine
チャンネルの動画を一覧表示YOUTUBE_LIST_CHANNEL_VIDEOSchannelId, maxResults
ハンドルからチャンネル ID を取得YOUTUBE_GET_CHANNEL_ID_BY_HANDLEchannel_handle
チャンネル登録YOUTUBE_SUBSCRIBE_CHANNELchannelId
登録チャンネルを一覧表示YOUTUBE_LIST_USER_SUBSCRIPTIONS(スキーマを確認)
コメントを一覧表示YOUTUBE_LIST_COMMENT_THREADSvideoId
チャンネルのアクティビティYOUTUBE_GET_CHANNEL_ACTIVITIES(スキーマを確認)

使用する場合

このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用されます。

制限事項

  • このスキルは、タスクが上記の範囲に明確に一致する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代替として扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が欠けている場合は、停止して確認を求めてください。

コメント