OpenAI Responses API mit MCP: YouTube-Transkripte für GPT-5

Die OpenAI Responses API kann Remote-MCP-Server direkt aufrufen — du deklarierst den Server in tools, und das Modell entdeckt und nutzt seine Tools selbstständig. Binde den MCP-Server von youtube2text.org ein, und GPT-5 kann mitten im Gespräch jedes YouTube-Transkript holen, ohne dass du eine einzige Fetch-Zeile schreibst. Ich habe genau dieses Setup heute gegen gpt-5 getestet; die Konfiguration unten ist copy-paste-fertig.
Der Tool-Block
Das ist die gesamte Integration:
{
"type": "mcp",
"server_label": "youtube2text",
"server_url": "https://youtube2text.org/mcp",
"headers": {"x-api-key": "YOUR_KEY"},
"require_approval": "never"
}
Das Feld headers reicht deinen youtube2text-API-Key bei jedem Aufruf an den Server durch. require_approval: "never" überspringt die Runde mit menschlicher Freigabe — hier vertretbar, denn das einzige Tool ist ein rein lesender Transkript-Abruf. Hol dir einen Key per Google-Anmeldung unter youtube2text.org/app/keys oder nimm den geteilten Demo-Key von GET https://youtube2text.org/api/demo-key (5 Videos/Monat pro IP).
Vollständiges Python-Beispiel
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model="gpt-5",
tools=[{
"type": "mcp",
"server_label": "youtube2text",
"server_url": "https://youtube2text.org/mcp",
"headers": {"x-api-key": "YOUR_KEY"},
"require_approval": "never",
}],
input="Summarize https://www.youtube.com/watch?v=dQw4w9WgXcQ "
"in five bullet points.",
)
print(resp.output_text)
Das war's. Kein Code zum Transkript-Holen, kein Parsing, kein Prompt-Zusammenbauen. Das Modell entscheidet, dass es das Transkript braucht, ruft das Tool auf, liest das Ergebnis und schreibt die Zusammenfassung.
Was unter der Haube passiert
Geh resp.output durch und du siehst die Maschinerie:
- Zuerst erscheint ein
mcp_list_tools-Item. Die Responses API hat sich mithttps://youtube2text.org/mcpverbunden und das Tool-Manifest gezogen — in unserem Fall ein einziges Tool,transcribe_video(url, maxChars?), das{title, content, contentSize, videoId, pubDate, truncated}zurückgibt. Dieser Import passiert einmal pro Konversation und wird für folgende Turns gecacht. - Wenn das Modell beschließt, es aufzurufen, taucht ein
mcp_call-Item mit den von ihm gewählten Argumenten auf ({"url": "https://www.youtube.com/watch?v=..."}) und, sobald der Server antwortet, dem vollständigen Tool-Output. - Zum Schluss ein reguläres
message-Item mit der Antwort des Modells — das ist, wasoutput_textdir gibt.
Der Server ist Streamable HTTP und stateless, es gibt also keinen Session-Handshake zu verwalten — jeder Aufruf steht für sich. Hat ein Video keine Untertitel, liefert das Tool einen TRANSCRIPT_UNAVAILABLE-Fehler, den das Modell in Klartext weitergibt, statt deinen Lauf abstürzen zu lassen.
Eine Eigenheit, die man kennen sollte
GPT-5 fasst bereitwillig zusammen, analysiert und zitiert kurze Fragmente aus Transkripten. Bitte es aber, lange wörtliche Passagen zu reproduzieren, und es verweigert womöglich — OpenAIs Copyright-Guardrails greifen bei ausgedehnter Wort-für-Wort-Wiedergabe fremder Inhalte. In meinen Tests heute funktionierten Zusammenfassungen, Themen-Extraktion und Q&A reibungslos; „gib mir das komplette Transkript zurück" nicht. Wenn du den Rohtext brauchst, lass das Modell komplett weg und ruf den REST-Endpoint mit curl auf — andernfalls bezahlst du Tokens, um deine eigene API-Antwort zu waschen.
Kostenhinweis
Transkripte sind groß. Eine Stunde Sprechzeit sind grob 8.000-10.000 Wörter, die allesamt als Tool-Output in GPT-5s Kontext landen und als Input-Tokens abgerechnet werden. Wenn du in großem Stil zusammenfasst, gib maxChars in deiner Prompt-Anweisung mit (das Modell reicht es als Tool-Argument weiter) oder verarbeite mit etwas Günstigerem vor.
Derselbe Server, andere Clients
Der identische MCP-Endpoint funktioniert mit Claude — über den mcp_servers-Block der Messages API oder als claude.ai-Connector und in Claude Code — ein youtube2text-Key deckt also deinen ganzen Agenten-Zoo ab.
Keys und Pläne (kostenlos 5/Monat bis unbegrenzt für 19,99 $) gibt es unter youtube2text.org/app/keys.