YouTube Transcript & Search MCP Server
🎬 Warum
Jeder, der mit einem Agenten arbeitet, hat diesen Austausch schon mindestens einmal durchgespielt.
You: Summarize this. https://www.youtube.com/watch?v=kCc8FmEb1nY
Agent: I'm not able to watch videos. If you paste the transcript here, I'll gladly help!Das Transkript ist genau das, was der Agent von allein nicht bekommt. Mit diesem verbundenen Server löst sich dieselbe Nachricht einfach auf.
You: Summarize this. https://www.youtube.com/watch?v=kCc8FmEb1nY
Agent: → get_transcript(video="kCc8FmEb1nY", video_metadata=true) 1 credit
That's "Let's build GPT: from scratch, in code, spelled out" by Andrej
Karpathy, 1:56:20. He starts from an empty file and a bigram model,
derives self-attention step by step, and ends with a working GPT that...Ein einziges Video zu lesen ist selten das Ende der Arbeit. Hier zeigen wir, wie die drei Wege, YouTube-Daten einen Neuen in den Agenten, tatsächlich verglechen.
Dieser Server | Lokaler yt-dlp / Scraper MCP | Google YouTube Data API | |
Transkripte | ✅ jedes öffentliche Video, extra Formate | ⚠️ blockiert auf Rechenzentrums-IPs, bricht, wenn YouTube sein Markup ändert | ❌ werden gar nicht ausgeliefert |
Einrichtung | ✅ eine URL und ein API-Schlüssel | ❌ lokales Setup, Binaries, die am Leben gehalten werden müssen | ❌ Cloud-Projekt, OAuth-Zustimmungsfragen |
YouTube-Suche | ✅ nativ, 1 Credit pro Seite | ❌ | ⚠️ 100 Quota-Einheiten pro Suche |
Kanäle & Playlists | ✅ 100 Videos/Seite oder 500 bloße IDs | ❌ einzeln zw Video | ⚠️ pro Eintrag Quota berechnet |
Mengen-Transkripte | ✅ 4.000 pro Hintergrundjob | ❌ | ❌ |
RAG-fähiges Chunking | ✅ 20-5.000 Zeichen, Zeitstempel auf Wortebene | ❌ | ❌ |
Wenn sich YouTube ändert | ✅ serverseitig gefixt, nichts zu aktualisteren | ❌ du fumst Patches und setzt neu auf | ✅ |
Fehlgeschlagene Anrufe | ✅ Credits erstatten sich selbst | ❌ deine eigene Neuen-Logik | ⚠️ Quota bleibt trotzdem verbraucht |
Related MCP server: VidLens
⚡ Schnellstart
1. Einen API-Schlüssel besorgen. Registrieren dich bei transcriptout.com und erstellt
im Dashboard einen Schlüssel. Neuen Konten erhalten 100 Gratis-Credits
und es wird keine Kreditkarte verlangt. Schlüssel beginnen mit sk_ und werden nur einmal angezeigt.
2. Richte deinen Client jetzt den Server aus. Er spricht streamable HTTP und authentifiziert sich über ein einziges Bearer-Header.
{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}One-Click-Buttons für Cursor und VS Code findest du ganz oben auf dieser Seite. Die genauen Snippets für alle anderen liegen unter Installieren in deinem Client.
3. Ein Link einfügen.
Summarize this talk and pull the three strongest quotes.
https://www.youtube.com/watch?v=dQw4w9WgXcQDer Agent wählt selbst das/de das get_transcript, z beliebigen Text gelesen und antwortet daraus. Jede
Antwort enthält einen X-Credits-Remaining-Header, sodass das Budget in der Sitzung sichtbar bleibt.
🧰 Die 14 Instrumente
Alles 14 Tools werden automatisch bereiterichtet, sobald du eine Verbindung herstellst. Die meisten Aufrufe kosten 1 Credit. Credits werden automatisch erstattet, wenn ein Aufruf vor dem Beispiel an YouTube scheitert (Validierungsfehler, Rate-Limits, unsere eigene Kapazität). Du zahlst also für Antworten, nicht für Fehlversuche. Ein eindeutiges „Dieses Video hat keine Untertitel“ ist eine Antwort und wird auch so abgerechnet.
1. get_transcript · 1 Anruf
Holt das Transkript des Videos eines beliebigen YouTube-Videos. format=text (Standard) liefert einfachen, lesbaren Text,
der für ein Modell am günstigsten zu verarbeit selten ist, und format=json liefert zeitmarkierte Segmente.
Parameter | Typ | Standard | Beschreibung |
| string | erforderlich | YouTube-URL (kurz oder lang) oder 11-Zeichen-Video-ID |
| string |
| Sprachcode des Tracks ( |
| string |
|
|
| string | automatisch |
|
| Ganzzahl | siehe unten | Max. Zeichen pro Segment. 500-1500 erzeugt RAG-taugliche Chunks. |
| bool |
| Liefert Titel dividend Bänder Dauer und Aufrufe im SELBEN Anruf, für den selben 1 Credit |
Wenn segment fehlt, teilt es automatisch generierte Tracks in ~180-Zeichen-Intervalle und liefert manuelle Tracks
zurück, exakt so, wie der Autor sie gesetzt hat. Setze du es immer ein, wenn du eine Größe brauchst – egal welcher
Track geliefert wird.
Beispielausgabe (format=json):
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"kind": "manual",
"transcript": [
{ "text": "Never gonna give you up", "start": 18.0, "duration": 4.12 },
{ "text": "Never gonna let you down", "start": 22.12, "duration": 3.85 }
]
}
srtundvttkommen als vollständige Untertiteldateien zurück und können direkt vom Agenten auf die Magnetscheibe geschrieben werden.srv3ist der rohe XML-Quelltext und ist nicht mitsegmentkombinierbar.
2. get_video_info · 1 Anruf
Metadaten für ein Video (Titel, Kanal, Dauer, Aufrufe) plus die Liste der verfügbaren Transkript-Sprachen, OHNE die Untertitel herunterzuladen.
Parameter | Type | Standard | Beschreibung |
| string | erforderlich | YouTube-Video-ID oder URL |
Credit-Hygiene: Wer das Transkript ohnehin holen will, ruft stattdessen
get_transcriptmitvideo_metadata=trueauf. Das liefert beides in einem Credit: das sind hier zwei Anrufe und zwei Credits.
3. search_youtube · 1 Credit/Seite
Durchsucht YouTube nach Videos oder Kanälen. Mit next_page_token umblättern. has_more zeigt dir an,
ob eine weitere Seite existiert.
Parameter | Typ | Standard | Beschreibung |
| string | *Pflicht* | Suchbegriff (an letzter Wenn Seite) |
| string |
|
|
| integer | 20 | Ergebnisse pro Seite, 1–50 |
| string | Token eins aus vorheriges Ergebnis |
4. list_channel_videos · 1 Kredit/Seite
Listet Neuestes Geordnet: Kanalname die Videos. Akzeptiert einen einInstagram @handle, Kanalnamen, eine
UC...-Kanal-ID oder Chin אתר:
Parameter | Typ | Standard | Beschreibung |
| string | Pflicht* | Ausseres: |
| integer |
| Seitengröße, max. 500 mit |
| bool |
| Nur (oder) |
| string | Token aus vorherigen Ergebnis |
ids_only=trueist der günstige Weg, umsubmit_transcripts_jobzu füttern.
5. search_channel_videos · 1 Kredit/ Loop
Suche in einemKanal mit nativer YouTube-Relevanzsuche. Ein Ergebnis, das das Suchwort nicht im vier Titel tragen ist, ist normal. Es wird nach Relevanz eingestuft, stringenfänger.
Parameter | Typ | Standard | Beschreibung |
| string | Pflicht |
|
| string | Pflicht | Anfrage ist innerhalb des Kanals |
| integer | 30 | Rechte pro Lampe, 1-100 |
| string | Markierung der nächsten Seite für letzte |
6. latest_channel_videos · 1 Credit
Die ~15 letzten Videos eines Kanals aus seinen RSS-Feed. Der schnellste und günstigste Weg, um zu prüfen, was ein Kanal neu veröffentlicht hat.
Parameter | Typ | Standard | Beschreibung |
| string | envi erforderlich | Zeichen |
7. list_playlist_videos · 1 Kredit/Seite
Jedes Video in einer Playlist in ihrer Reihenfolge. Akzeptiert einen PL...-Playlisten-ID oder eine URL mit
list=.
Parameter | Typ | Standard | Beschreibung |
| string | Pflicht* | Playlist-ID oder -URL |
| integer | 100 | Seitengröße, max. 500 mit |
| bool |
| Nur |
| string | Token fortsetzen |
8. search_playlist_videos · 1 Credit
Finde Videos in einer Playlist durch einen Teilstrich desTitels (ungleich Schreibweise). YouTube hat keine
native Playlist-Suche, daher blättert dieser den Index bis zu 500 Playlist-Einträgen. truncated=true bleibt dann
bedeutet, dass laut den gefundenen Bereich noch weitere Treffer geben könnte.
Parameter | Typ | Standard | Beschreibung |
| string | erforderlich | Playlist-ID oder URL |
| string | erforderlich | Teilstring, der in Video-Titeln vorkommen muss |
| integer |
| Maximale Treffer, 1-100 |
9. submit_transcripts_job · 1 Credit pro Video
Stelle für viele Videos gleichzeitig Transkripte in die Warteschlange (bis zu 4.000) und erhalte sofort eine job_id zurück. Die Arbeit läuft im Hintergrund weiter, im Tempo deines Rate Limits. Nutze dies, statt get_transcript in einer Schleife für mehr als eine Handvoll Videos aufzurufen.
Parameter | Typ | Standard | Beschreibung |
| string[] | erforderlich | Video-IDs oder URLs, bis zu 4.000. Duplikate werden VOR der Abrechnung entfernt |
| string |
| Eine Sprache für den gesamten Job |
| string |
|
|
| string | automatische Erkennung |
|
| integer | Eine Segmentgröße für den gesamten Job | |
| boolean |
| Metadaten pro Video, ohne Zusatzkosten |
| string | Wird dieselbe Liste mit demselben Schlüssel erneut eingereicht, kommt der GL EICHE Job zurück – keine doppelte Abbuchung |
Erfordert einen Benutzerschlüssel (sk_...). Credits werden beim Einreichen belastet und pro Video erstattet, wenn ein Video nicht geliefert werden konnte und der Grund bei uns liegt.
10. get_transcripts_job · kostenlos
Fortschritt eines Batch-Jobs: Status (queued/running/done/cancelled), wie viele Videos fertig sind, fehlgeschlagen und ausstehend. Ein bereits bezahlter Job kann kostenlos abgefragt werden.
11. get_transcripts_results · kostenlos
Fertige Transkripte eines Batch-Jobs, in der Reihenfolge der Einreichung, seitenweise mit next_page_token (limit 1-500, Standard 100). Die Ergebnisse erscheinen beim Abrufen, also kannst du weiterlesen, bevor der Job abgeschlossen ist. Jeder Eintrag ist genau das, was get_transcript für dieses Video zurückgibt, plus dessen Status.
12. get_transcripts_result · kostenlos
Das Ergebnis eines einzelnen Videos aus einem Batch-Job anhand seiner Video-ID, ohne den gesamten Ergebnisverbundung durchblättern. Eine 404 bedeutet, dass der Job nicht existiert oder dieses Video noch nicht fertig ist – prüfe also get_transcripts_job, bevor du Schlüsse ziehst.
Parameter | Typ | Standard | Beschreibung |
| string | erforderlich | Job-ID aus |
| string | erforderlich | Eine der Video-IDs, mit denen der Job gestartet wurde |
13. cancel_transcripts_job · kostenlos
Einen Batch-Job abbrechen. Credits werden NUR für Videos erstattet, die noch nicht begonnen wurden. Bereits abgerufene Ergebnisse bleiben in den Ergebnissen und bleiben bezahlt.
14. get_credits · kostenlos
Der verbleibende Kreditsaldo des Schlüssels, ganz ohne Parameter. Der Saldo steckt auch im X-Credits-Remaining-Header jeder Antwort, aber Header sind für das Modell unsichtbar, das heißt die Zahl, nach der ein Nutzer wirklich fragt, braucht ein Werkzeug. Praktisch auch unmittelbar vor einem großen Batch, da der Batch beim Einreichen 1 Credit pro Video berechnet.
🔌 In deinem Client installieren
Der Server ist Remote-gehostet, daher ist jede Installation unten nur ein Konfigurationseintrag und nichts weiter. Alle brauchen dieselben zwei Werte: die URL und den Bearer-Header aus Schnellstart.
Einmal einrichten, und dann eine dauerhafte Regel für deinen Client
Wenn das in deinen Regeln/Anweisungen für den Client steht, reicht es, einen YouTube-Link einzufügen – das Wort „transcript“ muss nie getippt werden:
Whenever a YouTube link or video ID appears in my message, call the transcriptout get_transcript tool first and answer from the transcript, whether I asked for a summary, a quote, a translation or a question.
One-Click-Installation:
Nach der Installation die Servereinstellungen öffnen und den Authorization-Header mit deinem Schlüssel ergänzen.
Manuelle Konfiguration (~/.cursor/mcp.json):
{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}claude mcp add --transport http transcriptout https://api.transcriptout.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"Claudes benutzerdefinierte Connectors authentifizieren Remote-Server per OAuth, was TranscriptOut (noch) nicht bietet (nur API-Schlüssel). Verwende auf dem Desktop Claude Code (siehe oben), das API-Schlüssel-Header unterstützt. OAuth-Unterstützung steht in der Roadmap. Verfolge den Changelog.
Oder füge das zu den VS-Code-Benutzereinstellungen (settings.json) hinzu:
"mcp.servers": {
"transcriptout": {
"type": "http",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}Erstelle einen neuen Agenten.
Füge unter Actions oder Tools einen neuen MCP-Server hinzu.
URL:
https://api.transcriptout.com/mcpAuth-Typ: API-Key
Füge deinen API-Schlüssel aus dem Dashboard ein.
Füge zu ~/.codeium/windsurf/mcp_config.json hinzu:
{
"mcpServers": {
"transcriptout": {
"serverUrl": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"type": "streamableHttp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}In Zeds settings.json:
{
"context_servers": {
"transcriptout": {
"source": "remote",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}{
"mcpServers": {
"transcriptout": {
"type": "streamable-http",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}amp mcp add transcriptout https://api.transcriptout.com/mcp --header "Authorization: Bearer YOUR_API_KEY"Unter augment.advanced in der settings.json:
"augment.advanced": {
"mcpServers": [
{
"name": "transcriptout",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
]
}In .kilocode/mcp.json:
{
"mcpServers": {
"transcriptout": {
"type": "streamable-http",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Unter Einstellungen → Tools → AI Assistant → MCP:
{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}In ~/.gemini/settings.json:
{
"mcpServers": {
"transcriptout": {
"httpUrl": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}In ~/.qwen/settings.json:
{
"mcpServers": {
"transcriptout": {
"httpUrl": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}{
"mcpServers": {
"transcriptout": {
"serverUrl": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}In mcp.json:
{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Unter Einstellungen → KI → MCP:
{
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}Unter Einstellungen → Connectors → Erweitert:
{
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}🧩 Als Agent-Plugin installieren
Die Wurzel dieses Repositorys ist einkonformer Agent Plugins 1.0.0
-Paket, das tragbare Format, das zu ChatGPT, Codex, Cursor, GitHub Copilot, Kiro und VS Code passt. Eine Installation bringt dir den MCP-Server und eine gebündelte youtube-Fähigkeit, die deinem Agenten beibringt, wann er ein Tool nutzen soll und wie man keine Credits verschwendet.
plugin.json # manifest
mcp.json # hosted MCP server, streamable-http
skills/youtube/SKILL.md # when + how to use the 14 toolsVS Code. Befehlspalette → Chat: Plugin aus Quelle installieren, dann neue Paste:
https://github.com/artemchuikin/youtube-mcpOder einen lokalen Klon in settings.json registieren:
"chat.pluginLocations": { "/absolute/path/to/youtube-mcp": true }Cursor. Customize in der Seitenleiste → das Plugin finden → Installieren. Für einen lokalen Klon:
git clone https://github.com/artemchuikin/youtube-mcp ~/.cursor/plugins/local/transcriptoutDanach Entwickler: Fenster neu laden.
ChatGPT, Codex, GitHub Copilot, Kiro, jeder andere Client. Richte den Plugin-Mechanismus deines Clients auf dieses Repository oder auf einen lokalen Klon. Der Standard Agent Plugins 1.0.0 legt das -Paketformat fest, nicht die Installation – also hat jeder Client in eigener Installationsfluss.
Es gibt keine Zugangsdaten in diesem Paket, Agent Plugins 1.0.0 verbietet eingebettete Geheimnisse. Der Server authentifiziert sich mit einem API-Schlüssel, den du in den MCP-Einstellungen deines Clients hinterlegst (siehe Schlüssel und Sicherheit). Prüfe das Paket selbst:
curl -sO https://agent-plugins.org/schemas/1.0.0/plugin.schema.json
curl -sO https://agent-plugins.org/schemas/1.0.0/mcp.schema.json
npx ajv-cli@5 validate --spec=draft2020 -s plugin.schema.json -d plugin.json
npx ajv-cli@5 validate --spec=draft2020 -s mcp.schema.json -d mcp.json🔑 Schlüssel und Sicherheit
Ein Schlüssel wird nur once bei der Erstellung angezeigt. Heb ihn in einer Umgebungsvariable auf, nicht in der Versionskontrolle.
Ein ausgerichteter Schlüssel verliert seine Gültigkeit in dem Moment, in dem du ihn im Dashboard widerrufen. Ein Konto hält bis zu 20 Schlüssel, gib jedem Rechner also seinen eigenen.
Du bleibst lieber im Chat? Ein Agent mit dem eingebauten Companion youtube-skills kann das Konto selbst für dich öffnen und den Schlüssel generation… per E-Mail und 6-Stellen-Code, ohne Browser.
Es gibt noch keinen OAuth-Flow. Clients, deren Connectors keinen benutzerdefinerten Header senden können (Claude Desktop und Claude Web), wie du für jetzt auf Claude Code zurückgreifen.
🐳 Lokal ausführen
Der gehostete Endpoint braucht keine Installation, aber reine-Stdio-Clients, Sandboxes und Container-Plattformen wollen manchmal einen eigenen Prozess. Das Repository hat einen an Bord: server.js ist ein vollständiger lokaler MCP-Server (offizielles SDK, stdio-Transport), dessen 14 Tools je einen HTTPS-Aufruf an die TranscriptOut-REST-API machen — die gleiche Form wie jeder SaaS-gestützte MCP-Server.
com.transcriptout/youtube-transcript-and-youtube-search# as a container
docker build -t transcriptout-mcp https://github.com/artemchuikin/youtube-mcp.git
docker run -i -e TRANSCRIPTOUT_API_KEY=sk_your_key transcriptout-mcp
# or straight from a checkout (Node 20+)
npm install && TRANSCRIPTOUT_API_KEY=sk_your_key node server.jsOhne key verbindet er sich weiterhin, listet alle Tools; Werkzeugaufrufe antworten mit einer klaren 401-Meldung, wo man einen erhält. Die Tool-Definitionen contain in tools.json und aktualisieren sich beim Start aus der Live-Katalog, wenn das Netzwerk es zulässt – so wird die lokale Liste nie alt.
🍳 Rezepte
Jede Aufforderung unten ist im geschriebenen Zustand ausgefüllt.
Anwendungsfall | Beispiel-Prompt |
📝 Video zusammenfassen | „Fasse die Kernaussagen dieses Videos zusammen: [URL]" |
🔍 Thema recherchieren | „Search YouTube after the 5 most-seen Videos über Neural Radiance Fields und zusammenfassen sich um." |
🧠 Lernnotizen | „Erstelle Lernnotizen aus dieser MIT-Vorlesungs-Playlist: [PLAYLIST URL]" |
⚖️ PerspektivischePortVergleiche | „Vergleiche die Argumente in diesen beiden Videos: [URL1] [URL2]" |
🌐 Übersetzen | „Übersetze das Transkript dieses Videos ins Spanische: [URL]" |
✍️ Inhalt neu aufbereiten | „Verwandle dieses Video in einen 1.500-Wörter-Blogpost: [URL]" |
📡 Creator beobachten | „Nenne mir jeden Morgen die neuen Uploads von @kurzgesagt und sag mir, welches ich ansehen soll." |
🏛️ Inhaltsdatenbank aufbauen | „Hole alle Video-IDs von @3blue1brown und stelle einen Transkript-Batch für alle zusammen." |
🎯 Wettbewerbsanalyse | „Suche bei @fireship nach jedem Video über ein [Wettbewerberprodukt] und fasse schlussfolgerungen zusammen." |
🧩 RAG-Ingestion | „Hole die Transkripte dieser Playlist als JSON mit |
Das Hauptrezept in Langform. „Einen ganzen Kanal archivieren“ besteht aus vier Werkzeugaufrufen, ist kein Skript:
list_channel_videosmitids_only=true: bis zu 500 Video-IDs pro Seitesubmit_transcripts_jobmit diesen IDs (bis zu 4.000, Duplikate werden vor der Abrechnung entfernt,idempotency_keymacht einen erneuten Versuch kostenlos)get_transcripts_job, bisstatusaufdonesteht. Der Job passt sein Tempo selbst innerhalb deines Anfragelimits anget_transcripts_resultsSeite für Seite, während der Job noch läuft
Alles, was der Dienst nicht liefern kann, wird pro Video erstattet, sodass die Rechnung dem tatsächlich gelieferten Umfang entspricht.
💳 Preise und Limits
Plan | Preis | Credits | Anfragelimit |
Kostenlos | $0 | 100 bei der Registrierung (einmalig) | 200 req/min |
Starter | $4,49/Monat | 1.000/Monat | 200 req/min |
Starter Jahresabo | $45,29/Jahr (~$3,77/Monat) | 1.000/Monat | 200 req/min |
Scale | Regler bis $198,99/Monat | bis zu 100.000/Monat | 200 req/min |
Abonnements laufen über einen Regler von 1.000 bis 100.000 Credits pro Monat in Schritten von 1.000; der Preis pro 1.000 sinkt bei größerem Volumen (10.000/Monat kostet $27,49, nicht $44,90). Der Rabatt bei Jahresabrechnung steigt mit dem Volumen von ~16 % auf ~35 %.
1 Credit = 1 beantwortete Anfrage. Aufrufe, die fehlschlagen, bevor sie YouTube erreichen (Validierung, Anfragelimit, unsere Kapazität), werden automatisch erstattet. Der verbleibende Kontostand wird im
X-Credits-Remaining-Header mitgeliefert.Einmalige Credit-Pakete, die nie verfallen, können zusätzlich zu einem aktiven Abo erworben werden.
🧯 Wenn eine Anfrage fehlschlägt
Prüfe, ob dein API-Schlüssel mit
sk_beginntAchte beim Kopieren auf zusätzliche Leerzeichen
Stelle sicher, dass der Schlüssel in deinem Dashboard aktiv ist
Widerrufene Schlüssel versagen sofort. Erstelle im Dashboard einen neuen
Prüfe dein Guthaben im Dashboard
Abonniere oder kaufe ein Credit-Paket auf transcriptout.com/billing
404: Das Video hat keine Untertitel in der angeforderten Sprache/Spur oder die ID ist falsch. Das ist eine endgültige Antwort; ein erneuter Fensterversuch ändert daran nichts.410: Das Video wurde entfernt.451: Altersbeschränkter oder nur für Mitglieder zugänglicher Inhalt.
Beachte den
Retry-After-Header. Beide Fälle werden automatisch erstattet.Für Massenarbeiten nutze
submit_transcripts_job: Er passt sein Tempo innerhalb deines Anfragelimits an, statt daran abzuleiten.
Jeder Fehlerbody hat die Form {"ok": false, "code": "...", "detail": "...", "request_id": "req_..."}.
Verlasse dich auf den maschinenlesbaren code, nicht auf den Klartext. Gib bei der Kontaktaufnahme mit dem Support die request_id an.
🌐 Lieber normales REST?
Baust du eine App statt eines Agenten? Das gleiche Backend gibt es auch als JSON-REST-API, mit denselben fünf Transkript-Formaten und zusätzlich mit Rohdatei-Download (download=true).
MCP | REST-API | |
Am besten geeignet | KI-Assistenten & Agents | Apps & Backend-Dienste |
Einrichtung | URL + Schlüssel hinzufügen | Integration in Code |
Start | Dieses README |
Base-URL: https://api.transcriptout.com/v1
🔗 Links
🌐 Website: transcriptout.com
📚 Dokumentation: transcriptout.com/docs
🧰 Agent-Skills (gleiches Backend, kein MCP nötig): github.com/artemchuikin/youtube-skills
💬 Kontakt: support@transcriptout.com
📇 MCP Registry
Dieser Server ist im offiziellen Model Context Protocol Registry unter dem Namen veröffentlicht:
com.transcriptout/youtube-transcript-and-youtube-searchTranscriptOut ist ein unabhängiger Dienst und steht weder mit YouTube noch mit Google LLC in Verbindung, wird von diesen nicht unterstützt oder gefördert. „YouTube" ist eine Marke von Google LLC.
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceYouTube intelligence layer for AI agents. 41 tools across 10 modules ; search, explore, transcripts, comments, visual search, analytics, and more. Zero config.41250
- AlicenseBqualityBmaintenanceEnables AI agents to search, analyze, and extract insights from YouTube videos including transcripts, visual frames, and benchmarks without requiring API keys. Supports semantic search across playlists, sentiment analysis, and visual content indexing with automatic fallback chains for reliable access.4125032MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to fetch transcripts, metadata, and download videos/audio from YouTube without API keys.27MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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
Related MCP Connectors
15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.
💯 The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.
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/artemchuikin/youtube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server