HomeBlogTranscribePlansAPI Keys

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

OpenAI Responses API conectándose a un servidor MCP remoto para obtener una transcripción de YouTube

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:

  1. Primero aparece un elemento mcp_list_tools. La Responses API se conectó a https://youtube2text.org/mcp y 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.
  2. Cuando el modelo decide llamarla, aparece un elemento mcp_call con los argumentos que eligió ({"url": "https://www.youtube.com/watch?v=..."}) y, una vez que el servidor responde, la salida completa de la herramienta.
  3. Finalmente, un elemento message normal con la respuesta del modelo, que es lo que te da output_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.