YouTube MCP Server

Busca videos de YouTube, recupera transcripciones y realiza búsquedas semánticas en el contenido de los videos.

Documentación

Servidor MCP de YouTube

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para buscar videos de YouTube, recuperar transcripciones y realizar búsquedas semánticas sobre el contenido de los videos.

Apóyanos

Si encuentras útil este proyecto y te gustaría apoyar futuros proyectos, ¡considera invitarnos un café! Tu apoyo nos ayuda a seguir construyendo soluciones innovadoras de IA.

Tus contribuciones ayudan mucho a impulsar nuestra pasión por crear aplicaciones inteligentes y fáciles de usar.

Tabla de Contenidos

Características

  • Buscar videos de YouTube sin usar la API oficial
  • Recuperar transcripciones de videos
  • Almacenar información de videos y transcripciones en una base de datos vectorial
  • Realizar búsquedas semánticas sobre transcripciones de videos almacenadas

Requisitos Previos

  • Python 3.8+
  • Clave de API de Google para embeddings
  • Administrador de paquetes uv

Instalación

  1. Clonar este repositorio

  2. Crear y activar un entorno virtual usando uv:

uv venv
# On Windows:
.venv\Scripts\activate
# On Unix/MacOS:
source .venv/bin/activate
  1. Instalar dependencias usando uv:
uv pip install -r requirements.txt
  1. Crear un archivo .env con tu clave de API de Google:
GOOGLE_API_KEY=your_api_key_here

Ejecutar el Servidor

Hay dos formas de ejecutar el servidor MCP:

1. Método Directo

Para iniciar el servidor MCP directamente:

uv run python server.py

2. Configurar para Claude.app

Agregar a tu configuración de Claude sin usar ningún administrador de paquetes, esto funciona para Windows:

"mcpServers": {
  "youtube": {
    "command": "C:\\Path\\To\\Your\\Project\\.venv\\Scripts\\python.exe",
    "args": ["C:\\Path\\To\\Your\\Project\\server.py"],
    "env": {
      "GOOGLE_API_KEY": "your_api_key_here"
    }
  }
}

Usando el administrador de paquetes Uv, esto funciona para Windows:

"mcpServers": {
  "youtube": {
    "command": "uv",
    "args": ["--directory", "C:\\Path\\To\\Your\\Project", "run", "server.py"],
    "env": {
      "GOOGLE_API_KEY": "your_api_key_here"
    }
  }
}

Herramientas Disponibles

El servidor proporciona las siguientes herramientas:

  1. search-youtube: Buscar videos de YouTube basados en una consulta

    • Parámetros:
      • query: Cadena de consulta de búsqueda
      • max_results: Número máximo de resultados a devolver (predeterminado: 5)
  2. get-transcript: Obtener la transcripción de un video de YouTube

    • Parámetros:
      • video_url: URL del video de YouTube
  3. store-video-info: Almacenar información del video y transcripción en la base de datos vectorial

    • Parámetros:
      • video_url: URL del video de YouTube
      • metadata: Metadatos opcionales sobre el video
  4. search-transcripts: Buscar transcripciones de videos almacenadas usando búsqueda semántica

    • Parámetros:
      • query: Consulta de búsqueda
      • limit: Número máximo de resultados a devolver (predeterminado: 3)

Uso con Clientes MCP

Este servidor se puede usar con cualquier cliente compatible con MCP, como la aplicación de escritorio de Claude. Las herramientas se descubrirán automáticamente y estarán disponibles para el cliente.

Ejemplo de Uso

  1. Iniciar el servidor usando uno de los métodos descritos anteriormente
  2. Abrir la aplicación de escritorio de Claude
  3. Buscar el ícono de martillo para verificar que las herramientas de YouTube estén disponibles
  4. Ahora puedes usar comandos como:
    • "Buscar videos tutoriales de Python"
    • "Obtener la transcripción de este video: [video_url]"
    • "Buscar en transcripciones de videos almacenadas sobre aprendizaje automático"

Depuración

Si encuentras algún problema:

  1. Asegúrate de que tu clave de API de Google esté configurada correctamente en el archivo .env
  2. Verifica que todas las dependencias estén instaladas correctamente
  3. Confirma que el servidor esté ejecutándose y escuchando conexiones
  4. Busca mensajes de error en la salida del servidor

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.