YouTube MCP Server
YouTube MCP Server
YouTubeをClaude Codeに統合するMCPサーバーです。動画の文字起こし、検索、メタデータ、チャンネル情報、プレイリスト、コメント、急上昇動画、エンゲージメント分析、チャプター抽出、SponsorBlock統合、そして最も再生されたヒートマップに対応しています。YouTube Data API v3、youtube-transcript、SponsorBlockを使用します。
クイックスタート
ステップ1: APIキーを取得
Google Cloud Console にアクセスする
プロジェクトを作成する(または既存のものを選択する)
YouTube Data API v3 を有効にする:
API Library にアクセスする
有効にする をクリックする
APIキーを作成する:
Credentials にアクセスする
認証情報を作成 > APIキー をクリックする
キーをコピーする(ステップ3で必要になります)
ステップ2: 前提条件のインストール
Node.js 18+ - ここからダウンロード
Claude Code CLI - インストールガイド
ステップ3: MCPサーバーをインストール
3.1 リポジトリをクローン
git clone https://github.com/wynandw87/claude-code-youtube-mcp.git
cd claude-code-youtube-mcp3.2 依存関係をインストール
macOS / Linux / Windows:
npm install注: 依存関係のインストールとサーバーのビルドは自動的に1つのステップで行われます。
3.3 Claude Codeに登録
インストールのスコープを選択:
スコープ | フラグ | 利用者 |
ユーザー(推奨) |
| あなた(任意のプロジェクト) |
プロジェクト |
| このリポジトリをクローンした人なら誰でも |
ローカル |
| 現在のディレクトリのみ |
YOUR_API_KEY を実際のYouTube Data APIキーに置き換え、dist/index.js へのフルパスを使用してください。
ヒント: フルパスを取得するには、クローンしたディレクトリから以下を実行します:
macOS/Linux:
echo "$(pwd)/dist/index.js"Windows:
echo %cd%\dist\index.js
macOS / Linux:
claude mcp add -s user youtube -e YOUTUBE_API_KEY=YOUR_API_KEY -- node /full/path/to/dist/index.jsWindows (CMD):
claude mcp add -s user youtube -e "YOUTUBE_API_KEY=YOUR_API_KEY" -- node "C:\full\path\to\dist\index.js"Windows (PowerShell):
claude mcp add -s user youtube -e "YOUTUBE_API_KEY=YOUR_API_KEY" '--' node "C:\full\path\to\dist\index.js"代替方法: npmヘルパーを使用する(APIキーが環境変数に設定されている場合)
export YOUTUBE_API_KEY=YOUR_API_KEY
npm run install:claudeステップ4: Claude Codeを再起動
変更を反映するには、Claude Codeを閉じて再度開いてください。
ステップ5: インストールの確認
claude mcp listyoutube が Connected ステータスで表示されます。
Related MCP server: YouTube Insights MCP Server
機能
文字起こしとキャプション
文字起こしを取得 (
get_transcript) - タイムスタンプ付きの完全な動画文字起こしを取得します。複数の言語に対応文字起こしを検索 (
search_transcript) - キーワードやフレーズが動画内のどのタイムスタンプに登場するかを調べますクリーンな文字起こし (
get_clean_transcript) - SponsorBlockを利用して、スポンサー、イントロ、アウトロ、冗長な部分を除去した文字起こしチャプターを抽出 (
extract_chapters) - 動画の説明からチャプターのタイムスタンプを解析します
検索とディスカバリー
動画を検索 (
search_videos) - 日付、時間、タイプ、並び順のフィルター付きの完全なYouTube検索チャンネル内を検索 (
search_within_channel) - 特定のクリエイターの動画を検索します急上昇動画を取得 (
get_trending_videos) - 地域とカテゴリごとの現在の急上昇動画チャンネル動画を取得 (
get_channel_videos) - チャンネルの最近のアップロード動画を日付または再生回数で並べ替え
動画とチャンネル情報
動画メタデータ (
get_video_metadata) - タイトル、説明、時間、再生回数、高評価数、タグなどチャンネル情報 (
get_channel_info) - 登録者数、動画数、説明、国プレイリスト項目 (
get_playlist_items) - プレイリスト内のすべての動画と、その位置とメタデータ
分析とエンゲージメント
エンゲージメントを計算 (
calculate_engagement) - 公開統計から高評価率、コメント率、エンゲージメント率を計算最も再生された部分 (
get_most_replayed) - 視聴者が最も見返す部分を示すヒートマップデータ動画コメント (
get_video_comments) - 高評価数と返信数付きの上位コメント
ユーティリティ
YouTube URLを解析 (
parse_youtube_url) - あらゆるYouTube URL形式から動画/チャンネル/プレイリストIDを抽出します
使用方法
インストール後、トリガーフレーズを使用してYouTubeツールを呼び出せます:
トリガー | ツール | 例 |
| 文字起こしを取得 | "この動画のyoutube文字起こしを取得して" |
| 動画を検索 | "Reactチュートリアルをyoutubeで検索して" |
| 動画メタデータ | "この動画のyoutubeメタデータを取得して" |
| チャンネル情報 | "@ThePrimeagen のyoutubeチャンネル情報を取得して" |
| プレイリスト項目 | "このyoutubeプレイリストの動画を一覧表示して" |
| 動画コメント | "この動画のyoutubeコメントを取得して" |
| 急上昇動画を取得 | "米国でyoutubeの急上昇は?" |
| チャプターを抽出 | "このyoutube動画からチャプターを抽出して" |
| エンゲージメントを計算 | "この動画のyoutubeエンゲージメントを計算して" |
| 最も再生された部分 | "このyoutube動画の最も再生された部分を表示して" |
| クリーンな文字起こし | "スポンサーなしのクリーンなyoutube文字起こしを取得して" |
| 文字起こしを検索 | "youtube文字起こしから'authentication'を検索して" |
または自然な質問も可能です:
"このYouTube動画の文字起こしを取得して要約して"
"この動画の最も再生された部分はどこ?"
"このチャンネルのTypeScriptに関する最近の動画を見つけて"
"この動画の再生回数と高評価数は?"
"この動画のコメントを取得して感情を要約して"
"このチュートリアルのチャプターを見せて"
"スポンサー読み上げなしのクリーンな文字起こしを取得して"
"今、YouTubeのゲームで急上昇しているのは?"
ツールリファレンス
parse_youtube_url
あらゆるYouTube URL形式を解析し、識別子を抽出します。APIキーは不要です。
パラメータ:
url(string, 必須) - YouTubeのURLまたは動画ID
対応形式: youtube.com/watch?v=、youtu.be/、/shorts/、/embed/、/playlist?list=、/channel/、/@handle、/c/、/user/、動画IDのみ
get_transcript
YouTube動画の完全な文字起こし/キャプションを取得します。APIキーは不要です。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画IDlang(string, 任意) - キャプションの言語コード(デフォルト:"en")
search_transcript
動画の文字起こし内でキーワードやフレーズを検索します。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画IDquery(string, 必須) - 検索するキーワードまたはフレーズlang(string, 任意) - キャプションの言語コード(デフォルト:"en")
extract_chapters
動画の説明からチャプターのタイムスタンプを抽出します。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画ID
get_clean_transcript
SponsorBlockを利用して、スポンサーの読み上げ、イントロ、アウトロ、冗長な部分を除去した文字起こしを取得します。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画IDlang(string, 任意) - キャプションの言語コード(デフォルト:"en")
get_most_replayed
視聴者が最も見返す部分を示す「最も再生された部分」のヒートマップデータを取得します。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画ID
注: ヒートマップデータを利用するには、約50,000回以上の再生回数が必要です。
search_videos
完全なフィルター対応のYouTube検索を実行します。
パラメータ:
query(string, 必須) - 検索クエリmax_results(number, 任意) - 結果の数(1~50)(デフォルト:10)order(string, 任意) -"relevance"、"date"、"viewCount"、"rating"(デフォルト:"relevance")duration(string, 任意) -"short"(4分未満)、"medium"(4〜20分)、"long"(20分超)upload_date(string, 任意) -"hour"、"day"、"week"、"month"、"year"type(string, 任意) -"video"、"channel"、"playlist"(デフォルト:"video")
get_video_metadata
YouTube動画の詳細なメタデータを取得します。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画ID
戻り値: タイトル、説明、チャンネル、時間、再生回数/高評価数/コメント数、タグ、カテゴリ、サムネイル、ライブステータスなど。
get_channel_info
YouTubeチャンネル情報を取得します。
パラメータ:
url(string, 必須) - YouTubeチャンネルのURL、@handle、またはチャンネルID
戻り値: タイトル、説明、登録者数/動画数/再生回数、国、カスタムURL、サムネイル。
get_playlist_items
YouTubeプレイリスト内のすべての動画を取得します。
パラメータ:
url(string, 必須) - YouTubeプレイリストのURLまたはプレイリストIDmax_results(number, 任意) - 項目の数(1~50)(デフォルト:25)
get_channel_videos
YouTubeチャンネルの最近の動画を取得します。
パラメータ:
url(string, 必須) - YouTubeチャンネルのURL、@handle、またはチャンネルIDmax_results(number, 任意) - 動画の数(1~50)(デフォルト:25)order(string, 任意) -"date"、"viewCount"(デフォルト:"date")
get_trending_videos
現在急上昇中の/人気のYouTube動画を取得します。
パラメータ:
region_code(string, 任意) - ISO 3166-1 alpha-2 国コード(デフォルト:"US")category_id(string, 任意) - YouTubeカテゴリID(例:"10"は音楽、"20"はゲーム、"28"はサイエンス&テクノロジー)max_results(number, 任意) - 結果の数(1~50)(デフォルト:10)
search_within_channel
特定のYouTubeチャンネル内の動画を検索します。
パラメータ:
url(string, 必須) - YouTubeチャンネルのURL、@handle、またはチャンネルIDquery(string, 必須) - 検索クエリmax_results(number, 任意) - 結果の数(1~50)(デフォルト:10)
get_video_comments
YouTube動画のトップレベルコメントを取得します。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画IDmax_results(number, 任意) - コメントの数(1~100)(デフォルト:20)order(string, 任意) -"relevance"、"time"(デフォルト:"relevance")
calculate_engagement
YouTube動画のエンゲージメント指標を計算します。
パラメータ:
url(string, 必須) - YouTubeの動画URLまたは動画ID
戻り値: 再生回数、高評価数、コメント数、高評価率、コメント率、総合エンゲージメント率。
仕組み
このMCPサーバーはstdioトランスポートを介してClaude Codeに接続し、15のツールを提供します:
ツール | データソース | APIキーが必要か? |
| ローカル解析 | いいえ |
| youtube-transcriptライブラリ | いいえ |
| youtube-transcriptライブラリ | いいえ |
| youtube-transcript + SponsorBlock API | いいえ |
| YouTubeページ (Innertube) | いいえ |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
| YouTube Data API v3 | はい |
注: 5つのツールはAPIキーなしで動作します(文字起こし、SponsorBlock、ヒートマップ、URL解析)。残りの10個はYouTube Data API v3キーが必要です。
設定
環境変数
変数 | 必須 | デフォルト | 説明 |
| はい | — | YouTube Data API v3キー |
| いいえ |
| APIタイムアウト(ms) |
YouTube APIクォータ
YouTube Data API v3には1日あたり10,000ユニットのクォータがあります。各ツールの消費量は異なります:
操作 | 1回あたりのコスト |
| 100ユニット |
| 1ユニット |
| 1ユニット |
| 1ユニット |
| 1ユニット |
| 1ユニット |
ヒント: 検索操作は最もコストがかかります。最近のアップロードだけが必要な場合は、
search_within_channel(100ユニット)ではなくget_channel_videos(1ユニット)を使用してください。
トラブルシューティング
APIキーを修正する
誤ったAPIキーを入力した場合は、削除して再インストールしてください:
claude mcp remove youtubeその後、上記のステップ3.3のコマンドを使用して再インストールしてください(最初にインストールしたときと同じスコープを使用してください)。
MCPサーバーが表示されない
サーバーがインストールされているか確認してください:
claude mcp list一覧にない場合は、ステップ3に従ってインストールしてください。
サーバーが起動しない
APIキーが有効であることを確認してください: Google Cloud Console
YouTube Data APIが有効になっているか確認してください:
API Library に移動
「有効」と表示されているはずです
Node.jsのバージョンを確認してください(18以上が必要):
node --versionサーバーがビルドされていることを確認してください —
dist/index.jsがない場合は、npm installを再実行してください
接続エラー
dist/index.jsが存在するか確認してください — ない場合はnpm installを実行してくださいclaude mcp addコマンドでパスが絶対パスであることを確認してください設定変更後はClaude Codeを再起動してください
クォータ超過
「quotaExceeded」エラーが表示される場合:
太平洋時間の午前0時まで待つ(クォータは毎日リセットされます)
別のAPIキーを使用する
検索ツール(100ユニット)よりも低コストのツール(
get_video_metadataの1ユニット)を優先する
文字起こしが利用できない
一部の動画では文字起こしが無効になっています。get_transcriptツールは明確なエラーメッセージを返します。次のことを試してください:
別の言語コード(例:
lang: \"es\")手動の字幕がない場合でも、自動生成のキャプションが利用できる場合があります
タイムアウトエラー
低速接続の場合はYOUTUBE_TIMEOUT環境変数を増やしてください:
claude mcp add -s user youtube -e YOUTUBE_API_KEY=YOUR_KEY -e YOUTUBE_TIMEOUT=60000 -- node /path/to/dist/index.js現在の設定を表示する
claude mcp listコントリビューション
プルリクエスト歓迎です!シンプルで初心者に優しいものをお願いします。
ライセンス
MIT
Claude Codeコミュニティのために作られました
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables interaction with YouTube through search and transcript extraction functionality. Allows searching for videos and retrieving full transcripts with timestamps for content analysis.26
- AlicenseBqualityCmaintenanceEnables extraction of transcripts, keyword-based video search with metadata retrieval, and channel information discovery from YouTube videos through natural language interaction.34MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, read channels, browse playlists, fetch comments, and get transcripts from YouTube using the YouTube Data API v3 and InnerTube API for captions.2GPL 3.0
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, channels, and playlists, retrieve video metadata, transcripts, and comments via the YouTube Data API v3.73
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
Extract YouTube transcripts, search what was said, and read on-screen frames with cited timestamps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thesalautomation-lgtm/youtube-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server