YouTube Transcript & Search MCP Server
🎬 Por qué
Cualquiera que trabaje con un agente ha tenido este intercambio al menos una vez.
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!La transcripción es precisamente lo que el agente no puede obtener por su cuenta. Con este servidor conectado, el mismo mensaje simplemente se resuelve.
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...Leer un solo video rara vez es donde termina el trabajo. Así es como se comparan realmente las dos formas de introducir datos de YouTube en un agente.
Este servidor | yt-dlp / MCP con scraper local | Google YouTube Data API | |
Transcripciones | ✅ cualquier video público, 5 formatos | ⚠️ bloqueado en IPs de datacenter, se rompe cuando YouTube cambia el markup | ❌ no se sirven en absoluto |
Configuración | ✅ una URL y una clave de API | ❌ instalación local, binarios que mantener activos | ❌ proyecto de Google Cloud, pantallas de consentimiento OAuth |
Búsqueda en YouTube | ✅ nativa, 1 crédito por página | ❌ | ⚠️ 100 unidades de cuota por búsqueda |
Canales y playlists | ✅ 100 videos/página, hasta 500 IDs simples | ❌ un video a la vez | ⚠️ medido por cuota, por elemento |
Transcripciones masivas | ✅ 4,000 por trabajo en segundo plano | ❌ | ❌ |
Chunking listo para RAG | ✅ 20-5,000 caracteres, marcas de tiempo por palabra | ❌ | ❌ |
Quando YouTube cambia | ✅ se corrige en el servidor, nada que actualizar | ❌ haces el parche y despliegas de nuevo | ✅ |
Llamadas fallidas | ✅ los créditos se reembolsan automáticamente | ❌ tu propia lógica de reintentos | ⚠️ la cuota se gasta igualmente |
Related MCP server: VidLens
⚡ Inicio rápido
1. Obtén una clave de API. Regístrate en transcriptout.com y crea una clave
en el panel de control. Las cuentas nuevas reciben 100 créditos gratis y
no se pide ninguna tarjeta. Las claves comienzan con sk_ y se muestran solo una vez.
2. Apunta tu cliente al servidor. Habla con tú en HTTP y se autentica con una única cabecera Bearer.
{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Los botones de un solo clic para Cursor y VS Code están arriba en esta página. Los fragmentos exactos para el resto se encuentran en Instalación en tu cliente.
3. Pega un enlace.
Summarize this talk and pull the three strongest quotes.
https://www.youtube.com/watch?v=dQw4w9WgXcQEl agente selecciona get_transcript por su cuenta, lee el texto con marcas de tiempo y responde desde él. Cada
respuesta incluye una cabecera X-Credits-Remaining, así el presupuesto queda visible durante toda la
sesión.
🧰 Las 14 herramientas
Las 14 herramientas se exponen automáticamente una vez que te conectas. La mayoría de las llamadas cuestan 1 crédito. Los créditos se reembolsan automáticamente cuando una llamada falla antes de llegar a YouTube (errores de validación, límites de velocidad, el propio bloqueo por nuestra parte), así que pagas por respuestas, no por fallos. Un "este video no tiene subtítulos" definitivo es una respuesta y se cobra igual.
1. get_transcript · 1 crédito
Obtén la transcripción de cualquier video de YouTube. format=text (valor por defecto) devuelve texto legible
plano, lo más económico para que un modelo lo procese, y format=json devuelve contenido.
Parámetro | Tipo | Valor por defecto | Descripción |
| string | obligatorio | URL de YouTube (completa o corta) o ID de video de 11 caracteres |
| string |
| Código de idioma de la pista ( |
| string |
|
|
| string | auto |
|
| integer | ver más abajo | Máx. de caracteres por segmento. 500-1500 crea chunks listos para RAG |
| boolean |
| Agrega título, canal, duración y visitas en la MISMA llamada, al mismo coste de 1 crédito |
Si se omite, segment corta las transcripciones generadas automáticamente en segmentos de ~180 caracteres y devuelve las transcripciones manuales exactamente como su autor las dividió. Pásalo siempre que necesites un único tamaño, sin importar qué pista responda.
Ejemplo de salida (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 }
]
}
srtyvttvienen de vuelta como cuerpos completos de archivos de subtítulos, listos para que el agente los escriba en el disco.srv3es el XML puro de fuente y no se combina consegment.
2. get_video_info · 1 crédito
🎬 ¿Por qué?
video_info` responde con los metadatos de un video (título, canal, duración, vistas, miniaturas) más la lista de idiomas de transcripción disponibles, sin descargar los subtítulos.
Parámetro | Tipo | Valor por defecto | Descripción |
| string | obligatorio | ID de video de YouTube o URL |
Higiene del crédito: si vas a obtener la transcripción de todas formas, llama a
get_transcriptconvideo_metadata=true. Así obtienes ambos en una sola llamada por 1 crédito, en lugar de dos llamadas y dos.
3. search_youtube · 1 crédito/página
Busca videos o canales en YouTube. Pagina con next_page_token. has_more indica si existe otra página.
Parámetro | Tipo | Valor por defecto | Descripción |
| string | obligatorio* | Consulta de búsqueda (*salvo que se esté paginando) |
| string |
|
|
| integer |
| Resultados por página, 1-50 |
| string | Token de un resultado anterior |
4. list_channel_videos · 1 crédito/página
Muestra los videos de la pestaña Videos de un canal, primero los más recientes. Acepta un handle, un nombre de canal, un ID de canal UC... o una URL de un canal.
Parámetro | Tipo | Valor por defecto | Descripción |
| string | requerido* |
|
| integer |
| Tamaño de página, hasta 500 con |
| boolean |
| Devuelve solo |
| string | Token de un resultado anterior |
ids_only=truees la vía económica para alimentarsubmit_transcripts_job.
5. search_channel_videos · 1 crédito/página
Busca dentro de un único canal con la búsqueda nativa de relevancia de YouTube. Un resultado cuyo título no contenga la palabra de la consulta es normal. Los resultados se ordenan por relevancia, no por subcadena.
Parámetro | Tipo | Valor por defecto | Descripción |
| string | requerido |
|
| string | requerido | Consulta para buscar dentro del canal |
| integer |
| Resultados por página, 1-100 |
| string | Token de paginación |
6. latest_channel_videos · 1 crédito
Los ~15 videos más recientes de un canal, desde su
| name | string | obligatorio | @handle, nombre de canal, ID UC... o URL |
7. list_playlist_videos · 1 crédito/página
Cada video de una lista de reproducción en orden de lista. Acepta un ID de lista PL... o una URL con list=.
Parámetro | Tipo | Valor por defecto | Descripción |
| string | requerido* | ID de la lista o URL |
| integer |
| Tamaño de página, hasta 500 con |
| boolean |
| Devuelve solo |
| string | Token de paginación |
8. search_playlist_videos · 1 crédito
Busca videos dentro de una lista de reproducción por una subcadena del título (sin distinguir mayúsculas). YouTube no tiene búsqueda nativa de listas de reproducción, así que esto recorre hasta 500 elementos de la lista. truncated=true significa que puede haber más coincidencias más allá de la ventana escaneada.
Parámetro | Tipo | Por defecto | Descripción |
| string | obligatorio | ID de playlist o URL |
| string | obligatorio | Subcadena para buscar en los títulos de los vídeos |
| integer |
| Máximo de coincidencias, 1-100 |
9. submit_transcripts_job · 1 crédito por vídeo
Pon en cola transcripciones de MUCHOS vídeos a la vez (hasta 4.000) y recibe un job_id inmediatamente. El trabajo continúa en segundo plano a la velocidad que permite tu límite de peticiones. Úsalo en lugar de llamar a get_transcript en un bucle para más de un puñado de vídeos.
Parámetro | Tipo | Por defecto | Descripción |
| string[] | obligatorio | IDs de vídeo o URLs, hasta 4.000. Los duplicados se eliminan ANTES de facturar |
| string |
| Un solo idioma para todo el trabajo |
| string |
|
|
| string | auto-detección |
|
| integer | Un único tamaño de segmento para todo el trabajo | |
| boolean |
| Metadatos por vídeo, sin coste adicional |
| string | Reenviar la misma lista con la misma clave devuelve el MISMO trabajo, sin doble cargo |
Requiere una clave de usuario (sk_...). Los créditos se cobran al enviar y se reembolsan por vídeo cuando un vídeo no se haya podido entregar por cualquier problema nuestro.
10. get_transcripts_job · gratis
Progreso de un trabajo por lotes: estado (queued/running/done/cancelled), cuántos vídeos hay listos, fallidos y pendientes. Consultar un trabajo que ya has pagado no cuesta nada.
11. get_transcripts_files · gratis
Transcripciones terminadas de un trabajo por lotes, en el orden en que se enviaron, paginadas con next_page_token (limit 1-500, 100 por defecto). Los resultados aparecen a medida que se obtienen, así que puedes leer antes de que el trabajo termine. Cada entrada es exactamente lo que devuelve get_transcript para ese vídeo, más su estado.
12. get_transcripts_root · gratis
El resultado de un único vídeo de un trabajo por lotes, por su id de vídeo, sin paginar por todo el conjunto de resultados. Un 404 significa que el trabajo no existe o que este vídeo aún no ha terminado, así que comprueba get_transcripts_job antes de sacar conclusiones.
Parámetro | Tipo | Por defecto | Descripción |
| string | obligatorio | ID del trabajo de |
| string | obligatorio | Uno de los IDs de vídeo con los que se envió el trabajo |
13. cancel_transcripts_job · gratis
Cancelar un trabajo por lotes. Los créditos se reembolsan SOLO por los vídeos aún no iniciados. Todo lo que ya se haya obtenido permanece en los resultados y queda pagado.
14. get_credits · gratis
El saldo de créditos restante de la clave, sin parámetros. El saldo también va en la cabecera X-Credits-Remaining de cada respuesta, pero las cabeceras son invisibles para el modelo, así que el número que el usuario realmente pide necesita una herramienta. También es útil justo antes de un lote grande, porque el lote cobra 1 crédito por vídeo en el envío.
🔌 Instálalo en tu cliente
El servidor es remoto, así que cada instalación de abajo es una entrada de configuración y nada más. Todas quieren los mismos dos valores: la URL y la cabecera Bearer del Inicio rápido.
Vale la pena hacerlo una vez: una regla permanente para tu cliente
Con esto en las reglas/instrucciones de tu cliente, basta con pegar un enlace de YouTube y la palabra «transcript» no vuelve a escribirse:
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.
Instalación en un clic:
Tras instalar, abre los ajustes del servidor y añade la cabecera Authorization con tu clave.
Configuración manual (~/.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"Los conectores personalizados de Claude autentican servidores remotos mediante OAuth, que TranscriptOut aún no ofrece (solo claves API). En escritorio, usa Claude Code (arriba), que admite cabeceras con API key. El soporte OAuth está en la hoja de ruta. Consulta el changelog.
O añádelo a la configuración de usuario de VS Code (settings.json):
"mcp.servers": {
"transcriptout": {
"type": "http",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}Crea un nuevo agente
En «Actions» o «Tools», añade un nuevo servidor MCP
URL:
https://api.transcriptout.com/mcpTipo de autenticación: API Key
Pega tu clave API del panel de control
Añade a ~/.codeium/windsurf/mcp_config.json:
{
"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"
}
}
}
}En settings.json de Zed:
{
"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"En settings.json dentro de augment.advanced:
"augment.advanced": {
"mcpServers": [
{
"name": "transcriptout",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
]
}En .kilocode/mcp.json:
{
"mcpServers": {
"transcriptout": {
"type": "streamable-http",
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}En Configuración → Herramientas → AI Assistant → MCP:
{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}En ~/.gemini/settings.json:
{
"mcpServers": {
"transcriptout": {
"httpUrl": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}En ~/.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"
}
}
}
}En mcp.json:
{
"mcpServers": {
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}En Configuración → IA → MCP:
{
"transcriptout": {
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}En Configuración → Conectores → Avanzado:
{
"url": "https://api.transcriptout.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}🧩 Instalar como perrito de agente
La raíz de este repositorio es un paquete compatible con Agent Plugins 1.0.0, el formato portátil compatible con ChatGPT, Codex, Cursor, GitHub Copilot, Kiro y VS Code. Una sola instalación te da el servidor MCP y una skill youtube integrada que enseña a tu agente cuándo usar cada herramienta y cómo no gastar créditos de forma innecesaria.
plugin.json # manifest
mcp.json # hosted MCP server, streamable-http
skills/youtube/SKILL.md # when + how to use the 14 toolsVS Code. Paleta de comandos → Chat: Install Plugin From Source, luego pega:
https://github.com/artemchuikin/youtube-mcpO registra un clon local en settings.json:
"chat.pluginLocations": { "/absolute/path/to/youtube-mcp": true }Cursor. En Customize de la barra lateral, encuentra el plugin → Instalar. Para un clon local:
git clone https://github.com/artemchuikin/youtube-mcp ~/.cursor/plugins/local/transcriptoutDespués usa Developer: Reload Window.
ChatGPT, Codex, GitHub Copilot, Kiro, o cualquier otro cliente. Apunta el mecanismo de plugins de tu cliente a este repositorio o a un clon local. Agent Plugins 1.0,0 estandariza el formato de paquete, no la instalación, así que cada cliente gestiona su propio flujo de instalación.
No hay credenciales en este paquete: Agent Plugins 1.0.0 prohíbe secretos incrustados. El servidor autentica con una clave API que añades en los ajustes MCP de tu cliente (ver Claves y seguridad). Verifica el paquete tú mismo:
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🔑 Claves y seguridad
Unary la clave se muestra solo una vez, al crearla. Mantenla en una variable de entorno y fuera del control de versiones.
Una clave filtrada muere en el momento en que la revocas en el panel de control. Una cuenta tiene hasta 20 claves: dale una distinta de la tuya a cada máquina.
¿Prefieres no salir del chat? Un agente con el companion youtube-skills puede abrir la cuenta y generar la clave por ti, con tu email y un código de 6 dígitos, sin navegador.
Aún no hay flujo OAuth, así que los clientes cuyos conectores no puedan enviar una cabecera personalizada (Claude Desktop y Claude Web) deberían pasar por Claude Code por ahora.
🐳 Ejecutalo localmente
El endpoint alojado no requiere instalación, pero los clientes de solo stdio, los sandboxes y las plataformas de contenedores a veces quieren su propio proceso. El repositorio incluye uno: server.js es un servidor MCP local completo (SDK oficial, transporte stdio) cuyas 14 herramientas hacen cada una una llamada HTTPS a la API REST de TranscriptOut, tal como cualquier servidor MCP basado en SaaS.
# 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.jsSin una clave, sigue conectándose y lista todas las herramientas; las llamadas responden con un 401 claro que indica dónde conseguirla. Las definiciones de las herramientas vienen en tools.json y se actualizan desde el catálogo en vivo al arrancar si la red lo permite, así que la lista local nunca queda desactualizada.
🍳 Recetas
Cada prompt de abajo se puede pegar tal cual.
Caso de uso | Ejemplo de prompt |
📝 Resumir un vídeo | "Resume los puntos clave de este vídeo: [URL]" |
🔍 Investigar un tema | "Busca en YouTube los 5 vídeos más vistos sobre campos de radiancia neuronal y resume cada uno." |
🧠 Apuntes de estudio | "Crea apuntes de estudio a partir de esta playlist de conferencias del MIT: [PLAYLIST URL]" |
⚖️ Comparar perspectivas | "Compara los argumentos de estos dos vídeos: [URL1] [URL2]" |
🌐 Traducir | "Traduce la transcripción de este vídeo al español: [URL]" |
✍️ Reaprovechar algo | "#" |
✍️ Diversificar contenido | "Convierte este vídeo en un artículo de blog de 1,500 palabras: [URL]" |
📡 Monitorizar a un creador | "Cada mañana, lista las nuevos subidas de @kurzgesagt y dime cuál ver." |
🏛️ Construir una base de contenido | "Extrae todos los IDs de vídeo de @juice shop y crea un lote de transcripciones para todos." |
🎯 Análisis de la competencia | "Busca en @fireship cualquier vídeo sobre [producto competidor] y resume lo clave." |
🧩 Ingesta RAG | "Dame este playlist con las transcripciones en JSON con segment=1000 y añádelas al índice." |
La receta masiva: «Archivar un canal completo» es cuatro llamadas a herramientas, no un script:
list_channel_videosconids_only=true: hasta 500 ID de vídeo por páginasubmit_transcripts_jobcon esos IDs (hasta 4.000; los duplicados se descartan antes de facturar,idempotency_keyhace que un reintento sea gratuito)get_transcripts_jobhasta questatusseadone. El trabajo se autorregula dentro de tu límite de peticionesget_transcripts_resultspágina a página, mientras se sigue ejecutando
Lo que el servicio no consiga entregar se reembolsa por vídeo, de modo que la factura coincide con el archivo.
💳 Precios y límites
Plan | Precio | Créditos | Límite de peticiones |
Free | $0 | 100 al registrarte (una sola vez) | 200 peticiones/min |
Starter | $4.49/mes | 1.000/mes | 200 peticiones/min |
Starter Annual | $45.29/año (~$3.77/mes) | 1.000/mes | 200 peticiones/min |
Scale | deslizador hasta $198,99/mes | hasta 100.000/mes | 200 peticiones/min |
Las suscripciones se ajustan con un deslizador de 1.000 a 100.000 créditos/mes en pasos de 1.000, y el precio por cada 1.000 baja con el volumen (10.000/mes son $27.49, no $44.90). El descuento anual crece con el volumen, desde ~16% hasta ~35%.
1 crédito = 1 solicitud respondida. Las llamadas que fallan antes de llegar a YouTube (validación, límite de peticiones, nuestra capacidad) se reembolsan automáticamente. El saldo restante va en la cabecera
X-Credits-Remaining.Los paquetes de créditos de un solo uso que nunca caducan se pueden comprar además de una suscripción activa.
🧯 Cuando falla una llamada
Comprueba que tu clave de API empieza con
sk_Asegúrate de que no haya espacios extra al copiarla
Asegúrate de que la clave esté activa en tu panel de control
Las claves revocadas fallan de inmediato. Crea una nueva desde el panel de control
Consulta tu saldo en el panel de control
Suscríbete o compra un paquete de créditos en transcriptout.com/billing
404: el vídeo no tiene subtítulos en el idioma o pista solicitados, o el ID es incorrecto. Es una respuesta definitiva; reintentarlo no cambiará nada.410: el vídeo fue retirado.451: contenido restringido por edad o solo para miembros.
Respeta la cabecera
Retry-After. Ambos casos se reembolsan automáticamentePara trabajo masivo usa
submit_transcripts_job: se autorregula dentro de tu límite de peticiones en lugar de chocar con él
El cuerpo de cada error es {"ok": false, "code": "...", "detail": "...", "request_id": "req_..."}.
Actúa según el code legible por máquina, no por el texto humano. Incluye el request_id al contactar
con el soporte.
🌐 ¿Prefieres REST clásica?
¿Estás construyendo una app en lugar de un agente? El mismo backend también está disponible como API REST JSON,
con los mismos cinco formatos de transcripción más descarga de archivo original (download=true).
MCP | REST API | |
Mejor para | Asistentes y agentes de IA | Aplicaciones y servicios backend |
Configuración | Añadir una URL + clave | Integración de código |
Para empezar | Este README |
URL base: https://api.transcriptout.com/v1
🔗 Enlaces
🌐 Sitio web: transcriptout.com
📚 Documentación: transcriptout.com/docs
🧰 Habilidades de agente (mismo backend, no se requiere MCP): github.com/artemchuikin/youtube-skills
💬 Contacto: support@transcriptout.com
📇 Registro MCP
Este servidor está publicado en el [registro oficial de Model Context Protocol](https://registry.modelcontextprotocol.io/registry/ official) bajo el nombre:
com.transcriptout/youtube-transcript-and-youtube-searchTranscriptOut es un servicio independiente y no está afiliado, respaldado ni patrocinado por YouTube o Google LLC. «YouTube» es una marca comercial de 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