YouTube Transcript + YouTube Search MCP について
YouTube Transcript + YouTube Search MCPは、動画の文字起こし、検索、チャンネル閲覧、プレイリスト情報をAIエージェントに提供するホスト型サーバーです。ローカルサーバーを動かさずにYouTubeの情報を扱いたいMCPユーザー向けです。
主な機能
- 01文字起こしと対応言語の取得
- 02動画とチャンネルの検索
- 03チャンネル投稿動画の閲覧と検索
- 04プレイリストと収録動画の一覧
- 05チャンネル投稿と関連動画の取得
- 06APIキーまたはOAuth 2.1認証
活用シーン
- 01文字起こしからYouTube動画を要約する
- 02テーマに合う動画やチャンネルを探す
- 03チャンネル内で関連動画を検索する
- 04チャンネルのプレイリストや投稿を閲覧する
MCP 対応
ホスト型のリモートMCPエンドポイントでYouTubeツールを提供し、APIキーまたはOAuth 2.1認証に対応します。同じツールを備えたローカルstdioサーバーも利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://getyoutubetranscript.com/api/mcpclaude mcp add --transport http com-getyoutubetranscript-youtube-transcript-and-youtube-search https://getyoutubetranscript.com/api/mcp{"mcpServers":{"com-getyoutubetranscript-youtube-transcript-and-youtube-search":{"type":"http","url":"https://getyoutubetranscript.com/api/mcp"}}}Cursor で開く{"servers":{"com-getyoutubetranscript-youtube-transcript-and-youtube-search":{"type":"http","url":"https://getyoutubetranscript.com/api/mcp"}}}VS Code で開く{"mcpServers":{"com-getyoutubetranscript-youtube-transcript-and-youtube-search":{"type":"http","url":"https://getyoutubetranscript.com/api/mcp"}}}{"mcpServers":{"com-getyoutubetranscript-youtube-transcript-and-youtube-search":{"serverUrl":"https://getyoutubetranscript.com/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
7| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| language | string | いいえ | 言語コード(例:'en'、'es')。デフォルトは 'en' です。 |
| translate | string | いいえ | 字幕の機械翻訳先の言語コード(例:'es'、'zh-CN')。タイムスタンプとの対応は維持されます。ユーザーが動画のテキストを別の言語で求める場合に使用します。 |
| video_url | string | はい | YouTube の URL(完全形式または短縮形式)、または 11 文字の動画 ID |
| timestamps | boolean | いいえ | 字幕 1 行につき 1 行で、各行は開始時刻 [m:ss] で始まります。デフォルトは false(テキスト 1 ブロック)です。 |
| send_metadata | boolean | いいえ | タイトル/作者/サムネイルのメタデータを含めます。デフォルトは true です。 |
詳細
YouTube MCP サーバー:文字起こし、検索、チャンネル、プレイリスト
YouTube 向けのリモート MCP サーバーです。文字起こし、動画・チャンネル検索、チャンネル閲覧、チャンネル内検索、プレイリストの抽出ができます。
API キーまたは OAuth 2.1 でサインインできます。無料枠があり、カードは不要です。
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)
- Settings → Connectors → Add custom connector
- 名前:
YouTube Transcript· URL:https://getyoutubetranscript.com/api/mcp - 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_url | string | 必須 | YouTube の URL(完全な形式または短縮形式)、または 11 文字の動画 ID |
language | string | 任意 | en、es などの言語コード。デフォルトは en |
send_metadata | boolean | 任意 | タイトル/投稿者/サムネイルを含めます。デフォルトは true |
timestamps | boolean | 任意 | 字幕ごとに 1 行で、各行の先頭に開始時刻 [m:ss](1 時間を超える場合は [h:mm:ss])を付けます。デフォルトは false(テキスト 1 ブロック) |
料金: timestamps の有無にかかわらず、1 クレジット。
2. get_transcript_languages
動画で利用できる字幕の言語と、投稿者がアップロードしたものか自動生成されたものか、およびデフォルトのリクエストで返される言語を一覧表示します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
video_url | string | 必須 | YouTube の URL(完全な形式または短縮形式)、または 11 文字の動画 ID |
空のリストは、動画の字幕がオフであることを意味します。通常のトランスクリプト取得では不要です。get_youtube_transcript が、返された言語をすでに報告します。
料金: 1 クレジット。
3. search_youtube
YouTube の動画またはチャンネルをページ分割して検索します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | continuation が設定されていない場合は必須 | 検索クエリ |
search_type | "video" | "channel" | 任意 | デフォルトは "video" |
continuation | string | 任意 | 前回の応答で返された不透明なトークン。次のページを取得します |
料金: 1 ページにつき 1 クレジット。
4. get_channel_latest_videos
チャンネルのメタデータと最新のアップロード動画を取得します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
channel | string | 必須 | @handle、チャンネル URL、または UC… チャンネル ID |
料金: 1 クレジット。
5. search_channel_videos
特定のチャンネルの動画を検索します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
channel | string | continuation が設定されていない場合は必須 | @handle、チャンネル URL、または UC… ID |
query | string | continuation が設定されていない場合は必須 | チャンネル内で検索するクエリ |
continuation | string | 任意 | 不透明なトークン。次のページを取得します |
料金: 1 ページにつき 1 クレジット。
6. list_channel_videos
チャンネルの最新動画以外のアップロード動画を一覧表示します。過去のエピソード、人気動画、Shorts、過去のライブ配信などを取得できます。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
channel | string | continuation が設定されていない場合は必須 | @handle、チャンネル URL、または UC… ID |
tab | string | 任意 | videos(デフォルト)、shorts、または streams(ライブタブ)。最初のページのみ |
sort | string | 任意 | latest(デフォルト)、popular、または oldest。最初のページのみ |
continuation | string | 任意 | 不透明なトークン。次のページを取得します |
料金: 1 ページにつき 1 クレジット。
7. list_channel_playlists
チャンネルが公開したプレイリストを一覧表示します。プレイリストの id を list_playlist_videos に渡すと、収録動画を確認できます。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
channel | string | continuation が設定されていない場合は必須 | @handle、チャンネル URL、または UC… ID |
continuation | string | 任意 | 不透明なトークン。次のページを取得します |
料金: 1 ページにつき 1 クレジット。
8. list_channel_posts
チャンネルのコミュニティ投稿を一覧表示します。テキスト、リンク、高評価、コメント、および添付画像があればそれも含まれます。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
channel | string | continuation が設定されていない場合は必須 | @handle、チャンネル URL、または UC… ID |
continuation | string | 任意 | 不透明なトークン。次のページを取得します |
料金: 1 ページにつき 1 クレジット。
9. get_related_videos
YouTube が動画の横に次におすすめする動画の一覧です。各動画のタイトル、動画 ID、リンク、チャンネル、再生回数、公開時期、長さが含まれます。
| Parameter | Type | Required | Description |
|---|---|---|---|
video_url | string | required | YouTube URL(完全な URL または短縮 URL)、または 11 文字の動画 ID |
料金: 1 クレジット。
10. get_channel_banner
チャンネルのトリミング前のバナー、YouTube が提供するすべてのトリミングサイズ、およびアバターを取得します。チャンネルにバナーがない場合、has_banner は false になります。
| Parameter | Type | Required | Description |
|---|---|---|---|
channel | string | required | @handle、チャンネル URL、または UC… ID |
料金: 1 クレジット。
11. get_video_dislikes
動画の高評価数、低評価数、星評価、再生回数を取得します。YouTube は低評価数を公開していないため、これらは推定値です。
| Parameter | Type | Required | Description |
|---|---|---|---|
video_url | string | required | YouTube URL(完全な URL または短縮 URL)、または 11 文字の動画 ID |
料金: 1 クレジット。
12. list_playlist_videos
YouTube プレイリスト内のすべての動画を取得します。
| Parameter | Type | Required | Description |
|---|---|---|---|
playlist | string | required unless continuation set | プレイリスト URL または ID |
continuation | string | optional | 不透明なトークン — 次のページを取得します |
料金: 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を実行する — 依存関係も認証も不要です:
ライブエンドポイントに対して実際の MCP ハンドシェイク(node verify.jsinitializeの後にtools/list)を行い、13 個すべての実際のツールスキーマを含む、サーバーの実際の応答を出力します。 ツールの 検出 は公開されています。ツールの 呼び出し にのみ API キーまたは OAuth トークンが必要です(認証を参照)。 - 4 つのサードパーティ MCP ディレクトリによる独立した検証済み — いずれもライブエンドポイントに接続し、こちらの説明をそのまま信じたのではなく、ツール自体を確認しています:
- 公式 MCP Registry —
com.getyoutubetranscript/youtube-transcript-and-youtube-search。ドメイン所有権を検証済みの HTTPmcp-publisherを通じて公開されています - Smithery — 独自のスキャナーが接続し、6 個すべてのツールを検出しました
- Glama
- LobeHub
- 公式 MCP Registry —
- 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
- 🔑 ダッシュボード: getyoutubetranscript.com/dashboard
- 🧩 Agent Skill 版: tubeagentkit/youtube-transcript-skills
開示
getyoutubetranscript.com は独立した製品であり、YouTube や Google とは提携しておらず、承認も受けていません。
関連プロジェクト
GetYouTubeTranscript APIを利用するその他の方法:
- youtube-transcript-api:YouTube Transcript API のドキュメント、エンドポイントリファレンス、OpenAPI 仕様、および curl、Python、JavaScript、Go、PHP のサンプル
- youtube-transcript-api-python:Python 用 YouTube Transcript API SDK
- youtube-transcript-api-node:Node.js / TypeScript 用 YouTube Transcript API SDK
- youtube-transcript-skills:Claude Code、Cursor、Codex、OpenClaw 用 YouTube transcript Agent Skill
- youtube-transcript-cursor-plugin:MCP サーバー、スキル、コマンド、リサーチエージェントを同梱した YouTube Transcript Cursor プラグイン
- n8n-nodes-getyoutubetranscript:YouTube transcript の n8n コミュニティノード。AI エージェントのツールとしても利用できます
ライセンス
MIT — LICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。