mcpField
Y
Youtube

Youtube

リモート
pipeworx.ioソーシャルメディア03 週間前に更新
リポジトリ公式サイト

Youtube について

Youtubeは、YouTubeの検索や動画・チャンネル・コメント・字幕データの取得を行うMCPサーバーです。字幕以外のツールには、利用者自身のYouTube Data API v3キーが必要です。

主な機能

  1. 01動画・チャンネル・プレイリスト検索
  2. 02動画とチャンネルのメタデータ取得
  3. 03チャンネルの新着動画取得
  4. 04コメントスレッドの取得
  5. 05タイムスタンプ付き字幕の取得

活用シーン

  1. 01話題に関連する動画やチャンネルの検索
  2. 02動画の反応数やメタデータの確認
  3. 03チャンネルの最近の投稿の確認
  4. 04コメントや動画字幕の閲覧

MCP 対応

MCPクライアントにYouTube検索、メタデータ、コメント、字幕取得のツールを公開します。単独のstdioサーバーとしても、Pipeworxゲートウェイ経由でも利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/youtube/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/youtube

YouTube の動画、チャンネル、コメント、文字起こし:検索、再生回数・高評価数付きの動画およびチャンネルのメタデータ、コメントスレッド、動画の字幕テキスト。

Pipeworx の一部です。AI エージェントを 1763 以上の稼働中のデータソースに接続する MCP ゲートウェイです。これは独立した非公式の連携であり、上流のプロバイダーとは提携関係になく、同プロバイダーによる承認や公開も受けていません。

ツール

  • yt_search(query, type?, …) — 用語に一致する動画、チャンネル、またはプレイリスト。
  • yt_video_details(video_id) — タイトル、説明、再生時間、再生回数・高評価数・コメント数、タグ。
  • yt_channel_details(channel_id | username) — 登録者数、動画数、再生回数。
  • yt_channel_videos(channel_id, …) — チャンネルの最近のアップロード。
  • yt_video_comments(video_id, …) — トップレベルのコメントスレッド。
  • yt_video_transcript(video_id, lang?, start_seconds?, max_chars?) — 動画の字幕を、タイムスタンプ付きのセグメントと結合済みテキスト、字幕トラックの言語、自動生成かどうかとともに返します。ID のみ、または youtube.com/youtu.be の URL を指定できます。長い動画はページ分割されます。レスポンスに含まれる truncated と next_start_seconds を、start_seconds として指定してください。

認証

  • yt_video_transcript — キー不要です。
  • それ以外すべて — BYO のみ:Google Cloud Console で取得した YouTube Data API v3 キーを _apiKey として渡します。Pipeworx は共有キーを提供しません。

データソース

文字起こしの上流エンドポイントは不安定です。 公開 API ではなく、文書化されていないエンドポイントのため、YouTube は予告なく変更する可能性があります。2026-10-09 時点で確認できている内容(Worker からエッジプローブ、fleet #2846):

  • WEB の視聴ページにも同じ字幕トラックが表示されますが、その URL には exp=xpe が含まれ、PO トークンが必要です。トークンなしで取得すると 200 で本文は 0 バイトを返します。これは空の文字起こしとして扱われるため、WEB 経由の方法は使用しません。ANDROID クライアントのトラック URL はトークンなしで取得できます。
  • YouTube はデータセンターの IP に対し、LOGIN_REQUIRED「ボットではないことを確認するにはログインしてください」を断続的に返します。これは動画単位ではなくリクエスト単位で発生します。ライブゲートウェイ経由では、1 回の試行で連続 10 回の呼び出し中 7 回に発生し、その後は同じ動画へのリクエストが通りました。そのため、このツールはまず ANDROID クライアントを試し、次に IOS を試します(どちらも PO トークン不要の字幕 URL を返します。ANDROID_VR は該当せず、すべてのプローブでボットチェックを受けました)。両方とも拒否された場合は、公開視聴ページを開きます。そのページで動画が再生可能で、字幕トラックがない場合は captions_unavailable を返します。それ以外の場合は、ページから取得した訪問者 ID と Cookie を付けて両方のクライアントを再試行します。4 回の試行すべてが拒否された場合に限り、YouTube がサーバーをブロックしていることを示す upstream_down で呼び出しが失敗します。空の文字起こしが返されることはありません。視聴ページ自体が一部の送信元 IP から 429 を返す場合は、そのページへのアクセスを省略します。
  • 翻訳(&tlang=)はデータセンターの IP から 429 を返します。そのため、動画に字幕トラックがない言語は機械翻訳せず、存在するトラックを列挙した captions_unavailable で拒否します。
  • 字幕トラックがない動画は captions_unavailable で失敗します。非公開、削除済み、または地域制限された動画は、YouTube 独自の理由を示す not_found で失敗します。

すべての動画で失敗するようになった場合は、まず src/index.ts の ANDROID clientVersion を確認してください。YouTube は古いクライアントバージョンを廃止します。

送信リレーは、その場合のフォールバックではありません。2026-10-09 に測定して除外しました(fleet #2877)。 次に試す候補としては明白でしたが、現在の方法より明らかに劣ります。リレー自体の Supabase Edge インフラ上にある使い捨て関数から、www.youtube.com を対象にプローブしました。

トランスクリプトに必要な段階リレー経由住宅用回線
POST /youtubei/v1/player403、10/10 — Google の「申し訳ありません…お使いのコンピュータまたはネットワークから自動クエリが送信されている可能性があります」というページ。5本の異なる動画で、毎回同じ1,103バイト200 OK、3/3、字幕トラック2本
GET /watch?v=200、5/5、訪問者 ID あり—
GET /api/timedtext(署名付き)200、3/3、79,833バイト — 住宅用回線経由のものとバイト単位で同一200、79,833バイト

つまり、ブロックされているのは特定の1つのエンドポイントだけ、innertube の player 呼び出しです。 そして、現時点で Cloudflare 上で失敗するのもこの段階だけです。リレー経由では**100%拒否されますが、Cloudflare の送信元では40%**拒否されます(2026-10-09、10本の動画に対するライブの yt_video_transcript 呼び出し20回のうち8回)。player 呼び出しをリレー経由にすると、ツールは部分的に動作する状態からまったく動作しない状態になってしまいます。そのため、www.youtube.com は意図的にリレーの ALLOWED_HOSTS に含めていません(そこにはその旨の注記があります)。リレーを通過する2つの段階は、助けが必要なものではありません。

40%という数値の測定には注意が必要です。ゲートウェイはツールの応答をキャッシュするため、同じ引数を繰り返すプローブでは、実際よりもはるかに良好な結果になります。同じ10本の動画を使い、キャッシュを回避しない実行では14/16でしたが、呼び出しごとに max_chars を変えてキャッシュを回避すると12/20でした。引数を変えないと、測定するのはキャッシュの動作です。

実際に残っている未検証の方法は次のとおりです。住宅用/モバイルプロキシ(費用がかかるため、採用するかは Bruce の判断です)、WEB ルートの exp=xpe URL が0バイトを返す問題を解消するための PO トークン生成器、または40%の失敗を受け入れ、エラーメッセージ内の再試行の案内を回答とする方法です。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "youtube": {
      "url": "https://gateway.pipeworx.io/youtube/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/youtube/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツール(ask_pipeworx、 discover_tools、search_within、remember/recall など、ゲートウェイ全体で使える一連のツール)も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック固有のツールとともに約30個の共有ツールが一覧表示されます。接続の initialize 応答には正確なスコープが記載されており、その日の状況を確認する際の正式な情報源となります。

これは意図的な仕様であり、偶然の多重化ではありません。これらのメタツールを使うことで、このパックの対象外の質問にも ask_pipeworx 経由で回答できます。ask_pipeworx はカタログ全体を横断してルーティングするため、2つ目の MCP サーバーを追加する必要はありません。現在、共有メタツールを含めずにパックのエンドポイントをマウントする方法はありません。追加のスキーマがルーティングの利点を上回るコンテキストを消費する場合は、複数のパックのエンドポイントに接続するのではなく、フルゲートウェイに一度接続してください。

または、Pipeworx のフルゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL も同じゲートウェイと同じ1,763以上のデータソースに接続します。唯一の違いは、どのパックのツールが直接一覧表示されるかです。どちらからでも ask_pipeworx を使ってすべてのツールにアクセスできます。

MCP クライアントがない場合:HTTP 経由で呼び出す

このパックでは独自の API キー(_apiKey)が必要です。こちらでは API キーを提供していないため、キーなしで実行できる curl の例はありません。ツールの詳細は GET https://gateway.pipeworx.io/v1/tools/yt_search で確認できます。ツールの検索には POST https://gateway.pipeworx.io/v1/tools/search_packs を使い、{"query":"..."} を指定してください。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントもゲートウェイへのラウンドトリップも必要ありません。

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-youtube"]
    }
  }
}

または、直接実行して起動を確認します。

npx -y @pipeworx/mcp-youtube

stdin/stdout 経由で MCP をやり取りし、initialize/tools/list/tools/call に対して、このパックのツールのみを返します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。

ask_pipeworx での使用

ツールを直接呼び出す代わりに、自然な英語で質問できます。 これは、上記のパックエンドポイントでも、フルゲートウェイでも機能します。

ask_pipeworx({ question: "your question about Youtube data" })

ゲートウェイが適切なツールを選択し、引数を自動的に入力します。

詳細

ライセンス

MIT

コメント

MCP は初めてですか?

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

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