Skip to main content
Glama

YouTube MCP Server

npm version npm downloads npm total downloads

Una implementación de servidor del Model Context Protocol (MCP) para YouTube, que permite a los modelos de lenguaje de IA interactuar con el contenido de YouTube a través de una interfaz estandarizada.

Sitio web: zubeidhendricks.github.io/youtube-mcp-server

Herramientas disponibles

El servidor expone actualmente 10 herramientas MCP.

Tool

Descripción

Parámetros obligatorios

Parámetros opcionales

videos_getVideo

Obtener información detallada sobre un vídeo de YouTube

videoId

parts

videos_searchVideos

Buscar vídeos en YouTube

query

maxResults, order, publishedAfter, publishedBefore, channelId, uniqueChannels, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy

transcripts_getTranscript

Obtener la transcripción de un vídeo de YouTube

videoId

language

channels_getChannel

Obtener información sobre un canal de YouTube

channelId

Ninguno

channels_getChannels

Obtener información sobre varios canales de YouTube

channelIds

parts, includeLatestUpload

channels_searchChannels

Buscar canales de YouTube por handle, nombre o consulta

query

maxResults, order, channelType, minSubscribers, maxSubscribers, lastUploadAfter, lastUploadBefore, creatorOnly, sortBy

channels_findCreators

Encontrar canales de creadores a partir de menciones en vídeos con filtros de tamaño y actividad del canal

query

maxResults, order, videoPublishedAfter, videoPublishedBefore, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy, sampleVideosPerChannel

channels_listVideos

Obtener vídeos de un canal específico

channelId

maxResults

playlists_getPlaylist

Obtener información sobre una lista de reproducción de YouTube

playlistId

Ninguno

playlists_getPlaylistItems

Obtener los vídeos de una lista de reproducción de YouTube

playlistId

maxResults

Parámetros de las herramientas

videos_getVideo

  • videoId (string): El ID del vídeo de YouTube.

  • parts (string[], opcional): Partes específicas del recurso de vídeo que se deben recuperar.

videos_searchVideos

  • query (string): Consulta de búsqueda.

  • maxResults (number, opcional): Número máximo de resultados que se devolverán.

  • order (string, opcional): Orden de los resultados, como relevance o date.

  • publishedAfter (string, opcional): Incluir solo vídeos publicados después de esta fecha ISO 8601.

  • publishedBefore (string, opcional): Incluir solo vídeos publicados antes de esta fecha ISO 8601.

  • channelId (string, opcional): Restringir los resultados a un canal específico.

  • uniqueChannels (boolean, opcional): Devolver solo un vídeo por canal único.

  • channelMinSubscribers / channelMaxSubscribers (number, opcional): Filtrar los vídeos coincidentes según la franja de suscriptores de su canal.

  • channelLastUploadAfter / channelLastUploadBefore (string, opcional): Filtrar los vídeos coincidentes según la actividad de subida más reciente de su canal.

  • creatorOnly (boolean, opcional): Restringir los resultados a canales clasificados heurísticamente como creadores.

  • sortBy (string, opcional): Admite relevance, subscribers_asc, subscribers_desc, indie_priority y recent_activity.

transcripts_getTranscript

  • videoId (string): El ID del vídeo de YouTube.

  • language (string, opcional): Código de idioma de la transcripción. Usa como alternativa YOUTUBE_TRANSCRIPT_LANG o en.

channels_getChannel

  • channelId (string): El ID del canal de YouTube.

Las respuestas ahora incluyen:

  • latestVideoPublishedAt

  • normalizedMetadata

    • incluye country, defaultLanguage, joinedAt, customUrl, emailsFound, contactLinks y campos heurísticos de creador frente a marca

channels_getChannels

  • channelIds (string[]): Una lista de IDs de canales de YouTube.

  • includeLatestUpload (boolean, opcional): Si se debe incluir latestVideoPublishedAt. El valor predeterminado es true.

channels_searchChannels

  • query (string): Consulta de búsqueda de canal o handle.

  • maxResults (number, opcional): Número máximo de canales que se devolverán.

  • order (string, opcional): Orden de los resultados, como relevance.

  • channelType (string, opcional): Restringir la búsqueda a un tipo de canal.

  • minSubscribers / maxSubscribers (number, opcional): Filtrar canales por franja de suscriptores.

  • lastUploadAfter / lastUploadBefore (string, opcional): Filtrar canales por actividad de subida reciente.

  • creatorOnly (boolean, opcional): Restringir los resultados a canales clasificados heurísticamente como creadores.

  • sortBy (string, opcional): Admite relevance, subscribers_asc, subscribers_desc, indie_priority y recent_activity.

channels_findCreators

  • query (string): Consulta de tema, juego o mención para descubrir canales a partir de los vídeos coincidentes.

  • videoPublishedAfter / videoPublishedBefore (string, opcional): Filtros de actualidad para los vídeos coincidentes.

  • channelMinSubscribers / channelMaxSubscribers (number, opcional): Filtros de franja de suscriptores para los canales devueltos.

  • channelLastUploadAfter / channelLastUploadBefore (string, opcional): Filtros de actividad de subida reciente para los canales devueltos.

  • creatorOnly (boolean, opcional): Restringir los resultados a canales clasificados heurísticamente como creadores.

  • sortBy (string, opcional): Admite relevance, subscribers_asc, subscribers_desc, indie_priority y recent_activity.

  • sampleVideosPerChannel (number, opcional): Cuántos vídeos coincidentes incluir por cada canal devuelto.

channels_listVideos

  • channelId (string): El ID del canal de YouTube.

  • maxResults (number, opcional): Número máximo de vídeos que se devolverán.

playlists_getPlaylist

  • playlistId (string): El ID de la lista de reproducción de YouTube.

playlists_getPlaylistItems

  • playlistId (string): El ID de la lista de reproducción de YouTube.

  • maxResults (number, opcional): Número máximo de elementos de la lista de reproducción que se devolverán.

Related MCP server: mcp-server-youtube

Instalación

Configuración rápida para Claude Desktop

  1. Instala el paquete:

npm install -g zubeid-youtube-mcp-server
  1. Añade lo siguiente a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS o %APPDATA%\Claude\claude_desktop_config.json en Windows):

{
  "mcpServers": {
    "zubeid-youtube-mcp-server": {
      "command": "zubeid-youtube-mcp-server",
      "env": {
        "YOUTUBE_API_KEY": "your_primary_youtube_api_key",
        "YOUTUBE_API_KEY2": "your_secondary_youtube_api_key",
        "YOUTUBE_API_KEY3": "your_tertiary_youtube_api_key"
      }
    }
  }
}

Alternativa: usar NPX (sin necesidad de instalación)

Añade esto a tu configuración de Claude Desktop:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "zubeid-youtube-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "your_primary_youtube_api_key",
        "YOUTUBE_API_KEY2": "your_secondary_youtube_api_key",
        "YOUTUBE_API_KEY3": "your_tertiary_youtube_api_key"
      }
    }
  }
}

Instalación mediante Smithery

Para instalar YouTube MCP Server para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude

Configuración

Configura las siguientes variables de entorno:

  • YOUTUBE_API_KEY: Clave principal de la API de datos de YouTube

  • YOUTUBE_API_KEY2: Clave de API secundaria de respaldo

  • YOUTUBE_API_KEY3: Tercera clave de API de respaldo

  • YOUTUBE_TRANSCRIPT_LANG: Idioma predeterminado para las transcripciones (opcional; el valor predeterminado es 'en')

Debe establecerse al menos una de las variables YOUTUBE_API_KEY, YOUTUBE_API_KEY2 o YOUTUBE_API_KEY3. Cuando una solicitud falla porque una clave ha agotado su cuota, el servidor reintenta la misma solicitud con la siguiente clave configurada.

Uso con VS Code

Para una instalación con un solo clic, haz clic en uno de los botones de instalación que aparecen a continuación:

Install with NPX in VS Code Install with NPX in VS Code Insiders

Instalación manual

Si prefieres la instalación manual, revisa primero los botones de instalación al principio de esta sección. De lo contrario, sigue estos pasos:

Añade el siguiente bloque JSON a tu archivo User Settings (JSON) de VS Code. Puedes hacerlo pulsando Ctrl + Shift + P y escribiendo Preferences: Open User Settings (JSON).

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "YouTube API Key",
        "password": true
      }
    ],
    "servers": {
      "youtube": {
        "command": "npx",
        "args": ["-y", "zubeid-youtube-mcp-server"],
        "env": {
          "YOUTUBE_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

Opcionalmente, puedes añadirlo a un archivo llamado .vscode/mcp.json en tu espacio de trabajo:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "apiKey",
      "description": "YouTube API Key",
      "password": true
    }
  ],
  "servers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "zubeid-youtube-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "${input:apiKey}"
      }
    }
  }
}

Desarrollo

# Install dependencies
npm install

# Build
npm run build

# Start the server (requires at least one configured YouTube API key)
npm start

# Development mode with auto-rebuild
npm run dev

Docker

La imagen de Docker incluida inicia el servidor por HTTP de forma predeterminada.

  • Transporte predeterminado: http

  • Endpoint predeterminado: http://localhost:8088/mcp

  • Endpoint de readiness: http://localhost:8088/ready

  • Modo predeterminado: sin estado

La construcción de Docker copia .env a la imagen de ejecución y el servidor lo carga automáticamente al iniciarse. Esto significa que el contenedor puede ejecutarse sin pasar credenciales de API en el momento de docker run, siempre que .env estuviera presente durante docker build.

docker build -t youtube-mcp-server .
docker run --rm -p 8088:8088 youtube-mcp-server

El contenedor tiene por defecto:

MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8088
MCP_STATELESS=true

Contribuciones

Consulta CONTRIBUTING.md para obtener información sobre cómo contribuir a este repositorio.

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para obtener más detalles.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/AfsheenMahmood/youtube-mcp'

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