Skip to main content
Glama
m-hamzaj

YouTube MCP Server

by m-hamzaj

Servidor MCP de YouTube

Servidor MCP que integra YouTube con 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 engagement, extracción de capítulos, integración con SponsorBlock y mapas de calor de las partes más repetidas. 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 en Claude Code

Elige el ámbito de instalación:

Ámbito

Flag

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

Sustituye YOUR_API_KEY por 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 estado Conectado.


Related MCP server: youtube-research

Funciones

Transcripciones y subtítulos

  • Obtener transcripción (get_transcript) - Obtén las transcripciones completas de vídeo con marcas de tiempo; admite varios idiomas

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

  • Transcripción limpia (get_clean_transcript) - Transcripción con anuncios de patrocinadores, intros, outros y relleno eliminados mediante SponsorBlock

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

Búsqueda y descubrimiento

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

  • Buscar dentro de un canal (search_within_channel) - Busca vídeos de un creador concreto

  • Obtener vídeos en tendencia (get_trending_videos) - Vídeos en tendencia actualmente por región y categoría

  • Obtener vídeos de un canal (get_channel_videos) - Subidas recientes de un canal, ordenadas por fecha o por visitas

Información de vídeo y canal

  • Metadatos del vídeo (get_video_metadata) - Título, descripción, duración, visitas, me gusta, etiquetas y más

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

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

Analíticas y engagement

  • Calcular engagement (calculate_engagement) - Tasa de me gusta, tasa de comentarios y tasa de engagement a partir de estadísticas públicas

  • Más repetido (get_most_replayed) - Datos de mapa de calor que muestran qué partes vuelven a ver más los espectadores

  • Comentarios del vídeo (get_video_comments) - Principales comentarios con recuentos de me gusta y de respuestas

Utilidades

  • Analizar URL de YouTube (parse_youtube_url) - Extrae los ID 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:

Activador

Herramienta

Ejemplo

youtube transcript

Obtener transcripción

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

youtube search

Buscar vídeos

"busca en youtube tutoriales de React"

youtube metadata

Metadatos del vídeo

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

youtube channel

Información del canal

"obtén la información del canal de youtube de @ThePrimeagen"

youtube playlist

Elementos de la lista de reproducción

"lista los vídeos de esta lista de reproducción de youtube"

youtube comments

Comentarios del vídeo

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

youtube trending

Vídeos en tendencia

"¿qué está en tendencia en youtube en EE. UU.?"

youtube chapters

Extraer capítulos

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

youtube engagement

Calcular engagement

"calcula el engagement de youtube de este vídeo"

youtube most replayed

Más repetido

"muéstrame las partes más repetidas de este vídeo de youtube"

youtube clean transcript

Transcripción limpia

"obtén una transcripción limpia de youtube sin anuncios de patrocinadores"

youtube search transcript

Buscar en transcripción

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

O también puedes pedirlo 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?"

  • "Busca 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 los anuncios de patrocinadores"

  • "¿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 del vídeo de YouTube o ID de vídeo

  • lang (string, opcional) - Código de idioma de 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 del 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 de 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 del vídeo de YouTube o ID de vídeo

get_clean_transcript

Obtén la transcripción con anuncios de patrocinadores, intros, outros y relleno eliminados mediante SponsorBlock.

Parámetros:

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

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

get_most_replayed

Obtén los datos de mapa de calor de «lo más repetido», que muestran qué partes vuelven a ver más los espectadores.

Nota: Se necesitan aproximadamente 50K+ visitas para que los datos de mapa de calor estén 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" (<4min), "medium" (4-20min), "long" (>20min)

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

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

get_video_metadata

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

Parámetros:

  • url (string, obligatorio) - URL del 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 de emisión en directo y más.

get_channel_info

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

Parámetros:

  • url (string, obligatorio) - URL del canal de YouTube, @handle o ID del 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 la lista de reproducción de YouTube o ID de la lista de reproducción

  • 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 del canal de YouTube, @handle o ID del 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 en tendencia o populares actualmente.

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 Juegos, "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 concreto.

Parámetros:

  • url (string, obligatorio) - URL del canal de YouTube, @handle o ID del 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 del 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 engagement de un vídeo de YouTube.

Parámetros:

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

Devuelve: Recuento de visitas, recuento de me gusta, recuento de comentarios, tasa de me gusta, tasa de comentarios y tasa de engagement global.


Cómo funciona

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

Herramienta

Fuente de datos

¿Necesita clave de API?

parse_youtube_url

Análisis local

No

get_transcript

librería youtube-transcript

No

search_transcript

librería youtube-transcript

No

get_clean_transcript

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 de 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

Obligatoria

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 consume 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 las subidas recientes.


Solución de problemas

Corregir la clave de API

Si has introducido una clave de API incorrecta, elimina el servidor y vuelve a instalarlo:

claude mcp remove youtube

Luego reinstálalo con el comando del paso 3.3 anterior (usa el mismo ámbito con el que lo instalaste originalmente).

El servidor MCP no aparece

Comprueba si el servidor está instalado:

claude mcp list

Si no aparece en la lista, sigue el paso 3 para instalarlo.

El servidor no se inicia

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

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

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

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

Errores de conexión

  1. Comprueba que dist/index.js exista — 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 de API diferente

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

Transcripción no disponible

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

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

  • Los subtítulos generados automáticamente pueden estar disponibles aunque los manuales no lo estén

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
C
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

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/m-hamzaj/youtube-mcp-bridge'

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