Skip to main content
Glama
Youtube MCP

Youtube MCP

by MSKKK007

Claude.ai 向け YouTube MCP コネクタ

Claude.ai が HTTPS 経由で読み取り専用の YouTube ツールを使用できるようにする、本番環境向けリモート MCP サーバー:

  • search_videos

  • get_trending_videos

  • get_channel_videos

  • get_video_details

  • get_engagement_stats

  • get_transcript

  • search_transcript

このサービスは、検索、メタデータ、トレンド、チャンネルのアップロード動画に公式の YouTube Data API v3 を使用します。トランスクリプトの取得はベストエフォート方式です。まず公開されている InnerTube のキャプショントラックを試し、次に YouTube の視聴ページでのキャプション検出を試みます。CAPTCHA、ブロック、レート制限を回避することはありません。

ローカルセットアップ

npm install
cp .env.example .env

最低限、以下を設定します:

YOUTUBE_API_KEY=your_google_api_key
AUTH_MODE=none

ローカルで実行:

npm run dev

ヘルスチェック:

curl http://localhost:3000/health
curl http://localhost:3000/ready

ビルドとテスト:

npm test
npm run build

Related MCP server: YouTube MCP Server

本番環境

Railway での最小テスト用変数:

YOUTUBE_API_KEY=...
AUTH_MODE=none

Redis の利用を推奨しますが、アプリは Redis なしでも起動でき、その場合はプロセス内の no-op キャッシュを使用します。

本番環境の全変数:

NODE_ENV=production
YOUTUBE_API_KEY=...
AUTH_MODE=oauth
AUTH_ISSUER=https://YOUR_AUTH0_DOMAIN/
AUTH_AUDIENCE=https://youtube-claude-mcp
AUTH_JWKS_URL=https://YOUR_AUTH0_DOMAIN/.well-known/jwks.json
AUTH_REQUIRED_SCOPE=youtube:read
REDIS_URL=...

デフォルトのキャッシュ TTL:

TRANSCRIPT_CACHE_TTL_SECONDS=604800
VIDEO_DETAILS_CACHE_TTL_SECONDS=900
TRENDING_CACHE_TTL_SECONDS=600
CHANNEL_VIDEOS_CACHE_TTL_SECONDS=600

Auth0 のセットアップ

  1. Auth0 API を作成するか、既存のものを再利用します。

  2. API 識別子を AUTH_AUDIENCE と同じ値に設定します。

  3. スコープ youtube:read を追加します。

  4. Auth0 の発行者 URL を AUTH_ISSUER として使用します。

  5. テナントの JWKS エンドポイントを AUTH_JWKS_URL として使用します。

  6. Claude.ai のカスタムコネクタの OAuth 詳細設定を、適切な Auth0 クライアント情報で構成します。

/mcp エンドポイントは、AUTH_MODE=oauth の場合、有効な Authorization: Bearer <token> を必要とします。

Railway へのデプロイ

  1. リポジトリを GitHub にプッシュします。

  2. GitHub リポジトリから Railway プロジェクトを作成します。

  3. Railway は railway.json 経由でチェックインされた Dockerfile を使用する必要があります。

  4. サービス変数を追加します:

YOUTUBE_API_KEY=...
AUTH_MODE=none
  1. デプロイして /health を開きます。

  2. 共有キャッシュが必要になった場合は、後で Railway Redis を追加し、REDIS_URL を設定します。

  3. AUTH_MODE=oauth と Auth0 の各変数を設定して、Auth0 に切り替えます。

Render へのデプロイ

  1. Render Redis インスタンスを作成します。

  2. このリポジトリから Render Web Service を作成します。

  3. Docker デプロイを選択します。

  4. 本番環境の環境変数を追加します。

  5. デプロイします。

  6. 確認します:

curl https://YOUR_RENDER_URL/health
curl https://YOUR_RENDER_URL/ready
curl -i https://YOUR_RENDER_URL/mcp

認証されていない /mcp は 401 を返す必要があります。

Claude.ai コネクタ

  1. Claude.ai の設定を開きます。

  2. Customize に移動し、Connectors を選択します。

  3. カスタムコネクタを追加します。

  4. 以下を使用します:

https://YOUR_RENDER_URL/mcp
  1. 本番環境の認証が有効な場合は、OAuth の詳細設定を構成します。

  2. チャットでコネクタを有効にします。

デモ用プロンプト:

  • YouTube で最近の MCP サーバーのチュートリアルを 5 件検索してください。

  • 今、パキスタンで最も人気のある動画は何ですか?

  • @GoogleDevelopers の最新動画を表示してください。

  • この YouTube URL の再生回数、高評価数、再生時間を取得してください。

  • そのエンゲージメント率を計算してください。

  • トランスクリプトを取得して要約してください。

  • トランスクリプトのどこで認証について言及していますか?

運用上の注意

  • 可能な場合は、Google Cloud で YouTube API キーを制限し、定期的にローテーションしてください。

  • API キー、ベアラートークン、完全な認証ヘッダーをログに記録しないでください。

  • 検索呼び出しはクォータ消費が大きいため、可能な場合はチャンネルのアップロード動画とキャッシュされたメタデータを優先してください。

  • Redis が失敗してもキャッシュ動作が低下するだけで、通常のツール呼び出しは失敗しません。

  • トランスクリプトの取得は、キャプションが無効、利用できない、地域制限されている、または YouTube によってブロックされている場合に失敗することがあります。

  • CAPTCHA やボットブロックの応答はエラーとして表示されます。このサービスは回避を試みません。

トラブルシューティング

  • 起動時に YOUTUBE_API_KEY is required で失敗する場合: サーバー側の API キーを設定してください。

  • 本番環境で起動時に REDIS_URL is required で失敗する場合: Render Redis を接続し、その URL を設定してください。

  • /mcp が 401 を返す場合: トークンが欠落している、期限切れである、形式が正しくない、または誤った発行者によって署名されています。

  • /mcp が 403 を返す場合: トークンは有効ですが、youtube:read スコープがありません。

  • トランスクリプトツールが利用不可を返す場合: 動画に公開キャプションがない可能性があります。

  • YouTube のクォータ超過: クォータのリセットを待つか、クォータの増量をリクエストするか、検索の使用量を減らしてください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables YouTube integration with Claude Code, including video search, metadata retrieval, transcript fetching, channel exploration, and trending videos.
    8
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to interact with YouTube Data API for searching videos, channels, and playlists, and retrieving details and playlists.
    23 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables bringing YouTube into Claude Code for video transcripts, search, metadata, channel info, playlists, comments, trending videos, engagement analytics, chapters, SponsorBlock clean transcripts, and most-replayed heatmaps.
    23 npm
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables Claude Code to retrieve YouTube transcripts, search videos and channels, fetch metadata, playlists, comments, trending videos, engagement analytics, chapters, SponsorBlock-cleaned transcripts, and most-replayed heatmaps.
    15
    23 npm
    -