YouTube MCP Server
YouTube MCP Server
Claude Code に YouTube を統合する MCP サーバー — 動画の文字起こし、検索、メタデータ、チャンネル情報、プレイリスト、コメント、トレンド動画、エンゲージメント分析、チャプター抽出、SponsorBlock 統合、最も再生されたヒートマップを提供します。YouTube Data API v3、youtube-transcript、SponsorBlock を使用しています。
クイックスタート
ステップ 1: API キーを取得する
Google Cloud Console にアクセスします
プロジェクトを作成します(既存のプロジェクトを選択しても構いません)
YouTube Data API v3 を有効にします:
API ライブラリ に移動します
有効にする をクリックします
API キーを作成します:
認証情報 に移動します
認証情報を作成 > 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 に登録する
インストールの適用範囲を選択します:
適用範囲 | フラグ | 使用できるユーザー |
User(推奨) |
| 自分(すべてのプロジェクト) |
Project |
| このリポジトリをクローンした全員 |
Local |
| 現在のディレクトリのみ |
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-research
機能
文字起こしとキャプション
Get Transcript(
get_transcript)- タイムスタンプ付きの完全な動画文字起こしを取得します。複数の言語に対応していますSearch Transcript(
search_transcript)- 動画内でキーワードやフレーズが登場する位置をタイムスタンプ付きで検索しますClean Transcript(
get_clean_transcript)- SponsorBlock を使用してスポンサー部分、イントロ、アウトロ、冗長な箇所を除去した文字起こしを取得しますExtract Chapters(
extract_chapters)- 動画の説明からチャプターのタイムスタンプを抽出します
検索と発見
Search Videos(
search_videos)- 日付、再生時間、タイプ、並び順のフィルターに対応した完全な YouTube 検索を行いますSearch Within Channel(
search_within_channel)- 特定のクリエイターの動画を検索しますGet Trending Videos(
get_trending_videos)- 地域やカテゴリごとの現在のトレンド動画を取得しますGet Channel Videos(
get_channel_videos)- チャンネルの最近のアップロード動画を日付または再生回数で並べて取得します
動画とチャンネル情報
Video Metadata(
get_video_metadata)- タイトル、説明、再生時間、再生回数、いいね数、タグなどの情報を取得しますChannel Info(
get_channel_info)- 登録者数、動画数、説明、国を取得しますPlaylist Items(
get_playlist_items)- プレイリスト内のすべての動画を、位置情報とメタデータ付きで取得します
分析とエンゲージメント
Calculate Engagement(
calculate_engagement)- 公開統計からいいね率、コメント率、エンゲージメント率を計算しますMost Replayed(
get_most_replayed)- 視聴者が最も見返す部分を示すヒートマップデータを取得しますVideo Comments(
get_video_comments)- いいね数と返信数付きの上位コメントを取得します
ユーティリティ
Parse YouTube URL(
parse_youtube_url)- あらゆる YouTube URL 形式から動画・チャンネル・プレイリストの ID を抽出します
使用方法
インストール後は、トリガーフレーズを使って YouTube ツールを呼び出せます:
トリガー | ツール | 例 |
| Get Transcript | "この動画の YouTube 文字起こしを取得して" |
| Search Videos | "React のチュートリアルを YouTube で検索して" |
| Video Metadata | "この動画の YouTube メタデータを取得して" |
| Channel Info | "@ThePrimeagen の YouTube チャンネル情報を取得して" |
| Playlist Items | "この YouTube プレイリストの動画を一覧表示して" |
| Video Comments | "この動画の YouTube コメントを取得して" |
| Trending Videos | "アメリカで YouTube のトレンドは何?" |
| Extract Chapters | "この YouTube 動画からチャプターを抽出して" |
| Calculate Engagement | "この動画の YouTube エンゲージメントを計算して" |
| Most Replayed | "この YouTube 動画の最も見返されている部分を表示して" |
| Clean Transcript | "スポンサーなしのクリーンな YouTube 文字起こしを取得して" |
| Search Transcript | "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
注意: ヒートマップデータを利用するには、おおよそ 5 万回以上の再生回数が必要です。
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 library | いいえ |
| youtube-transcript library | いいえ |
| 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に移動します
「Enabled」と表示されるはずです
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
- FlicenseAqualityDmaintenanceIntegrates YouTube with Claude Code, enabling video transcript retrieval, search, metadata extraction, channel info, playlists, comments, trending videos, engagement analytics, chapter extraction, SponsorBlock integration, and most-replayed heatmaps.15386
- AlicenseAqualityDmaintenanceEnables YouTube integration with Claude Code, including video search, metadata retrieval, transcript fetching, channel exploration, and trending videos.81MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to interact with YouTube Data API for searching videos, channels, and playlists, and retrieving details and playlists.38
- FlicenseNot gradedqualityCmaintenanceEnables bringing YouTube to Claude Code with transcripts, search, metadata, channel info, playlists, comments, trending videos, engagement analytics, chapter extraction, SponsorBlock integration, and most-replayed heatmaps.38
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…
YouTube transcripts, subtitles, and video metadata as structured JSON via an Apify Actor.
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/aima4703/youtube-mcp-remote'
If you have feedback or need assistance with the MCP directory API, please join our Discord server