YouTube MCP
Una herramienta para tomar capturas de pantalla automáticamente de videos de YouTube. Admite YouTube Shorts y vídeos de YouTube.
función
Cortos de YouTube
Tomar una captura de pantalla cada n segundos
Hasta 60 tomas (si el vídeo dura 60 segundos o más)
Recorta con precisión solo el área de video y guárdala en
tmp/
Ver capturas de pantalla en tiempo real
Descargue todas las imágenes o las seleccionadas localmente como un archivo ZIP (se abre tanto en Mac como en Windows)
Vídeos de YouTube
Tomar una captura de pantalla cada n segundos
Hasta 60 tomas (si el vídeo dura 60 segundos o más)
Recorta con precisión solo el área de video y guárdala en
tmp/
Ver capturas de pantalla en tiempo real
Descargue todas las imágenes o las seleccionadas localmente como un archivo ZIP (se abre tanto en Mac como en Windows)
TikTok
Actualmente en preparación
Utilice una URL de YouTube o YouTube Shorts
Pila de tecnología
Node.js 18
Expresar
Dramaturgo
Funciones de Firebase (Gen 2)
Alojamiento de Firebase
Almacenamiento de Firebase
Mecanografiado
CSS de Bootstrap
Configuración del proyecto
Lista de API
Tomar captura de pantalla
Punto final :
/screenshot
Método : POST
Parámetros :
{ "url": "YouTube URL", "interval": 1 // 間隔(秒) }respuesta :
{ "success": true, "screenshots": [ { "imageUrl": "署名付きURL", "time": "タイムスタンプ", "filename": "ファイル名" } ], "interval": 1 }
Obtener lista de capturas de pantalla
Punto final :
/screenshots
Método : OBTENER
respuesta :
[ { "filename": "ファイル名", "imageUrl": "署名付きURL", "time": "タイムスタンプ" } ]
Descarga ZIP
Punto final :
/download-zip
Método : POST
Parámetros :
{ "filenames": ["ファイル名1", "ファイル名2"] }Respuesta : Archivo ZIP
Arquitectura de GCP
Servicios utilizados
Funciones de Firebase (Gen 2)
Tiempo de ejecución: Node.js 18
Región: us-central1
Memoria: 1 GiB
Procesador: 1
Tiempo de espera: 540 segundos
Número máximo de instancias: 100
Concurrencia: 80
Punto final: https://api-ub7zp5pjra-uc.a.run.app
Almacenamiento de Firebase
Cubo: mcp-5e4b5.firebasestorage.app
Reglas de seguridad: Acceso sólo a usuarios autenticados
Alojamiento de Firebase
Dominio: https://mcp-5e4b5.web.app
Configuración de permisos de IAM
Permisos de usuario
t@bonginkan.ai
roles/owner
(propietario del proyecto)roles/run.admin
(administrador de Cloud Run)
Permisos de la cuenta de servicio
Funciones en la nube
33501462786-compute@developer.gserviceaccount.com
roles/run.admin
roles/run.developer
roles/run.invoker
roles/cloudfunctions.developer
roles/storage.admin
Administrador de Firebase
firebase-adminsdk-fbsvc@mcp-5e4b5.iam.gserviceaccount.com
roles/firebase.sdkAdminServiceAgent
roles/firebaseauth.admin
roles/iam.serviceAccountTokenCreator
roles/storage.admin
Construcción en la nube
33501462786@cloudbuild.gserviceaccount.com
roles/run.admin
roles/cloudfunctions.developer
roles/storage.admin
roles/artifactregistry.admin
roles/eventarc.admin
Detalles de implementación
Función de captura de pantalla
Controlar navegadores sin cabeza con Playwright
Tamaño de la ventana gráfica: 1280x720
Utilice un directorio temporal para almacenar capturas de pantalla
Después de cargar en Firebase Storage, elimine el archivo temporal.
Las URL firmadas son válidas durante 15 minutos.
Manejo de errores
Detectar errores en cada punto final de la API
Devuelve un mensaje de error en formato JSON.
Manejo de puntos finales 404
Respuesta de error apropiada para errores 500
Configuración de CORS
Orígenes permitidos:
Métodos permitidos: GET, POST
Credenciales: Válidas
Características de seguridad
Reglas de seguridad de almacenamiento de Firebase
Establecer tiempo de expiración para URL firmadas (15 minutos)
Eliminar correctamente los archivos temporales
Últimas revisiones (28/03/2024)
Corrección de errores
Configuración CORS mejorada
Especificar explícitamente los orígenes permitidos
Habilitación de credenciales
Manejo de errores mejorado
Respuesta JSON para errores 404
Mensaje de error detallado para errores 500
Compatibilidad con almacenamiento de Firebase
Especificar un nombre de depósito explícitamente
Establezca el tiempo de expiración de las URL firmadas en 15 minutos
Optimizaciones de Cloud Functions Gen 2
Optimizar la configuración de memoria (1 GiB)
Ajustar la configuración del tiempo de espera (540 segundos)
Establecer el número de ejecuciones simultáneas (80)
Funciones mejoradas
Función de captura de pantalla
Optimización de la configuración de Playwright
Configuración de la ventana gráfica del navegador sin cabeza
Gestión mejorada de archivos temporales
Soporte mejorado para YouTube Shorts
Implementación de la función de visualización en tiempo real
Respuesta de API mejorada
Mensajes de error en japonés
Formato de respuesta estandarizado
Estandarización de formatos de marcas de tiempo
Implementación de una respuesta de streaming
Seguridad mejorada
Actualización de las reglas de seguridad de Firebase Storage
Asegúrese de que se eliminen los archivos temporales
Restricción adecuada de la información de error
Mejoras en la interfaz
Optimización de la visualización en tiempo real
Corrección de URL de la imagen
Manejo de errores mejorado
Mejoras en la interfaz de usuario
configuración
Clonar el repositorio
Instalación de dependencias
Instalar Firebase CLI
Iniciar sesión en Firebase
Inicializando el proyecto
Desplegar
Creación de un entorno de desarrollo local
Instalación de dependencias
Configuración de la clave de la cuenta de servicio
Descargue la clave de su cuenta de servicio desde la consola de Firebase
Guardar como
functions/service-account.json
Configuración de variables de entorno
Iniciando el emulador
Configuración del puerto del emulador
El emulador utiliza los siguientes puertos:
Funciones: http://127.0.0.1:5001
Interfaz de usuario del emulador: http://127.0.0.1:4001
Pruebas de API
Chequeo de salud
Tomar captura de pantalla
Obtener lista de capturas de pantalla
Descarga ZIP
Notas
Al usar el emulador, accederá al almacenamiento real de Firebase.
La clave de la cuenta de servicio está incluida en
.gitignore
y no está comprometida con el repositorioPuede comprobar el estado de ejecución y los registros de las funciones en la interfaz de usuario del emulador.
Notas
Node.js 18 quedará obsoleto el 30 de abril de 2025
Las capturas de pantalla se guardan en un directorio temporal y se eliminan después del procesamiento.
Si el vídeo dura más de 60 segundos, solo se guardarán las primeras 60 imágenes.
Las reglas de seguridad de Firebase Storage están configuradas para permitir el acceso solo a usuarios autenticados.
Las URL firmadas solo son válidas durante 15 minutos
IMPORTANTE
Especificaciones para guardar capturas de pantalla y comprimirlas
Guardar una captura de pantalla
Todas las capturas de pantalla se guardan temporalmente en
/tmp/screenshots/
.El nombre del archivo tiene el formato
screenshot_[タイムスタンプ]_[連番].png
El archivo temporal se conservará una vez finalizado el procesamiento y se sobrescribirá cuando tome una nueva captura de pantalla.
Creando un archivo ZIP
La captura de pantalla seleccionada se cargará directamente desde
/tmp/screenshots/
Se creará un archivo ZIP temporal en
/tmp/screenshots/
y luego se eliminará después de la descarga.El nombre del archivo ZIP tiene el formato
screenshots_[タイムスタンプ].zip
Administrar archivos temporales
Los archivos temporales deben limpiarse periódicamente
Recomendamos eliminar las capturas de pantalla antiguas antes de tomar otras nuevas.
licencia
Licencia MIT
This server cannot be installed
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.
Captura y procesa automáticamente capturas de pantalla de videos y cortos de YouTube en intervalos específicos, admite tiempos de captura de pantalla personalizables y proporciona puntos finales de API para la gestión de imágenes.
Related MCP Servers
- -securityAlicense-qualityProvides functionality to search YouTube videos and automatically save the results to Google Sheets.Last updated -311MIT License
- AsecurityAlicenseAqualityEnables capturing high-quality native macOS screenshots using Safari through a Node.js server, supporting various sizes, zoom levels, and load wait times.Last updated -11MIT License
- -securityFlicense-qualityEnables extraction of transcript text from YouTube videos by providing the video URL, supporting standard, shortened, and embed URL formats.Last updated -71
- AsecurityAlicenseAqualityAn official MCP server implementation that allows AI assistants to capture website screenshots through the ScreenshotOne API, enabling visual context from web pages during conversations.Last updated -1031MIT License