mcpField
Y
YouTube Transcript + YouTube Search MCP

YouTube Transcript + YouTube Search MCP

リモート
getyoutubetranscript.comソーシャルメディア222 日前に更新
リポジトリ公式サイト

YouTube Transcript + YouTube Search MCP について

YouTube Transcript + YouTube Search MCPは、動画の文字起こし、検索、チャンネル閲覧、プレイリスト情報をAIエージェントに提供するホスト型サーバーです。ローカルサーバーを動かさずにYouTubeの情報を扱いたいMCPユーザー向けです。

主な機能

  1. 01文字起こしと対応言語の取得
  2. 02動画とチャンネルの検索
  3. 03チャンネル投稿動画の閲覧と検索
  4. 04プレイリストと収録動画の一覧
  5. 05チャンネル投稿と関連動画の取得
  6. 06APIキーまたはOAuth 2.1認証

活用シーン

  1. 01文字起こしからYouTube動画を要約する
  2. 02テーマに合う動画やチャンネルを探す
  3. 03チャンネル内で関連動画を検索する
  4. 04チャンネルのプレイリストや投稿を閲覧する

MCP 対応

ホスト型のリモートMCPエンドポイントでYouTubeツールを提供し、APIキーまたはOAuth 2.1認証に対応します。同じツールを備えたローカルstdioサーバーも利用できます。

設定

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

エンドポイントhttps://getyoutubetranscript.com/api/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

7
パラメーター型必須説明
languagestringいいえ言語コード(例:'en'、'es')。デフォルトは 'en' です。
translatestringいいえ字幕の機械翻訳先の言語コード(例:'es'、'zh-CN')。タイムスタンプとの対応は維持されます。ユーザーが動画のテキストを別の言語で求める場合に使用します。
video_urlstringはいYouTube の URL(完全形式または短縮形式)、または 11 文字の動画 ID
timestampsbooleanいいえ字幕 1 行につき 1 行で、各行は開始時刻 [m:ss] で始まります。デフォルトは false(テキスト 1 ブロック)です。
send_metadatabooleanいいえタイトル/作者/サムネイルのメタデータを含めます。デフォルトは true です。

詳細

GetYouTubeTranscript

YouTube MCP サーバー:文字起こし、検索、チャンネル、プレイリスト

YouTube 向けのリモート MCP サーバーです。文字起こし、動画・チャンネル検索、チャンネル閲覧、チャンネル内検索、プレイリストの抽出ができます。
API キーまたは OAuth 2.1 でサインインできます。無料枠があり、カードは不要です。

Cursorにインストール VS Codeにインストール

ウェブサイト ドキュメント MITライセンス

Claude、ChatGPT、Cursor、VS Code、Windsurf、その他 15 以上の MCP 対応クライアント向けに、13 個のツールを 1 つのホスト型エンドポイントで提供します。ローカルへのインストールは不要です。

https://getyoutubetranscript.com/api/mcp

まずはお試しください:

Search @veritasium for videos about black holes, pull the transcript of the
two best matches, and tell me where they disagree.

エージェントがsearch_channel_videosとget_youtube_transcriptを自動で連携して実行します。お客様側でコードを書く必要はありません。


この MCP の特長

この MCP一般的な単機能の YouTube MCP
ホスティング✅ リモート(ローカルへのインストールやビルド手順は不要)❌ 管理が必要なローカル stdio プロセス
ツール✅ 7 個(文字起こし、検索、チャンネルの最新動画/検索/動画、プレイリスト、クレジット)❌ 通常 1 個(文字起こしのみ)
YouTube 検索(動画およびチャンネル)✅ 対応❌ 非対応
チャンネルの全アップロード履歴(ページ分割対応)✅ 対応❌ 非対応
チャンネル内検索✅ 対応❌ 非対応
認証✅ API キーと OAuth 2.1(DCR + CIMD)❌ 通常どちらにも非対応
エージェント向けのエラー✅ 安定したエラーコードと人が読みやすいメッセージ❌ HTTP コードのみ

エージェントプラグインとしてインストール

このリポジトリのルートは、Agent Plugins 1.0.0パッケージでもあります。MCP サーバーにyoutubeスキルが同梱されており、どのツールをいつ使うか、それぞれの費用はいくらか、クレジットの無駄をどう避けるかをエージェントに伝えます。

plugin.json                # plugin manifest
mcp.json                   # hosted MCP server (streamable-http, OAuth, no key in the file)
skills/youtube/SKILL.md    # when and how to use the 13 tools

VS Code でChat: Install Plugin From Sourceを実行し、https://github.com/tubeagentkit/youtube-mcpを貼り付けてください。Agent Plugins に対応する他のクライアントでは、このリポジトリまたはローカルクローンを指定できます。Cursor 用には別途プラグインリポジトリがあります。

このパッケージに認証情報は含まれていません。マニフェストが公開済みのスキーマに準拠しているか、ご自身で確認してください。

curl -sO https://agent-plugins.org/schemas/1.0.0/plugin.schema.json
curl -sO https://agent-plugins.org/schemas/1.0.0/mcp.schema.json
npx ajv-cli@5 validate --spec=draft2020 -s plugin.schema.json -d plugin.json
npx ajv-cli@5 validate --spec=draft2020 -s mcp.schema.json -d mcp.json
ChatGPT と Codex

同じplugin.jsonには、extensions.com.openaiの下に ChatGPT/Codex プラグインディレクトリの掲載情報が記載されています(他のクライアントは無視します)。scripts/build-openai-zip.shは、OpenAI のフィールド制限に準拠しているかを確認し、plugin.json、mcp.json、skills/、assets/のみを含むアップロード用 ZIP をdist/に作成します。

クイックインストール

必要なもの: 無料の getyoutubetranscript.com アカウント(登録 — 100 クレジット、カード不要)と、ダッシュボードから取得した API キー — または OAuth で接続すれば、キーは不要です(下記の認証を参照)。

ヒント: MCP OAuth に対応しているクライアントでは、以下のスニペットの headers ブロックを省略し、代わりにブラウザーからサインインできます。

ヒント: 「文字起こしツールを使って」と繰り返し指示する手間を省くには、クライアントのルールまたはカスタム指示に常時適用する指示を追加します。例:「YouTube のリンクを共有したら、回答する前に youtube-transcript MCP で文字起こしを取得してください。」

Claude Code(CLI)
claude mcp add --transport http youtube-transcript https://getyoutubetranscript.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"
Claude Desktop / Claude Web(OAuth)
  1. Settings → Connectors → Add custom connector
  2. 名前:YouTube Transcript · URL:https://getyoutubetranscript.com/api/mcp
  3. Addをクリックし、続けてConnectをクリックして、ブラウザーからサインインします — API キーは不要です。
Cursor

Settings → Features → MCP → Add New MCP Server — タイプ:SSE/HTTP、URL:https://getyoutubetranscript.com/api/mcp。

または、~/.cursor/mcp.jsonを編集します。

{
  "mcpServers": {
    "youtube-transcript": {
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
VS Code
"mcp.servers": {
  "youtube-transcript": {
    "type": "http",
    "url": "https://getyoutubetranscript.com/api/mcp",
    "headers": { "Authorization": "Bearer YOUR_API_KEY" }
  }
}
ChatGPT

Developer Mode を有効にし、Settings → Connected Apps → Add → URL https://getyoutubetranscript.com/api/mcp の順に進みます。Dynamic Client Registration を使用する場合は Client ID/Secret を空欄のままにするか、OAuth サインインを直接使用してください。

Windsurf

~/.codeium/windsurf/mcp_config.jsonに追加します。

{
  "mcpServers": {
    "youtube-transcript": {
      "serverUrl": "https://getyoutubetranscript.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
Cline
{
  "mcpServers": {
    "youtube-transcript": {
      "url": "https://getyoutubetranscript.com/api/mcp",
      "type": "streamableHttp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
Zed
{
  "context_servers": {
    "youtube-transcript": {
      "source": "remote",
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
Roo Code
{
  "mcpServers": {
    "youtube-transcript": {
      "type": "streamable-http",
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
Amp
amp mcp add youtube-transcript https://getyoutubetranscript.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"
Augment Code
"augment.advanced": {
  "mcpServers": [
    {
      "name": "youtube-transcript",
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  ]
}
Kilo Code

.kilocode/mcp.jsonに記述します。

{
  "mcpServers": {
    "youtube-transcript": {
      "type": "streamable-http",
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
JetBrains AI Assistant

Settings → Tools → AI Assistant → MCP:

{
  "mcpServers": {
    "youtube-transcript": {
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
30 秒で試す
Summarize this video for me: https://youtu.be/dQw4w9WgXcQ

エージェントがget_youtube_transcriptを呼び出し、結果を要約します。OAuth で接続している場合、設定するキーはありません — 接続を一度承認するだけです。


ローカルで実行する(stdio)

ローカルプロセスを使いたい場合は、server/をご覧ください。公式 MCP TypeScript SDK を基盤とした、同じ 13 個のツールを備えるオープンソースの stdio MCP サーバーです。API キーを使って公開 REST API を呼び出します。

git clone https://github.com/tubeagentkit/youtube-mcp
npm install --prefix youtube-mcp/server

続いて、クライアントからこのサーバーを指定します。例:Claude Desktop / Cursor

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "node",
      "args": ["/absolute/path/to/youtube-mcp/server/index.js"],
      "env": { "GYT_API_KEY": "sk_live_your_key_here" }
    }
  }
}

ライブ統合テスト(無料ツールのみを使用):GYT_API_KEY=sk_live_... npm test --prefix server


認証

API キー

あらゆる MCP クライアントで使える汎用方式です。ダッシュボードで無料のキーを取得し(100 クレジット、カード不要)、Bearer トークンとして送信します。

"headers": { "Authorization": "Bearer sk_live_your_key_here" }
OAuth 2.1

キーを手動で管理する必要はありません — ブラウザーからサインインすれば、あとはサーバーが処理します。

  • Dynamic Client Registration(DCR): 接続時にクライアントを自己登録するクライアント(Claude Desktop/Web、ChatGPT など、多くのクライアント)でサポートされています。
  • Client ID Metadata Documents(CIMD): 現行の MCP 仕様(2026-07-28)に準拠し、独自のメタデータドキュメントをホストするクライアントでサポートされています — DCR に代わる、より新しい方式で、共有シークレットは不要です。
  • 初回接続時に、許可されるアクセス内容を正確に示す同意画面が開きます。一度承認すれば接続完了です。

どちらの方式でも、この MCP サーバーにスコープが限定され、対象が固定されたトークンが発行されます — 他の API で再利用することはできません。


利用可能なツール

接続すると、13 個すべてのツールが自動的に公開されます。1 クレジット = リクエストの成功 1 回。 失敗した呼び出しやレート制限された呼び出しでは、クレジットは消費されません。

1. get_youtube_transcript

YouTube 動画の全トランスクリプトと、タイトル/投稿者/サムネイルのメタデータを取得します。

パラメーター型必須説明
video_urlstring必須YouTube の URL(完全な形式または短縮形式)、または 11 文字の動画 ID
languagestring任意en、es などの言語コード。デフォルトは en
send_metadataboolean任意タイトル/投稿者/サムネイルを含めます。デフォルトは true
timestampsboolean任意字幕ごとに 1 行で、各行の先頭に開始時刻 [m:ss](1 時間を超える場合は [h:mm:ss])を付けます。デフォルトは false(テキスト 1 ブロック)

料金: timestamps の有無にかかわらず、1 クレジット。

2. get_transcript_languages

動画で利用できる字幕の言語と、投稿者がアップロードしたものか自動生成されたものか、およびデフォルトのリクエストで返される言語を一覧表示します。

パラメーター型必須説明
video_urlstring必須YouTube の URL(完全な形式または短縮形式)、または 11 文字の動画 ID

空のリストは、動画の字幕がオフであることを意味します。通常のトランスクリプト取得では不要です。get_youtube_transcript が、返された言語をすでに報告します。

料金: 1 クレジット。

3. search_youtube

YouTube の動画またはチャンネルをページ分割して検索します。

パラメーター型必須説明
querystringcontinuation が設定されていない場合は必須検索クエリ
search_type"video" | "channel"任意デフォルトは "video"
continuationstring任意前回の応答で返された不透明なトークン。次のページを取得します

料金: 1 ページにつき 1 クレジット。

4. get_channel_latest_videos

チャンネルのメタデータと最新のアップロード動画を取得します。

パラメーター型必須説明
channelstring必須@handle、チャンネル URL、または UC… チャンネル ID

料金: 1 クレジット。

5. search_channel_videos

特定のチャンネルの動画を検索します。

パラメーター型必須説明
channelstringcontinuation が設定されていない場合は必須@handle、チャンネル URL、または UC… ID
querystringcontinuation が設定されていない場合は必須チャンネル内で検索するクエリ
continuationstring任意不透明なトークン。次のページを取得します

料金: 1 ページにつき 1 クレジット。

6. list_channel_videos

チャンネルの最新動画以外のアップロード動画を一覧表示します。過去のエピソード、人気動画、Shorts、過去のライブ配信などを取得できます。

パラメーター型必須説明
channelstringcontinuation が設定されていない場合は必須@handle、チャンネル URL、または UC… ID
tabstring任意videos(デフォルト)、shorts、または streams(ライブタブ)。最初のページのみ
sortstring任意latest(デフォルト)、popular、または oldest。最初のページのみ
continuationstring任意不透明なトークン。次のページを取得します

料金: 1 ページにつき 1 クレジット。

7. list_channel_playlists

チャンネルが公開したプレイリストを一覧表示します。プレイリストの id を list_playlist_videos に渡すと、収録動画を確認できます。

パラメーター型必須説明
channelstringcontinuation が設定されていない場合は必須@handle、チャンネル URL、または UC… ID
continuationstring任意不透明なトークン。次のページを取得します

料金: 1 ページにつき 1 クレジット。

8. list_channel_posts

チャンネルのコミュニティ投稿を一覧表示します。テキスト、リンク、高評価、コメント、および添付画像があればそれも含まれます。

パラメーター型必須説明
channelstringcontinuation が設定されていない場合は必須@handle、チャンネル URL、または UC… ID
continuationstring任意不透明なトークン。次のページを取得します

料金: 1 ページにつき 1 クレジット。

9. get_related_videos

YouTube が動画の横に次におすすめする動画の一覧です。各動画のタイトル、動画 ID、リンク、チャンネル、再生回数、公開時期、長さが含まれます。

ParameterTypeRequiredDescription
video_urlstringrequiredYouTube URL(完全な URL または短縮 URL)、または 11 文字の動画 ID

料金: 1 クレジット。

10. get_channel_banner

チャンネルのトリミング前のバナー、YouTube が提供するすべてのトリミングサイズ、およびアバターを取得します。チャンネルにバナーがない場合、has_banner は false になります。

ParameterTypeRequiredDescription
channelstringrequired@handle、チャンネル URL、または UC… ID

料金: 1 クレジット。

11. get_video_dislikes

動画の高評価数、低評価数、星評価、再生回数を取得します。YouTube は低評価数を公開していないため、これらは推定値です。

ParameterTypeRequiredDescription
video_urlstringrequiredYouTube URL(完全な URL または短縮 URL)、または 11 文字の動画 ID

料金: 1 クレジット。

12. list_playlist_videos

YouTube プレイリスト内のすべての動画を取得します。

ParameterTypeRequiredDescription
playliststringrequired unless continuation setプレイリスト URL または ID
continuationstringoptional不透明なトークン — 次のページを取得します

料金: 1 ページにつき 1 クレジット。

13. get_credits · FREE

キー/アカウントの残りのクレジット残高を確認します。パラメーターはありません。

料金: 無料。


ユースケースとプロンプト

ユースケースプロンプトの例
📝 動画を要約する「この動画の要点をまとめてください:[URL]」
🔍 トピックを調査する「ニューラルラディアンスフィールドに関する再生回数上位 5 本の動画を YouTube で検索し、それぞれを要約してください。」
🧠 学習ノートを作成する「この MIT 講義シリーズのプレイリストから学習ノートを作成してください:[PLAYLIST URL]」
📡 クリエイターをモニタリングする「毎朝、@hubermanlab の新しいアップロードを一覧にして、見るべき動画を教えてください。」
🏛️ コンテンツデータベースを構築する「@veritasium のすべての動画を取得し、タイトルと文字起こしを保存してください。」
🎯 チャンネルを調査する「@MKBHD 内で [topic] に関する動画を検索し、要点をまとめてください。」
✍️ コンテンツを再利用する「この動画を 1,500 語のブログ記事にしてください:[URL]」

料金とレート制限

プラン料金クレジットレート制限
Free$0登録時に 100 クレジット60 req/min
Monthly$5/month月 1,000 クレジット200 req/min
Annual$4.50/mo ($54/yr)月 1,000 クレジット300 req/min
  • 1 クレジット = 成功したリクエスト 1 件。失敗したリクエストやレート制限されたリクエストではクレジットは消費されません。
  • get_credits は唯一の無料ツールです。
  • 請求を管理 →

トラブルシューティング

認証エラー(401)
  • API キーを使用している場合は、sk_live_ で始まり、余分な空白が含まれていないことを確認してください
  • OAuth を使用している場合は、コネクターをいったん切断してから再接続してください
  • ダッシュボードで、キー/接続がまだ有効であることを確認してください
クレジット不足(402)

残高を確認し、ダッシュボードでチャージするか、アップグレードしてください。

動画を利用できません(404)
  • 動画で字幕が有効になっていない可能性があります
  • 非公開、年齢制限、または地域制限の対象である可能性があります
  • まず通常のブラウザーで再生できることを確認してください
レート制限(429)

少し待ってから再試行してください。短い間隔で繰り返しリクエストしないでください。

OAuth 接続の問題
  • getyoutubetranscript.com の Cookie を削除して、再試行してください
  • ポップアップ/リダイレクトブロッカーが同意画面の妨げになっていないことを確認してください
  • クライアントが DCR と CIMD の両方をサポートしている場合は、もう一方の登録方法を試してください

検証

このリポジトリには、ローカルの stdio MCP サーバーの MIT ライセンス対象ソース(server/ 内のツール定義、入力検証、API 呼び出し、エラーマッピング)と、ホステッドエンドポイントのマニフェストが含まれています。ホステッドエンドポイントと、その両方の背後にある REST API は getyoutubetranscript.com が運用しており、オープンソースではありません。どちらかを自分で確認するには、次の手順を実行してください。

  • ローカルサーバーのライブテストを実行する — GYT_API_KEY=sk_live_... npm test --prefix server を実行すると、server/index.js が stdio 経由で起動し、13 個すべてのツールを一覧表示して、無料のツールを呼び出します。
  • ホステッドエンドポイントに対して verify.js を実行する — 依存関係も認証も不要です:
    node verify.js
    
    ライブエンドポイントに対して実際の MCP ハンドシェイク(initialize の後に tools/list)を行い、13 個すべての実際のツールスキーマを含む、サーバーの実際の応答を出力します。 ツールの 検出 は公開されています。ツールの 呼び出し にのみ API キーまたは OAuth トークンが必要です(認証を参照)。
  • 4 つのサードパーティ MCP ディレクトリによる独立した検証済み — いずれもライブエンドポイントに接続し、こちらの説明をそのまま信じたのではなく、ツール自体を確認しています:
    • 公式 MCP Registry — com.getyoutubetranscript/youtube-transcript-and-youtube-search。ドメイン所有権を検証済みの HTTP mcp-publisher を通じて公開されています
    • Smithery — 独自のスキャナーが接続し、6 個すべてのツールを検出しました
    • Glama
    • LobeHub
  • 2026-09-12 から稼働中 — OAuth 2.1(DCR + CIMD)フローも、CIMD 経由で接続した実際のサードパーティクライアント(Smithery)によってエンドツーエンドでテストされ、その過程で実際の相互運用性の問題が明らかになり、修正されました(コミット履歴を参照)。

REST API も利用できます

エージェントではなくアプリを構築していますか?同じバックエンドを通常の JSON REST API として利用できます。エンドポイントの全リファレンスについては Agent Skill リポジトリを、直接キーを取得するにはダッシュボードをご覧ください。

ベース URL:https://getyoutubetranscript.com/api/v1


接続

開示

getyoutubetranscript.com は独立した製品であり、YouTube や Google とは提携しておらず、承認も受けていません。

関連プロジェクト

GetYouTubeTranscript APIを利用するその他の方法:

ライセンス

MIT — LICENSEを参照してください。

コメント

MCP は初めてですか?

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

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