Referencia de herramientas MCP
El servidor MCP de Tube Search proporciona 10 herramientas para buscar, leer y analizar datos archivados de YouTube.
search_channel
Encuentra todos los vídeos conocidos de un canal de YouTube buscando en archivos web.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | Sí | URL del canal, @handle o Channel ID (p. ej., UC...) |
Devuelve un array de metadatos de vídeo incluyendo estado (LIVE, DELETED, CHECKING).
search_videos
Búsqueda de texto completo en títulos y descripciones de vídeos archivados.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | Sí | Consulta de búsqueda (admite lenguaje natural) |
limit | number | No | Máx. resultados (predeterminado: 20, máx.: 100) |
status | string | No | Filtrar por estado: live, deleted, all |
sort | string | No | relevance (predeterminado) o date-desc |
hasSubtitles | boolean | No | Solo vídeos con subtítulos |
hasSummary | boolean | No | Solo vídeos con resúmenes IA |
get_video
Obtener metadatos de un vídeo específico.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
videoId | string | Sí | ID del vídeo de YouTube (11 caracteres) |
Devuelve: title, description, channelId, channelTitle, duration, uploadDate, viewCount, status, thumbnailUrl, subtitleStatus, hasSummary. Para vídeos enriquecidos mediante nuestro canal de procedencia Yandex.Video, la respuesta incluye también un objeto yandex anidado con las claves internal_id, attribution, preview_url y scanned_at — véase la subsección «Procedencia del enriquecimiento de Yandex» a continuación.
Procedencia del enriquecimiento de Yandex
Cuando get_video devuelve un objeto yandex anidado, el campo yandex.attribution toma uno de tres valores de nivel de confianza. Usa la tabla siguiente para decidir si citar directamente un dato sobre este vídeo o buscar una segunda fuente.
Nivel (valor de yandex.attribution) | Acción recomendada | Justificación |
|---|---|---|
db_match | Citar directamente | El ID de YouTube ya existía en nuestra base de datos asociado a este canal; Yandex aportó metadatos suplementarios (title, duration, upload_date) mediante relleno de campos NULL. Máxima confianza. |
yt_dlp_confirmed | Citar directamente | El ID de YouTube fue descubierto por primera vez mediante Yandex; yt-dlp confirmó de forma independiente la atribución al canal contra los metadatos en vivo de YouTube. Corroboración por dos fuentes independientes. |
name_unique_anchor_passed | Corroborar primero | El ID de YouTube fue descubierto por primera vez mediante Yandex; yt-dlp falló o expiró; la atribución se apoya en heurísticas de unicidad del nombre y verificación por anclaje (al menos 2 de K coincidencias de títulos de vídeos LIVE). Señal más débil — confirma con una segunda fuente antes de citar. |
Cuando yandex.preview_url no es null, apunta a un clip MP4 animado corto (~5 s) de previsualización, espejado desde el snapshot de Yandex — útil para confirmar visualmente cómo era el vídeo eliminado, pero no equivalente al contenido original completo. Cuando preview_url es null, los campos de metadatos (title, duration, uploadDate) y attribution siguen siendo válidos; solo el espejado del clip de previsualización no tuvo éxito.
get_subtitles
Obtener la transcripción completa de un vídeo como texto legible.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
videoId | string | Sí | ID del vídeo de YouTube |
Devuelve la transcripción sin marcas de tiempo, formateada en párrafos legibles. Funciona tanto para vídeos activos como eliminados que tengan subtítulos archivados.
get_summary
Obtener el resumen generado por IA de un vídeo.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
videoId | string | Sí | ID del vídeo de YouTube |
Devuelve: tldr, keyPoints (con marcas de tiempo), detailedSummary, tags, language. Devuelve un error si no existe resumen — usa generate_summary para crear uno.
generate_summary
Generar un resumen IA para un vídeo que tenga subtítulos.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
videoId | string | Sí | ID del vídeo de YouTube |
Inicia la generación y espera hasta completarse (hasta 60 s). Devuelve el resumen si el vídeo ya tiene uno. Cuenta para tu límite diario de generación de resúmenes.
generate_stenogram
Genera un estenograma privado (diálogo palabra por palabra con marcado de hablantes) a partir del transcript de un vídeo. Requiere nivel L3+ (plan MCP + API). El resultado queda en tu espacio de usuario y solo es visible para ti.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
videoId | string | Sí | ID del vídeo de YouTube (11 caracteres) |
language | enum | No | auto (predeterminado), en, ru, es, de, pt |
Devuelve: { stenogram, metadata: { llmModel, tokensUsed, promptVersion, generatedAt, language, generationTimeMs } }. Requiere transcripción ya disponible (subtítulos archivados o IA). Emite notifications/progress si el cliente envía un progress token. Descuenta de apiStenogramsPerDay (contador compartido con la ruta REST).
browse_summaries
Explorar resúmenes IA existentes con filtros opcionales.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tag | string | No | Filtrar por etiqueta (p. ej., "music", "education") |
channelId | string | No | Filtrar por canal |
language | string | No | Filtrar por idioma (p. ej., "en", "es") |
page | number | No | Número de página (predeterminado: 1) |
limit | number | No | Resultados por página (predeterminado: 20) |
get_video_status_history
Ver el historial de cambios de estado de un vídeo.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
videoId | string | Sí | ID del vídeo de YouTube |
Devuelve un array de transiciones de estado: [{ status, previousStatus, changedAt, source }], las más recientes primero.
get_usage
Consultar los contadores actuales de uso de la API y los límites restantes.
Sin parámetros. Devuelve los contadores y límites actuales para búsquedas, consultas FTS, descargas de subtítulos y generaciones de resúmenes.