YouTube MCP Server

by coyaSONG
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows querying YouTube data, including searching for videos, retrieving video and channel information, and fetching video comments through the YouTube Data API.

Servidor MCP de YouTube

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con datos de YouTube. Este servidor proporciona recursos y herramientas para consultar vídeos, canales, comentarios y transcripciones de YouTube mediante una interfaz stdio.

Características

  • Busque vídeos de YouTube con opciones de filtrado avanzadas
  • Obtenga información detallada sobre vídeos y canales específicos
  • Comparar estadísticas en varios vídeos
  • Descubre los vídeos de tendencia por región y categoría
  • Analizar el rendimiento del canal y las estadísticas de vídeo.
  • Recuperar comentarios y transcripciones/subtítulos de videos
  • Generar análisis de video y resúmenes de transcripciones

Prerrequisitos

  • Node.js (v16+)
  • Clave API de datos de YouTube

Instalación

Instalación mediante herrería

Para instalar YouTube MCP Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @coyaSONG/youtube-mcp-server --client claude

Instalación manual

  1. Clonar este repositorio:
    git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-server
  2. Instalar dependencias:
    npm install
  3. Cree un archivo .env en el directorio raíz:
    YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000

Uso

Construyendo y funcionando

  1. Construir el proyecto:
    npm run build
  2. Ejecutar el servidor:
    npm start
  3. Ejecutar en modo de desarrollo:
    npm run dev
  4. Artefactos de compilación limpia:
    npm run clean

Implementación de Docker

El proyecto incluye un Dockerfile para implementación en contenedores:

# Build the Docker image docker build -t youtube-mcp-server . # Run the container docker run -p 3000:3000 --env-file .env youtube-mcp-server

Referencia de API

Recursos

  • youtube://video/{videoId} - Obtenga información detallada sobre un video específico
  • youtube://channel/{channelId} - Obtener información sobre un canal específico
  • youtube://transcript/{videoId} - Obtener la transcripción de un video específico
    • Parámetro de consulta opcional: ?language=LANGUAGE_CODE (p. ej., en , ko , ja )

Herramientas

Herramientas básicas

  • search-videos - Busca vídeos de YouTube con opciones de filtrado avanzadas
  • get-video-comments - Obtener comentarios para un video específico
  • get-video-transcript : obtener la transcripción de un video específico con idioma opcional
  • enhanced-transcript : extracción avanzada de transcripciones con filtrado, búsqueda y capacidades de múltiples videos
  • get-key-moments : extrae momentos clave con marcas de tiempo de una transcripción de video para facilitar la navegación.
  • get-segmented-transcript : divide la transcripción de un video en segmentos para facilitar su análisis.

Herramientas estadísticas

  • get-video-stats : obtener información estadística de un video específico
  • get-channel-stats : obtén el número de suscriptores, el número de visualizaciones y otras estadísticas del canal
  • compare-videos : compara estadísticas entre varios videos

Herramientas de descubrimiento

  • get-trending-videos : recupera videos de tendencia por región y categoría
  • get-video-categories : obtenga las categorías de video disponibles para una región específica

Herramientas de análisis

  • analyze-channel-videos : analiza las tendencias de rendimiento de los videos de un canal específico

Indicaciones

  • video-analysis - Generar un análisis de un vídeo de YouTube
  • transcript-summary : genera un resumen de un video basado en su transcripción con duración personalizable y extracción de palabras clave.
  • segment-by-segment-analysis : proporciona un desglose detallado del contenido analizando cada segmento del video.

Ejemplos

Cómo acceder a una transcripción de vídeo

youtube://transcript/dQw4w9WgXcQ

Cómo obtener una transcripción en un idioma específico

youtube://transcript/dQw4w9WgXcQ?language=en

Uso de las herramientas estadísticas

// Get video statistics { "type": "tool", "name": "get-video-stats", "parameters": { "videoId": "dQw4w9WgXcQ" } } // Compare multiple videos { "type": "tool", "name": "compare-videos", "parameters": { "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"] } }

Cómo usar la solicitud de resumen de transcripción

{ "type": "prompt", "name": "transcript-summary", "parameters": { "videoId": "dQw4w9WgXcQ", "language": "en" } }

Uso de la herramienta de transcripción mejorada

// Basic multi-video transcript extraction { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"], "format": "timestamped" } } // With search and time filtering { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ"], "filters": { "timeRange": { "start": 60, // Start at 60 seconds "end": 180 // End at 180 seconds }, "search": { "query": "never gonna", "contextLines": 2 } }, "format": "merged" } } // With smart segmentation for easier analysis { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ"], "filters": { "segment": { "count": 5, "method": "smart" // Breaks at natural pauses } }, "format": "timestamped", "language": "en" } }

Uso de las funciones de análisis de transcripciones mejoradas

// Get key moments from a video { "type": "tool", "name": "get-key-moments", "parameters": { "videoId": "dQw4w9WgXcQ", "maxMoments": "5" } } // Get a segmented transcript { "type": "tool", "name": "get-segmented-transcript", "parameters": { "videoId": "dQw4w9WgXcQ", "segmentCount": "4" } } // Get a segment-by-segment analysis { "type": "prompt", "name": "segment-by-segment-analysis", "parameters": { "videoId": "dQw4w9WgXcQ", "segmentCount": "4" } } // Get customized transcript summary { "type": "prompt", "name": "transcript-summary", "parameters": { "videoId": "dQw4w9WgXcQ", "language": "en", "summaryLength": "detailed", "includeKeywords": "true" } }

Manejo de errores

El servidor maneja varias condiciones de error, entre ellas:

  • Clave API no válida
  • Vídeo o canal no encontrado
  • Transcripción no disponible
  • Problemas de red

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Expresiones de gratitud

ID: nuyw49oscd