youtube-transcript-mcp
youtube-transcript-mcp
Ein MCP-Server, der einem Coding-Agenten das Lesen und Durchsuchen von YouTube-Videotranskripten ermöglicht. Kein API-Schlüssel, kein Google-Konto, keine Anmeldung nötig. Er ruft Untertitel über YouTubes öffentliche Endpunkte ab und fügt eine kleine Sache hinzu, die ein roher Transkript-Dump nicht bietet: Kapitelzusammenfassungen.
Das begann als kleines Tool für meinen eigenen Gebrauch. Ich stieß immer wieder auf Unterhaltungen, die einen YouTube-Link enthielten, und musste wissen, was das Video tatsächlich sagte. Das ständige erneute Einfügen von Transkripten kostete Zeit. So wurde daraus ein wiederverwendbarer Server, damit alles, was auf dem Model Context Protocol läuft, einfach fragen kann.
Was es tut
Vier Tools.
get_transcript(video_url_or_id, languages=["en"], include_timestamps=False)holt das vollständige Transkript als Klartext. Es akzeptiert eine vollständige YouTube-URL (watch?v=, youtu.be, /embed/, /shorts/, /live/) oder eine reine 11-stellige Video-ID.get_video_metadata(video_url_or_id)liefert Titel, Kanalname, Kanal-URL und Thumbnail über YouTubes oEmbed-Endpunkt ohne Authentifizierung. Es gibt bewusst kein Upload-Datum und keine vollständige Beschreibung zurück, denn dafür wäre ein offizieller Data-API-Schlüssel nötig – und genau darum geht es hier: Du brauchst keinen.search_transcript(video_url_or_id, query, languages=["en"])findet die zu einem Schlüsselwort oder einer Phrase passenden Segmente, ohne Beachtung der Groß-/Kleinschreibung, jeweils mit einem [mm:ss]-Zeitstempel, damit das Modell darauf verweisen kann, wo im Video etwas gesagt wurde.summarize_chapters(video_url_or_id, gap_seconds=4.0, min_chunk_seconds=45.0, languages=["en"])teilt das Transkript an natürlichen Pausen in grobe, zeitlich abgegrenzte Blöcke und gibt diese zurück, damit ein Agent Abschnitt für Abschnitt zusammenfassen kann, statt einen einzigen riesigen Klumpen zu schlucken. Es ist eine Heuristik, nicht YouTubes echte Kapiteldaten.
Alle Tools geben einen einfachen String zurück, einschließlich Fehlern (zum Beispiel "Error: captions are disabled for this video"). Es werden keine Ausnahmen an den aufrufenden Agenten weitergegeben, und es dringen keine Stack-Traces nach außen.
Related MCP server: youtube-mcp
Was es bewusst nicht tut
Es funktioniert nicht bei Videos mit deaktivierten Untertiteln, privaten oder nicht verfügbaren Videos oder Live-Streams ohne Untertitel. Es sagt das, statt zu raten.
Es ist nicht von der YouTube Data API abhängig. Ohne einen offiziellen Schlüssel sind Upload-Daten oder vollständige Beschreibungen nicht abrufbar – das ist Absicht.
Es cached nicht. Zwei Aufrufe für dasselbe Video laden beide Male erneut. Für den tatsächlichen Einsatzzweck des Tools ist das in Ordnung. Falls du es jemals in großem Umfang brauchst, füge Caching hinzu.
Einrichtung
Erfordert Python 3.11+ und uv.
uv syncFühre ihn eigenständig aus, um zu bestätigen, dass er startet:
uv run server.pyEr wartet auf MCP-stdio-Eingaben und scheint daher nichts zu tun, bis sich ein Client verbindet. Das ist normal. Beenden mit Ctrl+C.
Registrieren bei einem MCP-Client
Füge ihn zu den MCP-Einstellungen deines Clients hinzu. Der Server wird über stdio aufgerufen, die Konfiguration ist also eine Befehlszeile. Am Beispiel der Claude CLI:
claude mcp add youtube-transcript -- uv --directory /absolute/path/to/youtube-transcript-mcp run server.pyOder in der JSON-Konfiguration:
{
"mcpServers": {
"youtube-transcript": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/youtube-transcript-mcp", "run", "server.py"]
}
}
}Erkenntnisse, die Lehrgeld gekostet haben
Nur Videos mit Untertiteln (automatisch erzeugt oder manuell) funktionieren. Ein Video ohne Untertitel liefert einen klaren Fehler zurück – eine bewusste Entscheidung: Ein leeres Ergebnis wirkt wie ein stiller Fehlschlag, ein Fehler benennt das Problem.
Die Sprachliste ist wichtig.
languages=["en"]holt die englische Untertitelspur, wenn eine vorhanden ist. Wenn ein Kanal nur in einer anderen Sprache hochlädt, übergib diesen Code.Pinn
mcp>=1.28.1fest, bleib aber unter 2.0. In mcp 2.x wurdemcp.server.fastmcpumbenannt, und der Import schlägt beim Serverstart still fehl. Du willst die Version, die tatsächlich lädt.
Lizenz
MIT. Siehe LICENSE.
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
- Alicense-qualityCmaintenanceEnables AI agents to fetch transcripts, metadata, and download videos/audio from YouTube without API keys.27MIT
- AlicenseAqualityDmaintenanceEnables AI tools to access YouTube content, including transcript extraction, video/channel info, and search.420MIT
- Alicense-qualityDmaintenanceEnables AI agents to search, watch, summarize, clip, and extract transcripts from YouTube videos, all without needing an API key or leaving the chat.1345Apache 2.0
- Flicense-qualityDmaintenanceEnables LLMs to interact with YouTube videos by fetching transcripts, summarizing content, and answering questions based on video context.
Related MCP Connectors
💯 The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.
Fetch transcripts, subtitles, chapters, metadata and frames from YouTube and 10+ video platforms
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
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/luigimasango-dev/youtube-transcript-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server