MCP en la OpenAI Responses API: transcripciones de YouTube para GPT-5

La OpenAI Responses API puede llamar a servidores MCP remotos directamente: declaras el servidor en tools y el modelo descubre y llama a sus herramientas por su cuenta. Conecta el servidor MCP de youtube2text.org y GPT-5 puede obtener cualquier transcripción de YouTube en mitad de la conversación sin que escribas ni una sola llamada de fetch. Probé esta configuración exacta contra gpt-5 hoy; la configuración de abajo está lista para copiar y pegar.
El bloque de la herramienta
Esta es la integración completa:
{
"type": "mcp",
"server_label": "youtube2text",
"server_url": "https://youtube2text.org/mcp",
"headers": {"x-api-key": "YOUR_KEY"},
"require_approval": "never"
}
El campo headers pasa tu clave de API de youtube2text al servidor en cada llamada. require_approval: "never" se salta el viaje de ida y vuelta de aprobación humana — razonable aquí, ya que la única herramienta es una obtención de transcripciones de solo lectura. Consigue una clave con inicio de sesión de Google en youtube2text.org/app/keys, o toma la clave de demostración compartida de GET https://youtube2text.org/api/demo-key (5 videos al mes por IP).
Ejemplo completo en Python
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)
Eso es todo. Sin código de obtención de transcripciones, sin parseo, sin ensamblaje de prompts. El modelo decide que necesita la transcripción, llama a la herramienta, lee el resultado y escribe el resumen.
Qué pasa por debajo
Recorre resp.output y verás la maquinaria:
- Primero aparece un elemento
mcp_list_tools. La Responses API se conectó ahttps://youtube2text.org/mcpy descargó el manifiesto de herramientas — en nuestro caso una sola herramienta,transcribe_video(url, maxChars?), que devuelve{title, content, contentSize, videoId, pubDate, truncated}. Esta importación ocurre una vez por conversación y se cachea en los turnos siguientes. - Cuando el modelo decide llamarla, aparece un elemento
mcp_callcon los argumentos que eligió ({"url": "https://www.youtube.com/watch?v=..."}) y, una vez que el servidor responde, la salida completa de la herramienta. - Finalmente, un elemento
messagenormal con la respuesta del modelo, que es lo que te daoutput_text.
El servidor es HTTP streamable y sin estado, así que no hay handshake de sesión que gestionar — cada llamada es independiente. Si un video no tiene subtítulos, la herramienta devuelve un error TRANSCRIPT_UNAVAILABLE, que el modelo transmite en lenguaje natural en lugar de tumbar tu ejecución.
Una peculiaridad que conviene conocer
GPT-5 resumirá, analizará y citará fragmentos cortos de las transcripciones sin problema. Sin embargo, pídele que reproduzca pasajes largos al pie de la letra y puede negarse — las salvaguardas de copyright de OpenAI se activan ante la reproducción extensa palabra por palabra de contenido de terceros. En mis pruebas de hoy, los resúmenes, la extracción de temas y las preguntas y respuestas funcionaron sin fricción; "devuélveme la transcripción completa" no. Si necesitas el texto en bruto, sáltate el modelo por completo y llama al endpoint REST con curl — de lo contrario estás pagando tokens para blanquear tu propia respuesta de API.
Nota sobre costos
Las transcripciones son grandes. Una hora de conversación son aproximadamente 8,000-10,000 palabras, todas las cuales aterrizan en el contexto de GPT-5 como salida de herramienta y se facturan como tokens de entrada. Si resumes a gran volumen, pasa maxChars en la instrucción de tu prompt (el modelo lo reenvía como argumento de la herramienta) o preprocesa con algo más barato.
El mismo servidor, otros clientes
El mismo endpoint MCP funciona con Claude — vía el bloque mcp_servers de la Messages API o como conector de claude.ai y en Claude Code — así que una sola clave de youtube2text cubre todo tu zoológico de agentes.
Las claves y los planes (desde 5 al mes gratis hasta ilimitado por $19.99) están en youtube2text.org/app/keys.