Skip to main content
Glama
thesalautomation-lgtm

YouTube MCP Server

YouTube MCP Server

Servidor MCP que lleva YouTube a Claude Code — transcripciones de vídeo, búsqueda, metadatos, información de canales, listas de reproducción, comentarios, vídeos en tendencia, análisis de interacción, extracción de capítulos, integración con SponsorBlock y mapas de calor de las partes más reproducidas. Utiliza la YouTube Data API v3, youtube-transcript y SponsorBlock.

Inicio rápido

Paso 1: Obtén tu clave de API

  1. Ve a Google Cloud Console

  2. Crea un proyecto (o selecciona uno existente)

  3. Habilita la YouTube Data API v3:

  4. Crea una clave de API:

    • Ve a Credenciales

    • Haz clic en Crear credenciales > Clave de API

  5. Copia la clave (la necesitarás en el Paso 3)

Paso 2: Instala los requisitos previos

Paso 3: Instala el servidor MCP

3.1 Clona el repositorio

git clone https://github.com/wynandw87/claude-code-youtube-mcp.git
cd claude-code-youtube-mcp

3.2 Instala las dependencias

macOS / Linux / Windows:

npm install

Nota: Las dependencias se instalan y el servidor se compila automáticamente en un solo paso.

3.3 Regístralo con Claude Code

Elige el ámbito de instalación:

Ámbito

Indicador

Quién puede usarlo

Usuario (recomendado)

-s user

Tú, en cualquier proyecto

Proyecto

-s project

Cualquiera que clone este repositorio

Local

-s local

Solo en el directorio actual

Reemplaza YOUR_API_KEY con tu clave real de la YouTube Data API y usa la ruta completa a dist/index.js.

Consejo: Para obtener la ruta completa, ejecuta esto desde el directorio clonado:

  • macOS/Linux: echo "$(pwd)/dist/index.js"

  • Windows: echo %cd%\dist\index.js

macOS / Linux:

claude mcp add -s user youtube -e YOUTUBE_API_KEY=YOUR_API_KEY -- node /full/path/to/dist/index.js

Windows (CMD):

claude mcp add -s user youtube -e "YOUTUBE_API_KEY=YOUR_API_KEY" -- node "C:\full\path\to\dist\index.js"

Windows (PowerShell):

claude mcp add -s user youtube -e "YOUTUBE_API_KEY=YOUR_API_KEY" '--' node "C:\full\path\to\dist\index.js"

Alternativa: Usa el asistente de npm (si la clave de API está configurada en el entorno)

export YOUTUBE_API_KEY=YOUR_API_KEY
npm run install:claude

Paso 4: Reinicia Claude Code

Cierra y vuelve a abrir Claude Code para que los cambios surtan efecto.

Paso 5: Verifica la instalación

claude mcp list

Deberías ver youtube en la lista con el estado Conectado.


Related MCP server: YouTube Insights MCP Server

Funcionalidades

Transcripciones y subtítulos

  • Get Transcript (get_transcript) - Obtén transcripciones completas de vídeo con marcas de tiempo; admite varios idiomas

  • Search Transcript (search_transcript) - Encuentra dónde aparece una palabra clave o frase en un vídeo, con marcas de tiempo

  • Clean Transcript (get_clean_transcript) - Transcripción sin patrocinios, intros, outros ni contenido de relleno, eliminados mediante SponsorBlock

  • Extract Chapters (extract_chapters) - Analiza las marcas de tiempo de los capítulos de las descripciones de los vídeos

Búsqueda y descubrimiento

  • Search Videos (search_videos) - Búsqueda completa en YouTube con filtros por fecha, duración, tipo y orden de clasificación

  • Search Within Channel (search_within_channel) - Busca vídeos de un creador específico

  • Get Trending Videos (get_trending_videos) - Vídeos actualmente en tendencia por región y categoría

  • Get Channel Videos (get_channel_videos) - Subidas recientes de un canal, ordenadas por fecha o por visitas

Información de vídeo y canal

  • Video Metadata (get_video_metadata) - Título, descripción, duración, visitas, me gusta, etiquetas y más

  • Channel Info (get_channel_info) - Número de suscriptores, número de vídeos, descripción y país

  • Playlist Items (get_playlist_items) - Todos los vídeos de una lista de reproducción con sus posiciones y metadatos

Analítica e interacción

  • Calculate Engagement (calculate_engagement) - Tasa de me gusta, tasa de comentarios y tasa de interacción a partir de estadísticas públicas

  • Most Replayed (get_most_replayed) - Datos de mapa de calor que muestran qué partes repiten más los espectadores

  • Video Comments (get_video_comments) - Comentarios principales con número de me gusta y de respuestas

Utilidades

  • Parse YouTube URL (parse_youtube_url) - Extrae IDs de vídeo, canal o lista de reproducción de cualquier formato de URL de YouTube


Uso

Una vez instalado, usa frases de activación para invocar las herramientas de YouTube:

Activación

Herramienta

Ejemplo

youtube transcript

Get Transcript

"obtén la transcripción de YouTube de este vídeo"

youtube search

Search Videos

"busca en YouTube tutoriales de React"

youtube metadata

Video Metadata

"obtén los metadatos de YouTube de este vídeo"

youtube channel

Channel Info

"obtén información del canal de YouTube de @ThePrimeagen"

youtube playlist

Playlist Items

"enumera los vídeos de esta lista de reproducción de YouTube"

youtube comments

Video Comments

"obtén los comentarios de YouTube de este vídeo"

youtube trending

Trending Videos

"¿qué está en tendencia en YouTube en Estados Unidos?"

youtube chapters

Extract Chapters

"extrae los capítulos de este vídeo de YouTube"

youtube engagement

Calculate Engagement

"calcula la interacción en YouTube de este vídeo"

youtube most replayed

Most Replayed

"muestra las partes más repetidas de este vídeo de YouTube"

youtube clean transcript

Clean Transcript

"obtén una transcripción limpia de YouTube sin patrocinios"

youtube search transcript

Search Transcript

"busca 'authentication' en la transcripción de YouTube"

O pregunta de forma natural:

  • "Obtén la transcripción de este vídeo de YouTube y resúmela"

  • "¿Cuáles son las partes más repetidas de este vídeo?"

  • "Encuentra vídeos recientes sobre TypeScript en este canal"

  • "¿Cuántas visitas y me gusta tiene este vídeo?"

  • "Obtén los comentarios de este vídeo y resume el sentimiento"

  • "Muéstrame los capítulos de este tutorial"

  • "Obtén una transcripción limpia sin las menciones de patrocinio"

  • "¿Qué está en tendencia en YouTube en videojuegos ahora mismo?"


Referencia de herramientas

parse_youtube_url

Analiza cualquier formato de URL de YouTube y extrae los identificadores. No se necesita clave de API.

Parámetros:

  • url (string, obligatorio) - Cualquier URL de YouTube o ID de vídeo

Formatos admitidos: youtube.com/watch?v=, youtu.be/, /shorts/, /embed/, /playlist?list=, /channel/, /@handle, /c/, /user/, IDs de vídeo simples

get_transcript

Obtén la transcripción o los subtítulos completos de un vídeo de YouTube. No se necesita clave de API.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

  • lang (string, opcional) - Código de idioma para los subtítulos (por defecto: "en")

Busca una palabra clave o frase en la transcripción de un vídeo.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

  • query (string, obligatorio) - Palabra clave o frase que buscar

  • lang (string, opcional) - Código de idioma para los subtítulos (por defecto: "en")

extract_chapters

Extrae las marcas de tiempo de los capítulos de la descripción de un vídeo.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

get_clean_transcript

Obtén la transcripción sin menciones de patrocinadores, intros, outros ni contenido de relleno, eliminados mediante SponsorBlock.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

  • lang (string, opcional) - Código de idioma para los subtítulos (por defecto: "en")

get_most_replayed

Obtén los datos del mapa de calor de "lo más repetido", que muestran qué partes repiten más los espectadores.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

Nota: Se requieren aproximadamente 50 000+ visitas para que haya datos de mapa de calor disponibles.

Busca en YouTube con soporte completo de filtros.

Parámetros:

  • query (string, obligatorio) - Consulta de búsqueda

  • max_results (number, opcional) - Número de resultados, 1-50 (por defecto: 10)

  • order (string, opcional) - "relevance", "date", "viewCount", "rating" (por defecto: "relevance")

  • duration (string, opcional) - "short" (<4 min), "medium" (4-20 min), "long" (>20 min)

  • upload_date (string, opcional) - "hour", "day", "week", "month", "year"

  • type (string, opcional) - "video", "channel", "playlist" (por defecto: "video")

get_video_metadata

Obtén metadatos detallados de un vídeo de YouTube.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

Devuelve: título, descripción, canal, duración, recuentos de visitas, me gusta y comentarios, etiquetas, categoría, miniaturas, estado en directo y más.

get_channel_info

Obtén información de un canal de YouTube.

Parámetros:

  • url (string, obligatorio) - URL de canal de YouTube, @handle o ID de canal

Devuelve: título, descripción, recuentos de suscriptores, vídeos y visitas, país, URL personalizada y miniatura.

get_playlist_items

Obtén todos los vídeos de una lista de reproducción de YouTube.

Parámetros:

  • url (string, obligatorio) - URL de lista de reproducción de YouTube o ID de la lista

  • max_results (number, opcional) - Número de elementos, 1-50 (por defecto: 25)

get_channel_videos

Obtén los vídeos recientes de un canal de YouTube.

Parámetros:

  • url (string, obligatorio) - URL de canal de YouTube, @handle o ID de canal

  • max_results (number, opcional) - Número de vídeos, 1-50 (por defecto: 25)

  • order (string, opcional) - "date", "viewCount" (por defecto: "date")

get_trending_videos

Obtén los vídeos de YouTube actualmente en tendencia o populares.

Parámetros:

  • region_code (string, opcional) - Código de país ISO 3166-1 alpha-2 (por defecto: "US")

  • category_id (string, opcional) - ID de categoría de YouTube (p. ej., "10" para Música, "20" para Videojuegos, "28" para Ciencia y tecnología)

  • max_results (number, opcional) - Número de resultados, 1-50 (por defecto: 10)

Busca vídeos dentro de un canal de YouTube específico.

Parámetros:

  • url (string, obligatorio) - URL de canal de YouTube, @handle o ID de canal

  • query (string, obligatorio) - Consulta de búsqueda

  • max_results (number, opcional) - Número de resultados, 1-50 (por defecto: 10)

get_video_comments

Obtén los comentarios de primer nivel de un vídeo de YouTube.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

  • max_results (number, opcional) - Número de comentarios, 1-100 (por defecto: 20)

  • order (string, opcional) - "relevance", "time" (por defecto: "relevance")

calculate_engagement

Calcula las métricas de interacción de un vídeo de YouTube.

Parámetros:

  • url (string, obligatorio) - URL de vídeo de YouTube o ID de vídeo

Devuelve: número de visitas, número de me gusta, número de comentarios, tasa de me gusta, tasa de comentarios y tasa de interacción general.


Cómo funciona

Este servidor MCP se conecta a Claude Code mediante el transporte stdio y proporciona 15 herramientas:

Herramienta

Fuente de datos

¿Necesita clave API?

parse_youtube_url

Análisis local

No

get_transcript

Biblioteca youtube-transcript

No

search_transcript

Biblioteca youtube-transcript

No

get_clean_transcript

Biblioteca youtube-transcript + API de SponsorBlock

No

get_most_replayed

Página de YouTube (Innertube)

No

extract_chapters

YouTube Data API v3

search_videos

YouTube Data API v3

get_video_metadata

YouTube Data API v3

get_channel_info

YouTube Data API v3

get_playlist_items

YouTube Data API v3

get_channel_videos

YouTube Data API v3

get_trending_videos

YouTube Data API v3

search_within_channel

YouTube Data API v3

get_video_comments

YouTube Data API v3

calculate_engagement

YouTube Data API v3

Nota: 5 herramientas funcionan sin clave API (transcripciones, SponsorBlock, mapas de calor, análisis de URL). Las 10 restantes requieren una clave de YouTube Data API v3.


Configuración

Variables de entorno

Variable

Requerida

Valor por defecto

Descripción

YOUTUBE_API_KEY

Clave de YouTube Data API v3

YOUTUBE_TIMEOUT

No

30000

Tiempo de espera de la API en ms

Cuota de la API de YouTube

La YouTube Data API v3 tiene una cuota diaria de 10.000 unidades. Cada herramienta utiliza una cantidad diferente:

Operación

Coste por llamada

search (search_videos, search_within_channel)

100 unidades

videos.list (get_video_metadata, get_trending, calculate_engagement)

1 unidad

channels.list (get_channel_info, get_channel_videos)

1 unidad

playlists.list (get_playlist_items)

1 unidad

playlistItems.list (get_playlist_items, get_channel_videos)

1 unidad

commentThreads.list (get_video_comments)

1 unidad

Consejo: Las operaciones de búsqueda son las más caras. Usa get_channel_videos (1 unidad) en lugar de search_within_channel (100 unidades) cuando solo necesites los últimos vídeos subidos.


Solución de problemas

Arreglar la clave API

Si introdujiste una clave API incorrecta, elimina y reinstala:

claude mcp remove youtube

Luego reinstala usando el comando del Paso 3.3 anterior (usa el mismo ámbito con el que instalaste originalmente).

El servidor MCP no aparece

Comprueba si el servidor está instalado:

claude mcp list

Si no aparece, sigue el Paso 3 para instalarlo.

El servidor no arranca

  1. Verifica que tu clave API es válida en Google Cloud Console

  2. Comprueba que la YouTube Data API está habilitada:

  3. Comprueba la versión de Node.js (se necesita 18+):

    node --version
  4. Asegúrate de que el servidor se compiló — si falta dist/index.js, ejecuta npm install de nuevo

Errores de conexión

  1. Comprueba que dist/index.js existe — si no, ejecuta npm install

  2. Verifica que la ruta sea absoluta en tu comando claude mcp add

  3. Reinicia Claude Code después de cualquier cambio de configuración

Cuota superada

Si ves errores de «quotaExceeded»:

  • Espera hasta la medianoche, hora del Pacífico (la cuota se restablece a diario)

  • Usa una clave API diferente

  • Prefiere herramientas de bajo coste (get_video_metadata a 1 unidad) sobre las herramientas de búsqueda (100 unidades)

Transcripción no disponible

Algunos vídeos tienen las transcripciones deshabilitadas. La herramienta get_transcript devolverá un mensaje de error claro. Prueba:

  • Un código de idioma diferente (p. ej., lang: "es")

  • Puede que haya subtítulos generados automáticamente aunque no los haya manuales

Errores de tiempo de espera

Aumenta la variable de entorno YOUTUBE_TIMEOUT para conexiones lentas:

claude mcp add -s user youtube -e YOUTUBE_API_KEY=YOUR_KEY -e YOUTUBE_TIMEOUT=60000 -- node /path/to/dist/index.js

Ver la configuración actual

claude mcp list

Contribuciones

¡Las pull requests son bienvenidas! Por favor, mantenlo sencillo y apto para principiantes.

Licencia

MIT


Hecho para la comunidad de Claude Code

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.

  • Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…

  • Extract YouTube transcripts, search what was said, and read on-screen frames with cited timestamps.

View all MCP Connectors

Latest Blog Posts

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/thesalautomation-lgtm/youtube-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server