mcpField
Y
youtube-automation

youtube-automation

github.com/davepoonマーケティング・グロース3.7k136 回インストール1 日前に更新
リポジトリ

youtube-automation について

youtube-automation は、Rube MCP 経由で Composio の YouTube ツールキットを使い、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/davepoon/buildwithclaude --skill youtube-automation

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

詳細

Rube MCP を使った YouTube の自動化

Rube MCP を介して Composio の YouTube ツールキットを使い、YouTube の操作を自動化します。

ツールキットのドキュメント:composio.dev/toolkits/youtube

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • RUBE_MANAGE_CONNECTIONS でツールキット youtube を指定した、有効な 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 件です
  • 検索のクォータコストは 100 ユニットで、リストエンドポイント(1 ユニット)より高くなります
  • 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(スキーマを確認)

Composio 提供

コメント