Skip to main content
Glama
rai-wasif

YouTube MCP Server

by rai-wasif

YouTube MCP Server

元の claude-code-youtube-mcp リポジトリをベースにした YouTube MCP サーバーです。このバージョンは STDIO と Streamable HTTP トランスポートの両方をサポートしているため、Claude Code 用にローカルで実行することも、Claude.ai のカスタムコネクタ用にリモートにデプロイすることもできます。

このサーバーは、動画検索、メタデータ、チャンネル情報、プレイリスト、コメント、トレンド動画、エンゲージメント分析、文字起こし、チャプター、SponsorBlock によるクリーニング、最も再生されたヒートマップなど、YouTube Data API v3 のツールを提供します。

元のリポジトリ: https://github.com/wynandw87/claude-code-youtube-mcp

ローカルでの実行

npm install
npm run build
npm run start:http

エンドポイント:

GET  /health
POST /mcp

Related MCP server: YouTube MCP Server

環境変数

YOUTUBE_API_KEY=your_key_here

API キーを GitHub にコミットしないでください。ローカル環境、.env、またはデプロイプラットフォームの環境変数に保持してください。

Railway へのデプロイ

  1. この GitHub リポジトリを Railway にデプロイします。

  2. Railway で YOUTUBE_API_KEY 環境変数を追加します。

  3. 開始コマンドを次のように設定します:

npm run start:http
  1. 公開 MCP エンドポイントを使用します:

https://your-domain/mcp

クイックスタート

ステップ 1: API キーを取得する

  1. Google Cloud Console に移動します

  2. プロジェクトを作成するか、既存のプロジェクトを選択します

  3. YouTube Data API v3 を有効にします:

  4. API キーを作成します:

    • 認証情報 に移動します

    • 認証情報を作成 > API キー をクリックします

  5. キーをコピーします(ステップ 3 で必要になります)

ステップ 2: 前提条件をインストールする

ステップ 3: MCP サーバーをインストールする

3.1 リポジトリをクローンする

git clone https://github.com/wynandw87/claude-code-youtube-mcp.git
cd claude-code-youtube-mcp

3.2 依存関係をインストールする

macOS / Linux / Windows:

npm install

注: 依存関係のインストールとサーバーのビルドは 1 つのステップで自動的に行われます。

3.3 Claude Code に登録する

インストール範囲を選択します:

範囲

フラグ

使用できるユーザー

ユーザー(推奨)

-s user

任意のプロジェクトで自分自身

プロジェクト

-s project

このリポジトリをクローンした全員

ローカル

-s 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.js

Windows (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 list

youtube が Connected ステータスで一覧表示されるはずです。


機能

文字起こしとキャプション

  • 文字起こしを取得 (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 transcript

文字起こしを取得

"get the youtube transcript for this video"

youtube search

動画を検索

"youtube search for React tutorials"

youtube metadata

動画メタデータ

"get youtube metadata for this video"

youtube channel

チャンネル情報

"get youtube channel info for @ThePrimeagen"

youtube playlist

プレイリスト項目

"list the videos in this youtube playlist"

youtube comments

動画コメント

"get youtube comments for this video"

youtube trending

トレンド動画

"what's trending on youtube in the US?"

youtube chapters

チャプターを抽出

"extract chapters from this youtube video"

youtube engagement

エンゲージメントを計算

"calculate youtube engagement for this video"

youtube most replayed

最も再生された部分

"show the most replayed parts of this youtube video"

youtube clean transcript

文字起こしをクリーニング

"get a clean youtube transcript without sponsors"

youtube search transcript

文字起こしを検索

"search the youtube transcript for '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 または動画 ID

  • lang (string, 任意) - キャプションの言語コード(デフォルト: "en"

動画の文字起こし内でキーワードやフレーズを検索します。

パラメータ:

  • url (string, 必須) - YouTube 動画 URL または動画 ID

  • query (string, 必須) - 検索するキーワードまたはフレーズ

  • lang (string, 任意) - キャプションの言語コード(デフォルト: "en"

extract_chapters

動画の説明からチャプターのタイムスタンプを抽出します。

パラメータ:

  • url (string, 必須) - YouTube 動画 URL または動画 ID

get_clean_transcript

SponsorBlock を使用してスポンサー読み上げ、イントロ、アウトロ、不要な部分を除去した文字起こしを取得します。

パラメータ:

  • url (string, 必須) - YouTube 動画 URL または動画 ID

  • lang (string, 任意) - キャプションの言語コード(デフォルト: "en"

get_most_replayed

視聴者が最も見返す部分を示す「最も再生された」ヒートマップデータを取得します。

パラメータ:

  • url (string, 必須) - YouTube 動画 URL または動画 ID

注: ヒートマップデータを利用するには、約 5 万回以上の再生回数が必要です。

完全なフィルター対応の 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、@ハンドル、またはチャンネル ID

戻り値: タイトル、説明、登録者/動画/再生回数、国、カスタム URL、サムネイル。

get_playlist_items

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

パラメータ:

  • url (string, 必須) - YouTube プレイリスト URL またはプレイリスト ID

  • max_results (number, 任意) - 項目数、1〜50(デフォルト: 25

get_channel_videos

YouTube チャンネルの最近の動画を取得します。

パラメータ:

  • url (string, 必須) - YouTube チャンネル URL、@ハンドル、またはチャンネル ID

  • max_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

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

パラメータ:

  • url (string, 必須) - YouTube チャンネル URL、@ハンドル、またはチャンネル ID

  • query (string, 必須) - 検索クエリ

  • max_results (number, 任意) - 結果数、1〜50(デフォルト: 10

get_video_comments

YouTube 動画のトップレベルコメントを取得します。

パラメータ:

  • url (string, 必須) - YouTube 動画 URL または動画 ID

  • max_results (number, 任意) - コメント数、1〜100(デフォルト: 20

  • order (string, 任意) - "relevance""time"(デフォルト: "relevance"

calculate_engagement

YouTube 動画のエンゲージメント指標を計算します。

パラメータ:

  • url (string, 必須) - YouTube 動画 URL または動画 ID

戻り値: 再生回数、いいね数、コメント数、いいね率、コメント率、総合エンゲージメント率。


仕組み

この MCP サーバーは stdio トランスポートを介して Claude Code に接続し、15 個のツールを提供します:

ツール

データソース

APIキーが必要か?

parse_youtube_url

ローカル解析

いいえ

get_transcript

youtube-transcriptライブラリ

いいえ

search_transcript

youtube-transcriptライブラリ

いいえ

get_clean_transcript

youtube-transcript + SponsorBlock API

いいえ

get_most_replayed

YouTubeページ(Innertube)

いいえ

extract_chapters

YouTube Data API v3

はい

search_videos

YouTube Data API v3

はい

get_video_metadata

YouTube Data API v3

はい

get_channel_info

YouTube Data API v3

はい

get_playlist_items

YouTube Data API v3

はい

get_channel_videos

YouTube Data API v3

はい

get_trending_videos

YouTube Data API v3

はい

search_within_channel

YouTube Data API v3

はい

get_video_comments

YouTube Data API v3

はい

calculate_engagement

YouTube Data API v3

はい

注記: 5つのツールはAPIキーなしで動作します(トランスクリプト、SponsorBlock、ヒートマップ、URL解析)。残りの10個はYouTube Data API v3キーが必要です。


設定

環境変数

変数

必須

デフォルト

説明

YOUTUBE_API_KEY

はい

YouTube Data API v3キー

YOUTUBE_TIMEOUT

いいえ

30000

APIタイムアウト(ミリ秒)

YouTube APIクォータ

YouTube Data API v3には1日あたり10,000ユニットのクォータがあります。各ツールの使用量は異なります:

操作

1回の呼び出しあたりのコスト

search(search_videos、search_within_channel)

100ユニット

videos.list(get_video_metadata、get_trending、calculate_engagement)

1ユニット

channels.list(get_channel_info、get_channel_videos)

1ユニット

playlists.list(get_playlist_items)

1ユニット

playlistItems.list(get_playlist_items、get_channel_videos)

1ユニット

commentThreads.list(get_video_comments)

1ユニット

ヒント: 検索操作が最もコストがかかります。最近のアップロードだけが必要な場合は、search_within_channel(100ユニット)の代わりにget_channel_videos(1ユニット)を使用してください。


トラブルシューティング

APIキーの修正

誤ったAPIキーを入力した場合は、削除して再インストールしてください:

claude mcp remove youtube

その後、上記のステップ3.3のコマンドを使用して再インストールしてください(最初にインストールしたときと同じスコープを使用してください)。

MCPサーバーが表示されない

サーバーがインストールされているか確認してください:

claude mcp list

一覧にない場合は、ステップ3に従ってインストールしてください。

サーバーが起動しない

  1. APIキーが有効であることを確認してください:Google Cloud Console

  2. YouTube Data APIが有効になっているか確認してください:

  3. Node.jsのバージョンを確認してください(18以上が必要):

    node --version
  4. サーバーがビルドされていることを確認してください — dist/index.jsがない場合は、npm installを再度実行してください

接続エラー

  1. dist/index.jsが存在するか確認してください — ない場合はnpm installを実行してください

  2. claude mcp addコマンドのパスが絶対パスであることを確認してください

  3. 設定変更後はClaude Codeを再起動してください

クォータ超過

「quotaExceeded」エラーが表示される場合:

  • 太平洋時間の深夜まで待つ(クォータは毎日リセットされます)

  • 別の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コミュニティのために作られました

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search YouTube for videos, channels, and playlists while retrieving detailed analytics and metrics through the YouTube Data API v3. Supports advanced filtering options and provides comprehensive statistics for content discovery and analysis.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    2
    GPL 3.0

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/rai-wasif/growlyze-youtube-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server