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 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-mcp
機能
文字起こしとキャプション
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
視聴者が最も見返す部分を示すヒートマップデータ(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(例: Musicは"10"、Gamingは"20"、Science & Techは"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タイムアウト(ミリ秒) |
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」エラーが表示された場合:
太平洋時間の深夜まで待つ(クォータは毎日リセットされる)
別のAPIキーを使用する
低コストのツール(
get_video_metadata、1ユニット)を検索ツール(100ユニット)よりも優先する
トランスクリプトが利用できない
一部の動画ではトランスクリプトが無効になっています。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コントリビューション
Pull request 歓迎!シンプルで初心者にやさしい内容にしてください。
ライセンス
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
- FlicenseBqualityNot gradedmaintenanceEnables extraction and processing of YouTube video transcripts from individual videos, channels, and playlists. Supports transcript search, batch processing, multiple output formats (JSON, text, SRT, VTT), and bulk operations across multiple videos.1134
- AlicenseAqualityDmaintenanceEnables AI tools to access YouTube content, including transcript extraction, video/channel info, and search.427MIT
- AlicenseAqualityDmaintenanceEnables fetching, searching, and summarizing YouTube video transcripts with multi-language support.4MIT
- AlicenseAqualityAmaintenanceEnables fetching YouTube transcripts, searching videos, and listing channel/playlist videos via the TranscriptFetch API.10555MIT
Related MCP Connectors
Fetch transcripts, subtitles, chapters, metadata and frames from YouTube and 10+ video platforms
Extract YouTube transcripts, search what was said, and read on-screen frames with cited timestamps.
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
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/Engr-IsrarUllah/ClaudeCode_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server