Skip to main content
Glama

YouTube MCP Server

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

Schnellstart

Schritt 1: API-Schlüssel abrufen

  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 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 automatisch in einem Schritt erstellt.

3.3 Bei Claude Code registrieren

Wähle den Installationsbereich:

Scope

Flag

Wer kann es verwenden

Benutzer (empfohlen)

-s user

Du, in jedem Projekt

Projekt

-s project

Jeder, der dieses Repository klont

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: Führe diesen Befehl aus dem geklonten Verzeichnis aus, um den vollständigen Pfad zu erhalten:

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

Alternative: Den npm-Helfer verwenden (wenn 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 Claude Code und öffne es erneut, damit die Änderungen wirksam werden.

Schritt 5: Installation überprüfen

claude mcp list

Du solltest youtube mit dem Status „Connected“ aufgelistet sehen.


Related MCP server: youtube-mcp

Funktionen

Transkripte & Untertitel

  • Get Transcript (get_transcript) - Ruft vollständige Videotranskripte mit Zeitstempeln ab, unterstützt mehrere Sprachen

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

  • Clean Transcript (get_clean_transcript) - Transkript, bei dem Sponsoren, Intros, Outros und Füllwörter über SponsorBlock entfernt wurden

  • Extract Chapters (extract_chapters) - Extrahiert Kapitel-Zeitstempel aus Videobeschreibungen

Suche & Entdeckung

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

  • Search Within Channel (search_within_channel) - Durchsucht Videos eines bestimmten Erstellers

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

  • Get Channel Videos (get_channel_videos) - Aktuelle 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) - Abonnentenanzahl, Videoanzahl, Beschreibung, Land

  • Playlist Items (get_playlist_items) - Alle Videos in einer Playlist mit Positionen 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äufigsten erneut ansehen

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

Dienstprogramme

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


Verwendung

Nach der Installation kannst du Trigger-Phrasen 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-Tutorials“

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 gerade in den USA auf YouTube im Trend?“

youtube chapters

Extract Chapters

„Extrahiere die Kapitel aus diesem YouTube-Video“

youtube engagement

Calculate Engagement

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

youtube most replayed

Most Replayed

„Zeige die am häufigsten erneut angesehenen Teile dieses YouTube-Videos“

youtube clean transcript

Clean Transcript

„Hole ein sauberes YouTube-Transkript ohne Sponsoren“

youtube search transcript

Search Transcript

„Suche im YouTube-Transkript nach ‚authentication‘“

Oder frag natürlich:

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

  • „Welche Teile dieses Videos werden am häufigsten 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 in Gaming auf YouTube im Trend?“


Tool-Referenz

parse_youtube_url

Parst jedes YouTube-URL-Format und extrahiert Identifikatoren. 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

Ruft das vollständige Transkript/die vollständigen Untertitel eines YouTube-Videos ab. Kein API-Schlüssel erforderlich.

Parameter:

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

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

Durchsucht das Transkript eines Videos nach einem Schlüsselwort oder einer Phrase.

Parameter:

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

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

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

extract_chapters

Extrahiert Kapitel-Zeitstempel aus der Beschreibung eines Videos.

Parameter:

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

get_clean_transcript

Ruft ein Transkript ab, bei dem Sponsor-Einblendungen, Intros, Outros und Füllwörter über SponsorBlock entfernt wurden.

Parameter:

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

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

get_most_replayed

Ruft die Heatmap-Daten zu „Am häufigsten erneut angesehen“ ab, die zeigen, welche Teile Zuschauer am häufigsten erneut ansehen.

Parameter:

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

Hinweis: Für verfügbare Heatmap-Daten sind etwa 50K+ Aufrufe erforderlich.

Durchsucht YouTube mit vollständiger Filterunterstützung.

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" (<4min), "medium" (4-20min), "long" (>20min)

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

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

get_video_metadata

Ruft detaillierte Metadaten für ein YouTube-Video ab.

Parameter:

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

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

get_channel_info

Ruft Informationen zu einem YouTube-Kanal ab.

Parameter:

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

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

get_playlist_items

Ruft alle Videos in einer YouTube-Playlist ab.

Parameter:

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

  • max_results (number, optional) - Anzahl der Einträge, 1-50 (Standard: 25)

get_channel_videos

Ruft aktuelle Videos von einem YouTube-Kanal ab.

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

Ruft aktuell trendende/populäre YouTube-Videos ab.

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 Wissenschaft & Technik)

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

Durchsucht einen bestimmten YouTube-Kanal nach Videos.

Parameter:

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

  • query (string, erforderlich) - Suchanfrage

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

get_video_comments

Ruft Top-Level-Kommentare eines YouTube-Videos ab.

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

Berechnet Engagement-Kennzahlen für ein YouTube-Video.

Parameter:

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

Rückgabe: Aufrufzahl, Like-Anzahl, Kommentaranzahl, Like-Rate, Kommentarrate und Gesamt-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 Parsen

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-Analyse). Die übrigen 10 erfordern einen YouTube Data API v3-Schlüssel.


Konfiguration

Umgebungsvariablen

Variable

Erforderlich

Standard

Beschreibung

YOUTUBE_API_KEY

Ja

YouTube Data API v3-Schlüssel

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 andere 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: Suchvorgänge sind am teuersten. Verwenden Sie get_channel_videos (1 Einheit) anstelle von search_within_channel (100 Einheiten), wenn Sie nur die neuesten Uploads benötigen.


Fehlerbehebung

API-Schlüssel korrigieren

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

claude mcp remove youtube

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

MCP-Server wird nicht angezeigt

Überprüfen Sie, ob der Server installiert ist:

claude mcp list

Falls er nicht aufgelistet ist, folgen Sie Schritt 3, um ihn zu installieren.

Server startet nicht

  1. Überprüfen Sie Ihren API-Schlüssel auf Gültigkeit in der Google Cloud Console

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

    • Gehen Sie zur API Library

    • Dort sollte „Enabled“ angezeigt werden

  3. Überprü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. Überprüfen Sie, dass dist/index.js vorhanden ist — falls nicht, führen Sie npm install aus

  2. Überprüfen Sie, dass der Pfad absolut ist in Ihrem claude mcp add-Befehl

  3. Starten Sie Claude Code neu nach Konfigurationsänderungen

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

  • Bevorzugen Sie kostengünstige Tools (get_video_metadata mit 1 Einheit) gegenüber Such-Tools (100 Einheiten)

Transkript nicht verfügbar

Bei einigen 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 manuell erstellten 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 Claude Code-Community

F
license - not found
Not graded
quality - not tested
B
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

View all related MCP servers

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.

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/Engr-IsrarUllah/ClaudeCode_MCP'

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