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
Related MCP server: YouTube Translate MCP
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 claudeInstalación manual
Clonar este repositorio:
git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-serverInstalar dependencias:
npm installCree un archivo
.enven el directorio raíz:YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000
Uso
Construyendo y funcionando
Construir el proyecto:
npm run buildEjecutar el servidor:
npm startEjecutar en modo de desarrollo:
npm run devArtefactos 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-serverReferencia de API
Recursos
youtube://video/{videoId}- Obtenga información detallada sobre un video específicoyoutube://channel/{channelId}- Obtener información sobre un canal específicoyoutube://transcript/{videoId}- Obtener la transcripción de un video específicoPará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 avanzadasget-video-comments- Obtener comentarios para un video específicoget-video-transcript: obtener la transcripción de un video específico con idioma opcionalenhanced-transcript: extracción avanzada de transcripciones con filtrado, búsqueda y capacidades de múltiples videosget-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íficoget-channel-stats: obtén el número de suscriptores, el número de visualizaciones y otras estadísticas del canalcompare-videos: compara estadísticas entre varios videos
Herramientas de descubrimiento
get-trending-videos: recupera videos de tendencia por región y categoríaget-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 YouTubetranscript-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/dQw4w9WgXcQCómo obtener una transcripción en un idioma específico
youtube://transcript/dQw4w9WgXcQ?language=enUso 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)