Skip to main content
Glama

YouTube MCP Server

MCP-Server, der YouTube zu Claude Code bringt – Videotranskripte, Suche, Metadaten, Kanalinformationen, Playlists, Kommentare, Trendvideos, Engagement-Analysen, Kapitel-Extraktion, SponserBlock-Integration und Heatmaps zu den am häufigsten erneut angesehenen Stellen. Verwendet die YouTube Data API v3, youtube-transcript und SponsorBlock.

Schnellstart

Schritt 1: API-Schlüssel erhalten

  1. Gehe zu Google Cloud Console

  2. Erstelle ein Projekt (oder wähle ein vorhandenes aus)

  3. Aktiviere die YouTube Data API v3:

  4. Erstelle einen API-Schlüssel:

    • Gehe zu Anmeldedaten

    • Klicke auf Anmeldedaten erstellen > API-Schlüssel

  5. Kopiere den Schlüssel (du benötigst ihn in Schritt 3)

Schritt 2: Voraussetzungen installieren

Schritt 3: Den MCP-Server installieren

3.1 Das Repository klonen

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

3.2 Abhängigkeiten installieren

macOS / Linux / Windows:

npm install

Hinweis: Die Abhängigkeiten werden installiert und der Server wird autoatisch in einem einzigen Schritt geaut.

3.3 Bei Claude Code registrieren

Wähle deinen Installationsbereich:

Bereich

Flag

Wer kann es verwenden

Benutzer (empfohlen)

-s user

Du, in jedem Projkt

Projekt

-s projekt

Alle, die dieses Repo klonen

Lokal

-s local

Nur im aktuellen Verzeichnis

Ersetze YOUR_API_KEY durch deinen tatsächlichen YouTube-Data-API-Schlüssel und verwende den vollständigen Pfad zu dist/index.js.

Tipp: Um den vollständigen Pfad zu eralten, führe diesen Befehl aus dem geklonten Verzeichnis aus:

  • macOS/Linux: echo "$(pid)/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"

Alternative: Den npm-Helper verwenden (falls der API-Schlüssel in der Umgebung gesetzt ist)

export YOUTUBE_API_KEY=YOUR_API_KEY
npm run install:claude

Schritt 4: Claude Code neu starten

Schließe und öffne Claude Code erneut, dami die Änderungen wirksam werden.

Schritt 5: Installation überprüfen

claude mcp list

Du solltest youtube mit dem Status „Connected" in der Liste sehen.


Related MCP server: youtube-mcp

Funktionen

Transkripte & Untertitel

  • Get Transcript (get_transcript) – Vollständige Videotranskripte mit Zeitstempeln abrufen; unterstützt mehrere Sprachen

  • Search Transcript (search_transcript) – Finden, wo ein Schlüsselwort oder eine Phrase in einem Video mit Zeitstempeln vorkommt

  • Clean Transcript (get_clean_transcript) – Transkript, bei dem Sponsor-Einblendungen, Intros, Outros und Füllwörter via SponserBlock entfernt wurden

  • Extract Chapters (extract_chapters) – Kapitel-Zeitstempel aus Videobeschreibungen extrahieren

Suche & Entdeckung

  • Search Videos (search_videos) – Vollständige YouTube-Suche mit Filtern nach Datum, Dauer, Typ und Sortierreihenfolge

  • Search Within Channel (search_within_channel) – Nach Videos eines bestimmten Creators suchen

  • Get Trending Videos (get_trending_videos) – Aktuell trendende Videos nach Region und Kategorie abrufen

  • Get Channel Videos (get_channel_videos) – Letzte Uploads eines Kanals, sortiert nach Datum oder Aufrufen

Video- & Kanalinformationen

  • Video Metadata (get_video_metadata) – Titel, Beschreibung, Dauer, Aufrufe, Likes, Tags und mehr

  • Channel Info (get_channel_info) – Abonnentenzahl, Videoanzahl, Beschreibung, Land

  • Playlist Items (get_playlist_items) – Alle Videos einer Playlist mit Posiionen und Metadaten

Analysen & Engagement

  • Calculate Engagement (calculate_engagement) – Like-Rate, Kommentarrate und Engagement-Rate aus öffentlichen Statistiken

  • Most Replayed (get_most_replayed) – Heatmap-Daten, die zeigen, welche Teile Zuschauer am häuigsten erneut ansehen

  • Video Comments (get_video_comments) – Top-Kommentare mit Like- und Antwortunzahlen

Hilfsprogramme

  • Parse YouTube URL (parse_youtube_url) – Video-/Kanal-/Playlist-IDs aus jedem YouTube-URL-Format extrahieren


Verwendung

Nach der Installation kannst du Triggerphrasen verwenden, um YouTube-Tools aufzurufen.

Trigger

Tool

Beispiel

youtube transcript

Get Transcript

„Hole das YouTube-Transkript für dieses Video“

youtube search

Search Videos

„Suche auf YouTube nach React-Tuiorials“

youtube metadata

Video Metadata

„Hole die YouTube-Metadaten für dieses Video“

youtube channel

Channel Info

„Hole die YouTube-Kanalinformationen für @ThePrimeagen“

youtube playlist

Playlist Items

„Liste die Videos in dieser YouTube-Playlist auf“

youtube comments

Video Comments

„Hole die YouTube-Kommentare für dieses Video“

youtube trending

Trending Videos

„Was ist in den USA gerade auf YouTube im Trend?“

youtube chapters

Extract Chapters

„Extrahiere Kapitel aus diesem YouTube-Video“

youtube engagement

Calculate Engagement

„Berechne das YouTube-Engagement für dieses Video“

youtube most replayed

Most Replayed

„Zeig mir die am häufigsten erneut angesehenen Stellen dieses YouTube-Videos“

youtube clean transcript

Clean Transcript

„Hole ein sauberes YouTube-Transkript ohne Sponsoren“

youtube search transcript

Search Transcript

„Durchsuche das YouTube-Transkript nach ‚authentication‘“

Oder stelle eine natürliche Frage:

  • „Hole das Transkript dieses YouTube-Videos und fasse es zusammen“

  • „Welche Teile dieses Videos werden am häuigsten erneut angesehen?“

  • „Finde aktuelle Videos über TypeScript auf diesem Kanal“

  • „Wie viele Aufrufe und Likes hat dieses Video?“

  • „Hole die Kommentare zu diesem Video und fasse die Stimmung zusammen“

  • „Zeig mir die Kapitel für dieses Tutorial“

  • „Hole ein sauberes Transkript ohne die Sponsor-Einblendungen“

  • „Was ist gerade im Gaming-Bereich auf YouTube im Trend?“


Tool-Referenz

parse_youtube_url

Jedes YouTube-URL-Format parsen und Identifkatoren extrahieren. Kein API-Schlüssel erforderlich.

Parameter:

  • url (string, erforderlich) – Jede YouTube-URL oder Video-ID

Unterstützte Formate: youtube.com/watch?v=, youtu.be/, /shorts/, /embed/, /playlist?list=, /channel/, /@handle, /c/, /user/, reine Video-IDs

get_transcript

Das vollständige Transkript/die Untertitel eines YouTube-Videos abrufen. Kein API-Schlüssel erforderlich.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

  • lang (string, opional) – Sprachencode für Untertitel (Standard: "en")

Das Transkript eines Videos nach einem Schlüsselwort oder einer Phrase durchsuhen.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

  • query (string, erforderlich) – Schlüsselwort oder Phrase, nach der gesucht werden soll

  • lang (string, opional) – Sprachencode für Untertitel (Standard: "en")

extract_chapters

Kapitel-Zeitstempel aus der Videobeschreibung extrahieren.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

get_clean_transcript

Ein Transkript abrufen, bei dem Sponsor-Einblendungen, Intros, Outros und Füllwörter via SponserBlock entfernt wurden.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

  • lang (string, optional) – Sprachcode für Untertitel (Standard: "en")

get_most_replayed

Die „Most Replayed“-Heatmap-Daten abrufen, die zeigen, welche Teile Zuschauer am häufigsten erneut ansehen.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

Hinweis: Damit Heatmap-Daten verfügbar sind, sind etwa 50K+ Aufrufe erforderlich.

YouTube mit voller Filterunterstützung durchsuchen.

Parameter:

  • query (string, erforderlich) – Suchanfrage

  • max_results (number, optional) – Anzahl der Ergebnisse, 1–50 (Standard: 10)

  • order (string, optional) – "relevance", "date", "viewCount", "rating" (Standard: "relevance")

  • duration (string, optional) – "short" (<4 Min.), "medium" (4–20 Min.), "long" (>20 Min.)

  • upload_date (string, optional) – "hour", "day", "week", "month", "year"

  • type (string, optional) – "video", "channel", "playlist" (Standard: "video")

get_video_metadata

Detaillierte Metadaten für ein YouTube-Video abrufen.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

Rückgabe: Titel, Beschreibung, Kanal, Dauer, Aufruf-/Like-/Kommentar-Zahlen, Tags, Kategorie, Thumbnails, Live-Status und mehr.

get_channel_info

YouTube-Kanalinformationen abrufen.

Parameter:

  • url (string, erforderlich) – YouTube-Kanal-URL, @handle oder Kanal-ID

Rückgabe: Titel, Beschreibung, Abonnenten-/Video-/Aufruf-Zahlen, Land, benutzerdefinierte URL und Thumbnail.

get_playlist_items

Alle Videos in einer YouTube-Playlist abrufen.

Parameter:

  • url (string, erforderlich) – YouTube-Playlist-URL oder Playlist-ID

  • max_results (number, optional) – Anzahl der Elemente, 1–50 (Standard: 25)

get_channel_videos

Aktuelle Videos von einem YouTube-Kanal abrufen.

Parameter:

  • url (string, erforderlich) – YouTube-Kanal-URL, @handle oder Kanal-ID

  • max_results (number, optional) – Anzahl der Videos, 1–50 (Standard: 25)

  • order (string, optional) – "date", "viewCount" (Standard: "date")

get_trending_videos

Aktuell trendende/populäre YouTube-Videos abrufen.

Parameter:

  • region_code (string, optional) – ISO-3166-1-Alpha-2-Ländercode (Standard: "US")

  • category_id (string, optional) – YouTube-Kategorie-ID (z. B. "10" für Musik, "20" für Gaming, "28" für Wissenschaf & Technik)

  • max_results (number, optional) – Anzahl der Ergebnisse, 1–50 (Standard: 10)

In einem bestimmten YouTube-Kanal nach Videos suchen.

Parameter:

  • url (string, erforderlich) – YouTube-Kanal-URL, @handle oder Kanal-ID

  • query (string, erforderlich) – Suchanfrage

  • max_results (number, optional) – Anzah der Ergebnisse, 1–50 (Standard: 10)

get_video_comments

Top-Level-Kommentare von einem YouTube-Video abrufen.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

  • max_results (number, optional) – Anzahl der Kommentare, 1–100 (Standard: 20)

  • order (string, optional) – "relevance", "time" (Standard: "relevance")

calculate_engagement

Engagement-Metriken für ein YouTube-Video berechnen.

Parameter:

  • url (string, erforderlich) – YouTube-Video-URL oder Video-ID

Rückgabe: Aufrufzahl, Like-Zahl, Kommentarzahl, Like-Rate, Kommentarrate und gesamte Engagement-Rate.


So funktioniert es

Dieser MCP-Server verbindet sich über den stdio-Transport mit Claude Code und stellt 15 Tools bereit:

Tool

Datenquelle

API-Schlüssel erforderlich?

parse_youtube_url

Lokales Parsing

Nein

get_transcript

youtube-transcript-Bibliothek

Nein

search_transcript

youtube-transcript-Bibliothek

Nein

get_clean_transcript

youtube-transcript + SponsorBlock-API

Nein

get_most_replayed

YouTube-Seite (Innertube)

Nein

extract_chapters

YouTube Data API v3

Ja

search_videos

YouTube Data API v3

Ja

get_video_metadata

YouTube Data API v3

Ja

get_channel_info

YouTube Data API v3

Ja

get_playlist_items

YouTube Data API v3

Ja

get_channel_videos

YouTube Data API v3

Ja

get_trending_videos

YouTube Data API v3

Ja

search_within_channel

YouTube Data API v3

Ja

get_video_comments

YouTube Data API v3

Ja

calculate_engagement

YouTube Data API v3

Ja

Hinweis: 5 Tools funktionieren ohne API-Schlüssel (Transkripte, SponsorBlock, Heatmaps, URL-Parsing). Die restlichen 10 benötigen einen Schlüssel für die YouTube Data API v3.


Konfiguration

Umgebungsvariablen

Variable

Erforderlich

Standard

Beschreibung

YOUTUBE_API_KEY

Ja

—

Schlüssel für die YouTube Data API v3

YOUTUBE_TIMEOUT

Nein

30000

API-Timeout in ms

YouTube-API-Kontingent

Die YouTube Data API v3 hat ein tägliches Kontingent von 10.000 Einheiten. Jedes Tool verbraucht eine unterschiedliche Menge:

Operation

Kosten pro Aufruf

search (search_videos, search_within_channel)

100 Einheiten

videos.list (get_video_metadata, get_trending, calculate_engagement)

1 Einheit

channels.list (get_channel_info, get_channel_videos)

1 Einheit

playlists.list (get_playlist_items)

1 Einheit

playlistItems.list (get_playlist_items, get_channel_videos)

1 Einheit

commentThreads.list (get_video_comments)

1 Einheit

Tipp: Suchoperationen sind am teuersten. Verwenden Sie get_channel_videos (1 Einheit) anstelle von search_within_channel (100 Einheiten), wenn Sie nur aktuelle Uploads benötigen.


Fehlerbehebung

API-Schlüssel korrigieren

Wenn Sie den falschen API-Schlüssel eingegeben haben, entfernen Sie ihn und installieren Sie neu:

claude mcp remove youtube

Installieren Sie dann mit dem Befehl aus Schritt 3.3 oben neu (verwenden Sie denselben Bereich wie bei der ursprünglichen Installation).

MCP-Server wird nicht angezeigt

Prüfen Sie, ob der Server installiert ist:

claude mcp list

Wenn er nicht aufgeführt ist, befolgen Sie Schritt 3, um ihn zu installieren.

Server startet nicht

  1. Stellen Sie sicher, dass Ihr API-Schlüssel gültig ist unter Google Cloud Console

  2. Prüfen Sie, ob die YouTube Data API aktiviert ist:

  3. Prüfen Sie die Node.js-Version (erforderlich: 18+):

    node --version
  4. Stellen Sie sicher, dass der Server erstellt wurde — wenn dist/index.js fehlt, führen Sie npm install erneut aus

Verbindungsfehler

  1. Prüfen Sie, ob dist/index.js vorhanden ist — wenn nicht, führen Sie npm install aus

  2. Stellen Sie sicher, dass der Pfad absolut ist in Ihrem claude mcp add- Befehl

  3. Starten Sie Claude Code nach jeder Konfigurationsänderung ne u

Kontingent überschritten

Wenn Sie „quotaExceeded"-Fehler sehen:

  • Warten Sie bis Mitternacht Pacific Time (das Kontingent wird täglich zurückgesetzt)

  • Verwenden Sie einen anderen API-Schlüssel

  • Bev orzugen Sie kostengünstige Tools (get_video_metadata mit 1 Einheit) gegenüer Such-Tools (100 Einheiten)

Transkript nicht verfügbar

Bei manchen Videos sind Transkripte deaktiviert. Das Tool get_transcript gibt eine klare Fehlermeldung zurück. Versuchen Sie:

  • Einen anderen Sprachcode (z. B. lang: "es")

  • Automatisch erzeugte Untertitel sind möglicherweise verfügbar, auch wenn keine manuellen vorhanden sind

Timeout-Fehler

Erhöhen Sie die Umgebungsvariable YOUTUBE_TIMEOUT für langsame Verbindungen:

claude mcp add -s user youtube -e YOUTUBE_API_KEY=YOUR_KEY -e YOUTUBE_TIMEOUT=60000 -- node /path/to/dist/index.js

Aktuelle Konfiguration anzeigen

claude mcp list

Mitwirken

Pull-Requests sind willkommen! Bitte halten Sie es einfach und anfängerfreundlich.

Lizenz

MIT


Erstellt für die Community von Claude Code

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI-powered YouTube video analysis including transcript management, video summaries, chapter generation, keyword extraction, and playback control. Supports searching videos, retrieving channel/playlist information, and translating transcripts using Google Gemini AI.
    14
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI tools to access YouTube content, including transcript extraction, video/channel info, and search.
    4
    31 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    23 npm
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables searching and retrieving video transcripts, metadata, channel info, playlists, comments, trending videos, and engagement analytics from YouTube through natural language.
    23 npm
    -