Volver al Blog

Cómo crear un servidor MCP de YouTube para asistentes de codificación de IA de Cursor y Windsurf

2025-04-255 min de lectura

Mientras migraba mi sitio web Learn English Sounds de un CMS a Next.js, me encontré con un bloqueo frustrante. Necesitaba encontrar videos de YouTube que demostraran cada fonema del inglés, pero mis asistentes de codificación de IA (Cursor y Windsurf) no podían buscar directamente en YouTube.

Esto significaba que tenía que verificar manualmente cada sugerencia de video, lo que interrumpía mi flujo de trabajo. Recibía una recomendación, comprobaba si existía y luego volvía a codificar. No era un gran problema, pero definitivamente ineficiente.

Para optimizar este proceso, construí un servidor simple de Protocolo de Control de Modelo (MCP) para YouTube. Permite que mis herramientas de codificación de IA busquen y recuperen información real de videos sin mi intervención.

Esta guía explica cómo construir tu propio servidor MCP. Es un proyecto sencillo que puede ahorrarte tiempo si necesitas con frecuencia que tu asistente de codificación de IA acceda a servicios externos como YouTube.

¿Qué es un MCP?

Imagina que estás utilizando un asistente de IA como Claude o GPT, pero no puede acceder directamente a Internet u otros servicios. Un MCP (Protocolo de Control de Modelo) es como un traductor que ayuda a la IA a comunicarse con estos servicios.

Piénsalo de esta manera: si hablas español y tu amigo habla inglés, necesitas un traductor para comunicarte. De manera similar, un servidor MCP traduce entre una herramienta de IA (como Cursor o Windsurf) y un servicio externo (como YouTube). Sigue reglas específicas para que ambos lados se entiendan perfectamente.

En términos técnicos, es un servidor API estandarizado que sigue formatos específicos para que las herramientas de IA puedan solicitar y recibir datos sin intervención humana. El protocolo define cómo se formatean las solicitudes, cómo deben estructurarse las respuestas y cómo se manejan los errores.

Notablemente, Anthropic ha hecho de código abierto su Protocolo de Contexto de Modelo, lo que permite a los desarrolladores crear conexiones seguras entre fuentes de datos y herramientas de IA. Su implementación incluye SDK, soporte de servidor local en las aplicaciones de escritorio de Claude y servidores preconstruidos para sistemas populares como Google Drive, GitHub y Slack.

Por qué necesitaba esto

Learn English Sounds requiere videos que muestren la pronunciación correcta de cada fonema. Sin acceso directo a YouTube, Cursor o Windsurf sugerían videos que a menudo no existían, lo que me obligaba a verificar cada sugerencia manualmente.

Flujo de trabajo de ejemplo antes del MCP:

Yo: "Necesito videos para el sonido 'th'."
Cursor o Windsurf: "Recomiendo 'English TH Sounds - How to pronounce TH correctly'."
Yo: "¿Eso realmente existe? ¿Cuál es el canal?"
Cursor o Windsurf: "Debería estar en el canal 'English Pronunciation'."
Yo: *busca en YouTube* "Ese canal existe, pero ese video no."

Construyendo el servidor de YouTube

Construí el servidor usando Python con FastAPI, conectándome a la API de Datos de YouTube. Aquí está el diagrama de arquitectura que muestra cómo funciona:

Diagrama de Arquitectura del Servidor MCP de YouTube

El principal desafío fue gestionar las cuotas de la API de YouTube y asegurar que el servidor siguiera correctamente la especificación MCP.

Cómo funciona

Con el servidor MCP, Cursor o Windsurf ahora pueden buscar directamente en YouTube y proporcionar videos reales con recuentos de visualización y calificaciones. Esto reduce la comunicación de ida y vuelta y me permite concentrarme en el desarrollo.

Nuevo flujo de trabajo:

Yo: "Busca videos para el sonido 'th'."
Cursor o Windsurf: *consulta el servidor MCP*
Cursor o Windsurf: "Encontré estas opciones con recuentos de visualización y calificaciones. ¿Cuál prefieres?"
Yo: "La primera." Cursor o Windsurf: *agrega el código de inserción con el ID de video correcto*

Detalles de implementación técnica

Consideraciones técnicas clave al construir un MCP:

1. Autenticación: La especificación MCP no tiene un método de autenticación estandarizado. Utilicé una clave API de YouTube almacenada en una variable de entorno (archivo .env).

2. Formato de respuesta: Las herramientas de IA esperan formatos de respuesta específicos. El formato varía según el endpoint, pero aquí hay un ejemplo del endpoint search_videos:


{
  "videos": [
    {
      "title": "How to Pronounce TH - English Pronunciation Lesson",
      "videoId": "dQw4w9WgXcQ",
      "channelTitle": "English Pronunciation",
      "description": "Learn how to pronounce the TH sound in English correctly."
    }
  ]
}

Y aquí hay un ejemplo del endpoint get_video_details, que devuelve información más completa:


{
  "title": "How to Pronounce TH - English Pronunciation Lesson",
  "description": "Learn how to pronounce the TH sound in English correctly.",
  "channelTitle": "English Pronunciation",
  "publishedAt": "2023-04-15T14:30:00Z",
  "duration": "PT5M30S",
  "viewCount": "1234567",
  "likeCount": "12345",
  "commentCount": "1234"
}

3. Manejo de errores: Los formatos de error consistentes son esenciales, ya que las herramientas de IA pueden confundirse con respuestas inesperadas. Mi implementación incluye un manejo de errores específico para diferentes escenarios:

  • Clave API faltante: "No se pudo inicializar el servicio de YouTube. Verifique la variable de entorno YOUTUBE_API_KEY."
  • Clave API inválida: "Ocurrió un error HTTP 400: [contenido del error]. Esto podría indicar una clave API (YOUTUBE_API_KEY) inválida o faltante."
  • Recurso no encontrado: "No se encontró el video con el ID '[video_id]'."
  • Errores HTTP generales: "Ocurrió un error HTTP [estado]: [contenido del error]"

Por qué esto es importante para las herramientas de codificación de IA

Cuando codificas con asistentes de IA como Cursor o Windsurf, tomas constantemente decisiones basadas en información externa. Sin los MCP, estas herramientas están esencialmente trabajando a ciegas cuando se trata de datos en tiempo real.

Aquí se explica por qué los MCP cambian las reglas del juego para la codificación con IA:

  • Menos cambio de contexto: Mantente en tu flujo de codificación sin saltar entre aplicaciones
  • Información verificada: Obtén datos precisos y en tiempo real en lugar de contenido potencialmente desactualizado o alucinado
  • Conocimiento especializado: Accede a información específica del dominio con la que la IA no fue entrenada
  • Flujos de trabajo personalizados: Crea MCP para tus necesidades y patrones de desarrollo específicos

Según la documentación de OpenAI, los MCP proporcionan "conocimiento específico del dominio con límites claros", lo que los hace ideales para extender las capacidades de la IA de manera controlada y predecible. De manera similar, la aplicación de escritorio Claude de Anthropic utiliza MCP para conectar Claude de forma segura a servicios como Google Drive y GitHub.

Creando tu propio MCP

Si quieres construir un MCP:

1. Comienza con un único endpoint de API que te ahorraría más tiempo

2. Concéntrate en obtener el formato de respuesta correcto

3. Implementa un manejo de errores adecuado

Mi MCP de YouTube incluye estos endpoints:

  • /search_videos - Busca videos que coincidan con una consulta
  • /get_video_details - Obtiene información detallada sobre un video específico
  • /get_related_videos - Busca videos relacionados con un video específico
  • /list_channel_videos - Obtiene cargas recientes de un canal
  • /get_channel_details - Obtiene información sobre un canal de YouTube
  • /search_playlists - Busca listas de reproducción que coincidan con una consulta
  • /get_playlist_items - Obtiene videos de una lista de reproducción específica

Resultados

La construcción de este servidor MCP redujo significativamente mi tiempo de desarrollo. Cursor y Windsurf ahora hacen mejores sugerencias basadas en datos de video reales, y puedo mantener el enfoque en el desarrollo sin cambiar de contexto para buscar en YouTube.

Servidores MCP Populares y Usos Actuales

Varios servidores MCP ya se están utilizando en entornos de producción:

  • GitHub MCP: Permite a las herramientas de IA buscar repositorios, ver código y acceder a issues/PRs
  • Google Drive MCP: Permite la búsqueda y recuperación de documentos de Google Drive
  • Slack MCP: Proporciona acceso a canales, mensajes e información del espacio de trabajo
  • Firebase MCP: Permite consultar y actualizar colecciones y documentos de Firestore
  • MongoDB MCP: Proporciona acceso a bases de datos MongoDB para análisis de datos asistido por IA
  • PostgreSQL MCP: Permite a las herramientas de IA consultar bases de datos relacionales y visualizar resultados
  • Jira MCP: Permite consultar y actualizar tickets e información de proyectos
  • Mermaid MCP: Ayuda a generar diagramas a partir de descripciones de texto (similar a mi publicación sobre automatización con Mermaid)
  • Wolfram Alpha MCP: Proporciona conocimiento computacional y fáctico

Estos servidores son particularmente populares entre los usuarios de Claude Desktop y los desarrolladores que trabajan con Cursor o Windsurf. A medida que el ecosistema MCP crece, estamos viendo servidores más especializados para dominios como análisis de datos, pruebas de API y generación de documentación.

Pruébalo tú mismo

El código de mi servidor MCP de YouTube está disponible en GitHub. Necesitarás una clave API de YouTube para configurarlo.