YouTube MCP Server
YouTube MCP Server
Angepasster YouTube-MCP-Server basierend auf dem ursprünglichen Repository claude-code-youtube-mcp. Diese Version unterstützt sowohl STDIO- als auch Streamable-HTTP-Transports, sodass sie lokal für Claude Code ausgeführt oder remote als benutzerdefinierter Connector für Claude.ai bereitgestellt werden kann.
Der Server stellt Tools der YouTube Data API v3 bereit für Videosuche, Metadaten, Kanalinformationen, Playlists, Kommentare, Trendvideos, Engagement-Analysen, Transkripte, Kapitel, SponsorBlock-Bereinigung und Heatmaps der am häufigsten erneut angesehenen Stellen.
Angepasst von: https://github.com/wynandw87/claude-code-youtube-mcp
Lokal ausführen
npm install
npm run build
npm run start:httpEndpunkte:
GET /health
POST /mcpRelated MCP server: YouTube MCP Server
Umgebungsvariable
YOUTUBE_API_KEY=your_key_hereGeben Sie Ihren API-Schlüssel nicht an GitHub weiter. Bewahren Sie ihn in Ihrer lokalen Umgebung, in .env oder in den Umgebungsvariablen Ihrer Bereitstellungsplattform auf.
Railway-Bereitstellung
Stellen Sie dieses GitHub-Repository auf Railway bereit.
Fügen Sie die Umgebungsvariable
YOUTUBE_API_KEYin Railway hinzu.Legen Sie den Startbefehl wie folgt fest:
npm run start:httpVerwenden Sie den öffentlichen MCP-Endpunkt:
https://your-domain/mcpSchnellstart
Schritt 1: API-Schlüssel abrufen
Gehen Sie zu Google Cloud Console
Erstellen Sie ein Projekt (oder wählen Sie ein vorhandenes aus)
Aktivieren Sie die YouTube Data API v3:
Gehen Sie zur API-Bibliothek
Klicken Sie auf Aktivieren
Erstellen Sie einen API-Schlüssel:
Gehen Sie zu Anmeldedaten
Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel
Kopieren Sie den Schlüssel (Sie benötigen ihn in Schritt 3)
Schritt 2: Voraussetzungen installieren
Node.js 18+ - Hier herunterladen
Claude Code CLI - Installationsanleitung
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-mcp3.2 Abhängigkeiten installieren
macOS / Linux / Windows:
npm installHinweis: Die Abhängigkeiten werden installiert und der Server wird in einem Schritt automatisch erstellt.
3.3 Bei Claude Code registrieren
Wählen Sie Ihren Installationsbereich:
Bereich | Flag | Wer ihn verwenden kann |
Benutzer (empfohlen) |
| Sie, in jedem Projekt |
Projekt |
| Jeder, der dieses Repo klont |
Lokal |
| Nur im aktuellen Verzeichnis |
Ersetzen Sie YOUR_API_KEY durch Ihren tatsächlichen YouTube-Data-API-Schlüssel und verwenden Sie den vollständigen Pfad zu dist/index.js.
Tipp: Um den vollständigen Pfad zu erhalten, führen Sie dies aus dem geklonten Verzeichnis aus:
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"Alternative: Den npm-Helfer verwenden (wenn der API-Schlüssel in der Umgebung festgelegt ist)
export YOUTUBE_API_KEY=YOUR_API_KEY
npm run install:claudeSchritt 4: Claude Code neu starten
Schließen und öffnen Sie Claude Code erneut, damit die Änderungen wirksam werden.
Schritt 5: Installation überprüfen
claude mcp listSie sollten youtube mit dem Status „Connected" aufgelistet sehen.
Funktionen
Transkripte & Untertitel
Transkript abrufen (
get_transcript) - Vollständige Video-Transkripte mit Zeitstempeln abrufen, unterstützt mehrere SprachenTranskript durchsuchen (
search_transcript) - Finden, wo ein Schlüsselwort oder eine Phrase in einem Video mit Zeitstempeln vorkommtBereinigtes Transkript (
get_clean_transcript) - Transkript ohne Sponsoren, Intros, Outros und Füllwörter, entfernt über SponsorBlockKapitel extrahieren (
extract_chapters) - Kapitel-Zeitstempel aus Videobeschreibungen parsen
Suche & Entdeckung
Videos suchen (
search_videos) - Vollständige YouTube-Suche mit Filtern für Datum, Dauer, Typ und SortierreihenfolgeInnerhalb eines Kanals suchen (
search_within_channel) - Nach Videos eines bestimmten Erstellers suchenTrendvideos abrufen (
get_trending_videos) - Aktuell trendende Videos nach Region und KategorieKanalvideos abrufen (
get_channel_videos) - Aktuelle Uploads eines Kanals, sortiert nach Datum oder Aufrufen
Video- & Kanalinformationen
Video-Metadaten (
get_video_metadata) - Titel, Beschreibung, Dauer, Aufrufe, Likes, Tags und mehrKanalinformationen (
get_channel_info) - Abonnentenanzahl, Videoanzahl, Beschreibung, LandPlaylist-Elemente (
get_playlist_items) - Alle Videos in einer Playlist mit Positionen und Metadaten
Analysen & Engagement
Engagement berechnen (
calculate_engagement) - Like-Rate, Kommentar-Rate und Engagement-Rate aus öffentlichen StatistikenAm häufigsten erneut angesehen (
get_most_replayed) - Heatmap-Daten, die zeigen, welche Teile Zuschauer am häufigsten erneut ansehenVideo-Kommentare (
get_video_comments) - Top-Kommentare mit Like-Anzahl und Antwortanzahl
Hilfsprogramme
YouTube-URL parsen (
parse_youtube_url) - Video-/Kanal-/Playlist-IDs aus jedem YouTube-URL-Format extrahieren
Verwendung
Nach der Installation können Sie Auslösephrasen verwenden, um YouTube-Tools aufzurufen:
Auslöser | Tool | Beispiel |
| Transkript abrufen | „Hole das YouTube-Transkript für dieses Video" |
| Videos suchen | „Suche auf YouTube nach React-Tutorials" |
| Video-Metadaten | „Hole YouTube-Metadaten für dieses Video" |
| Kanalinformationen | „Hole YouTube-Kanalinformationen für @ThePrimeagen" |
| Playlist-Elemente | „Liste die Videos in dieser YouTube-Playlist auf" |
| Video-Kommentare | „Hole YouTube-Kommentare für dieses Video" |
| Trendvideos | „Was ist gerade auf YouTube in den USA im Trend?" |
| Kapitel extrahieren | „Extrahiere Kapitel aus diesem YouTube-Video" |
| Engagement berechnen | „Berechne YouTube-Engagement für dieses Video" |
| Am häufigsten erneut angesehen | „Zeige die am häufigsten erneut angesehenen Teile dieses YouTube-Videos" |
| Bereinigtes Transkript | „Hole ein bereinigtes YouTube-Transkript ohne Sponsoren" |
| Transkript durchsuchen | „Durchsuche das YouTube-Transkript nach 'Authentifizierung'" |
Oder fragen Sie natürlich:
„Hole das Transkript dieses YouTube-Videos und fasse es zusammen"
„Was sind die am häufigsten erneut angesehenen Teile dieses Videos?"
„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"
„Zeige mir die Kapitel für dieses Tutorial"
„Hole ein bereinigtes Transkript ohne die Sponsor-Einblendungen"
„Was ist gerade auf YouTube im Gaming-Bereich im Trend?"
Tool-Referenz
parse_youtube_url
Parst jedes YouTube-URL-Format und extrahiert Kennungen. 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 Untertitel eines YouTube-Videos ab. Kein API-Schlüssel erforderlich.
Parameter:
url(string, erforderlich) - YouTube-Video-URL oder Video-IDlang(string, optional) - Sprachcode für Untertitel (Standard:"en")
search_transcript
Durchsucht das Transkript eines Videos nach einem Schlüsselwort oder einer Phrase.
Parameter:
url(string, erforderlich) - YouTube-Video-URL oder Video-IDquery(string, erforderlich) - Schlüsselwort oder Phrase, nach der gesucht werden solllang(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, aus dem über SponsorBlock Sponsor-Einblendungen, Intros, Outros und Füllwörter entfernt wurden.
Parameter:
url(string, erforderlich) - YouTube-Video-URL oder Video-IDlang(string, optional) - Sprachcode für Untertitel (Standard:"en")
get_most_replayed
Ruft die Heatmap-Daten für „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 die Verfügbarkeit von Heatmap-Daten sind etwa 50.000+ Aufrufe erforderlich.
search_videos
Durchsucht YouTube mit vollständiger Filterunterstützung.
Parameter:
query(string, erforderlich) - Suchanfragemax_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
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 YouTube-Kanalinformationen ab.
Parameter:
url(string, erforderlich) - YouTube-Kanal-URL, @Handle oder Kanal-ID
Rückgabe: Titel, Beschreibung, Abonnenten-/Video-/Aufrufanzahl, 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-IDmax_results(number, optional) - Anzahl der Elemente, 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-IDmax_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)
search_within_channel
Sucht nach Videos innerhalb eines bestimmten YouTube-Kanals.
Parameter:
url(string, erforderlich) - YouTube-Kanal-URL, @Handle oder Kanal-IDquery(string, erforderlich) - Suchanfragemax_results(number, optional) - Anzahl der Ergebnisse, 1-50 (Standard:10)
get_video_comments
Ruft Top-Level-Kommentare von einem YouTube-Video ab.
Parameter:
url(string, erforderlich) - YouTube-Video-URL oder Video-IDmax_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: Aufrufanzahl, Like-Anzahl, Kommentar-Anzahl, Like-Rate, Kommentar-Rate 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 | Benötigt API-Schlüssel? |
| Lokales Parsing | Nein |
| youtube-transcript-Bibliothek | Nein |
| youtube-transcript-Bibliothek | Nein |
| youtube-transcript + SponsorBlock API | Nein |
| YouTube-Seite (Innertube) | Nein |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
| YouTube Data API v3 | Ja |
Hinweis: 5 Tools funktionieren ohne API-Schlüssel (Transkripte, SponsorBlock, Heatmaps, URL-Parsing). Die restlichen 10 erfordern einen YouTube-Data-API-v3-Schlüssel.
Konfiguration
Umgebungsvariablen
Variable | Erforderlich | Standard | Beschreibung |
| Ja | — | YouTube-Data-API-v3-Schlüssel |
| Nein |
| 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 |
| 100 Einheiten |
| 1 Einheit |
| 1 Einheit |
| 1 Einheit |
| 1 Einheit |
| 1 Einheit |
Tipp: Suchvorgänge sind am teuersten. Verwenden Sie
get_channel_videos(1 Einheit) anstelle vonsearch_within_channel(100 Einheiten), wenn Sie nur aktuelle Uploads benötigen.
Fehlerbehebung
API-Schlüssel korrigieren
Wenn Sie einen falschen API-Schlüssel eingegeben haben, entfernen und installieren Sie ihn neu:
claude mcp remove youtubeInstallieren Sie dann mit dem Befehl aus Schritt 3.3 oben neu (verwenden Sie denselben Bereich, mit dem Sie ursprünglich installiert haben).
MCP-Server wird nicht angezeigt
Prüfen Sie, ob der Server installiert ist:
claude mcp listWenn er nicht aufgeführt ist, folgen Sie Schritt 3, um ihn zu installieren.
Server startet nicht
Überprüfen Sie, ob Ihr API-Schlüssel gültig ist unter Google Cloud Console
Stellen Sie sicher, dass die YouTube Data API aktiviert ist:
Gehen Sie zu API Library
Es sollte „Aktiviert" angezeigt werden
Überprüfen Sie die Node.js-Version (erfordert 18+):
node --versionStellen Sie sicher, dass der Server erstellt wurde – wenn
dist/index.jsfehlt, führen Sienpm installerneut aus
Verbindungsfehler
Stellen Sie sicher, dass
dist/index.jsexistiert – wenn nicht, führen Sienpm installausÜberprüfen Sie, ob der Pfad absolut ist in Ihrem
claude mcp add-BefehlStarten Sie Claude Code neu nach allen Konfigurationsänderungen
Kontingent überschritten
Wenn Sie „quotaExceeded"-Fehler sehen:
Warten Sie bis Mitternacht Pacific Time (Kontingent wird täglich zurückgesetzt)
Verwenden Sie einen anderen API-Schlüssel
Bevorzugen Sie kostengünstige Tools (
get_video_metadatamit 1 Einheit) gegenüber Suchtools (100 Einheiten)
Transkript nicht verfügbar
Einige Videos haben deaktivierte Transkripte. Das Tool get_transcript gibt eine klare Fehlermeldung zurück. Versuchen Sie:
Einen anderen Sprachcode (z. B.
lang: "es")Automatisch generierte Untertitel sind möglicherweise verfügbar, auch wenn manuelle nicht 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.jsAktuelle Konfiguration anzeigen
claude mcp listMitwirken
Pull-Requests sind willkommen! Bitte halten Sie es einfach und anfängerfreundlich.
Lizenz
MIT
Erstellt für die Claude Code Community
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
- AlicenseNot gradedqualityDmaintenanceEnables 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.1MIT
- AlicenseAqualityCmaintenanceEnables AI models to interact with YouTube content including video details, transcripts, channel information, playlists, and search functionality through the YouTube Data API.73510MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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.2GPL 3.0
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, channels, and playlists, retrieve video metadata, transcripts, and comments via the YouTube Data API v3.73
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
YouTube transcripts, subtitles, and video metadata as structured JSON via an Apify Actor.
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/rai-wasif/growlyze-youtube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server