MCP di OpenAI Responses API: Transkrip YouTube untuk GPT-5

OpenAI Responses API dapat memanggil remote MCP server secara langsung — Anda mendeklarasikan server-nya di tools, dan model menemukan serta memanggil tool-nya sendiri. Sambungkan MCP server youtube2text.org dan GPT-5 dapat mengambil transkrip YouTube mana pun di tengah percakapan tanpa Anda menulis satu pun panggilan fetch. Saya menguji setup persis ini terhadap gpt-5 hari ini; konfigurasi di bawah siap salin-tempel.
Blok tool-nya
Inilah keseluruhan integrasinya:
{
"type": "mcp",
"server_label": "youtube2text",
"server_url": "https://youtube2text.org/mcp",
"headers": {"x-api-key": "YOUR_KEY"},
"require_approval": "never"
}
Field headers meneruskan API key youtube2text Anda ke server pada setiap panggilan. require_approval: "never" melewati bolak-balik persetujuan manusia — masuk akal di sini, karena satu-satunya tool adalah pengambilan transkrip yang bersifat read-only. Dapatkan key lewat login Google di youtube2text.org/app/keys, atau ambil demo key bersama dari GET https://youtube2text.org/api/demo-key (5 video/bulan per IP).
Contoh Python lengkap
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)
Selesai. Tanpa kode pengambilan transkrip, tanpa parsing, tanpa perakitan prompt. Model memutuskan bahwa ia butuh transkrip, memanggil tool-nya, membaca hasilnya, dan menulis ringkasannya.
Apa yang terjadi di balik layar
Telusuri resp.output dan Anda akan melihat mesinnya:
- Item
mcp_list_toolsmuncul pertama. Responses API terhubung kehttps://youtube2text.org/mcpdan menarik manifes tool — dalam kasus kita satu tool,transcribe_video(url, maxChars?), yang mengembalikan{title, content, contentSize, videoId, pubDate, truncated}. Impor ini terjadi sekali per percakapan dan di-cache di giliran berikutnya. - Saat model memutuskan untuk memanggilnya, item
mcp_callmuncul dengan argumen yang ia pilih ({"url": "https://www.youtube.com/watch?v=..."}) dan, begitu server merespons, output tool lengkapnya. - Terakhir, item
messagebiasa berisi jawaban model, yang itulah yang diberikanoutput_text.
Server ini menggunakan streamable HTTP dan stateless, jadi tidak ada handshake sesi yang perlu dikelola — setiap panggilan berdiri sendiri. Jika sebuah video tidak punya caption, tool mengembalikan error TRANSCRIPT_UNAVAILABLE, yang disampaikan model dalam bahasa yang jelas alih-alih membuat run Anda crash.
Satu keanehan yang perlu diketahui
GPT-5 dengan senang hati meringkas, menganalisis, dan mengutip fragmen pendek dari transkrip. Namun minta ia mereproduksi bagian panjang secara verbatim, dan ia mungkin menolak — guardrail hak cipta OpenAI aktif pada reproduksi kata-per-kata yang panjang dari konten pihak ketiga. Dalam pengujian saya hari ini, ringkasan, ekstraksi topik, dan tanya-jawab semuanya berjalan tanpa hambatan; "give me the full transcript back" tidak. Jika Anda butuh teks mentahnya, lewati modelnya sama sekali dan panggil endpoint REST dengan curl — kalau tidak, Anda membayar token untuk mencuci respons API Anda sendiri.
Catatan biaya
Transkrip itu besar. Satu jam pembicaraan kira-kira 8.000-10.000 kata, yang semuanya masuk ke konteks GPT-5 sebagai output tool dan ditagih sebagai token input. Jika Anda meringkas dalam volume besar, sertakan maxChars di instruksi prompt Anda (model meneruskannya sebagai argumen tool) atau lakukan praproses dengan sesuatu yang lebih murah.
Server yang sama, client lain
Endpoint MCP yang identik bekerja dengan Claude — lewat blok mcp_servers di Messages API atau sebagai connector claude.ai dan di Claude Code — sehingga satu key youtube2text mencakup seluruh kebun binatang agent Anda.
Key dan paket (gratis 5/bulan hingga tanpa batas seharga $19,99) tersedia di youtube2text.org/app/keys.