Retour au blog

Comment créer un serveur MCP YouTube pour les assistants de codage IA Cursor et Windsurf

2025-04-255 min de lecture

En migrant mon site web Learn English Sounds d'un CMS vers Next.js, j'ai rencontré un obstacle frustrant. J'avais besoin de trouver des vidéos YouTube démontrant chaque phonème anglais, mais mes assistants de codage IA (Cursor et Windsurf) ne pouvaient pas rechercher directement sur YouTube.

Cela signifiait que je devais vérifier manuellement chaque suggestion de vidéo, ce qui interrompait mon flux de travail. Je recevais une recommandation, je vérifiais si elle existait, puis je retournais au codage. Ce n'était pas un problème majeur, mais c'était certainement inefficace.

Pour rationaliser ce processus, j'ai créé un simple serveur Model Control Protocol (MCP) pour YouTube. Il permet à mes outils de codage IA de rechercher et de récupérer des informations vidéo réelles sans mon intervention.

Ce guide explique comment créer votre propre serveur MCP. C'est un projet simple qui peut vous faire gagner du temps si vous avez souvent besoin que votre assistant de codage IA accède à des services externes comme YouTube.

Qu'est-ce qu'un MCP ?

Imaginez que vous utilisez un assistant IA comme Claude ou GPT, mais qu'il ne peut pas accéder directement à Internet ou à d'autres services. Un MCP (Model Control Protocol) est comme un traducteur qui aide l'IA à communiquer avec ces services.

Considérez cela ainsi : si vous parlez français et que votre ami parle espagnol, vous avez besoin d'un traducteur pour communiquer. De même, un serveur MCP traduit entre un outil IA (comme Cursor ou Windsurf) et un service externe (comme YouTube). Il suit des règles spécifiques pour que les deux parties se comprennent parfaitement.

En termes techniques, il s'agit d'un serveur API standardisé qui suit des formats spécifiques afin que les outils IA puissent demander et recevoir des données sans intervention humaine. Le protocole définit comment les requêtes sont formatées, comment les réponses doivent être structurées et comment les erreurs sont gérées.

Notamment, Anthropic a rendu open-source son Model Context Protocol, ce qui permet aux développeurs de créer des connexions sécurisées entre les sources de données et les outils IA. Leur implémentation comprend des SDK, la prise en charge de serveurs locaux dans les applications de bureau Claude, et des serveurs pré-construits pour des systèmes populaires comme Google Drive, GitHub et Slack.

Pourquoi j'en avais besoin

Learn English Sounds nécessite des vidéos montrant la prononciation correcte de chaque phonème. Sans accès direct à YouTube, Cursor ou Windsurf suggéraient des vidéos qui n'existaient souvent pas, me obligeant à vérifier chaque suggestion manuellement.

Exemple de flux de travail avant le MCP :

Moi : "J'ai besoin de vidéos pour le son 'th'."
Cursor ou Windsurf : "Je recommande 'English TH Sounds - How to pronounce TH correctly'."
Moi : "Est-ce que ça existe vraiment ? Quel est le nom de la chaîne ?"
Cursor ou Windsurf : "Ce devrait être sur la chaîne 'English Pronunciation'."
Moi : *recherche sur YouTube* "Cette chaîne existe mais cette vidéo n'existe pas."

Construction du serveur YouTube

J'ai construit le serveur en utilisant Python avec FastAPI, en me connectant à l'API YouTube Data. Voici le diagramme d'architecture montrant comment cela fonctionne :

Diagramme d'architecture du serveur MCP YouTube

Le principal défi a été de gérer les quotas de l'API YouTube et de s'assurer que le serveur suivait correctement la spécification MCP.

Comment ça marche

Avec le serveur MCP, Cursor ou Windsurf peuvent maintenant rechercher directement sur YouTube et fournir des vidéos réelles avec le nombre de vues et les notes. Cela réduit les allers-retours et me permet de me concentrer sur le développement.

Nouveau flux de travail :

Moi : "Trouve des vidéos pour le son 'th'."
Cursor ou Windsurf : *interroge le serveur MCP*
Cursor ou Windsurf : "J'ai trouvé ces options avec le nombre de vues et les notes. Laquelle préférez-vous ?"
Moi : "La première." Cursor ou Windsurf : *ajoute le code d'intégration avec l'ID vidéo correct*

Détails d'implémentation technique

Considérations techniques clés lors de la création d'un MCP :

1. Authentification : La spécification MCP n'a pas de méthode d'authentification standardisée. J'ai utilisé une clé API YouTube stockée dans une variable d'environnement (fichier .env).

2. Format de réponse : Les outils IA attendent des formats de réponse spécifiques. Le format varie selon le point d'accès, mais voici un exemple du point d'accès 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."
    }
  ]
}

Et voici un exemple du point d'accès get_video_details, qui renvoie des informations plus complètes :


{
  "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. Gestion des erreurs : Des formats d'erreur cohérents sont essentiels car les outils IA peuvent être désorientés par des réponses inattendues. Mon implémentation comprend une gestion spécifique des erreurs pour différents scénarios :

  • Clé API manquante : "Échec de l'initialisation du service YouTube. Vérifiez la variable d'environnement YOUTUBE_API_KEY."
  • Clé API invalide : "Une erreur HTTP 400 s'est produite : [contenu de l'erreur]. Cela peut indiquer une clé API (YOUTUBE_API_KEY) invalide ou manquante."
  • Ressource non trouvée : "Vidéo avec l'ID '[video_id]' non trouvée."
  • Erreurs HTTP générales : "Une erreur HTTP [statut] s'est produite : [contenu de l'erreur]"

Pourquoi c'est important pour les outils de codage IA

Lorsque vous codez avec des assistants IA comme Cursor ou Windsurf, vous prenez constamment des décisions basées sur des informations externes. Sans MCP, ces outils travaillent essentiellement les yeux bandés en ce qui concerne les données en temps réel.

Voici pourquoi les MCP changent la donne pour le codage IA :

  • Réduction du changement de contexte : Restez dans votre flux de codage sans passer d'une application à l'autre
  • Informations vérifiées : Obtenez des données précises et en temps réel au lieu d'un contenu potentiellement obsolète ou halluciné
  • Connaissances spécialisées : Accédez à des informations spécifiques au domaine sur lesquelles l'IA n'a pas été entraînée
  • Flux de travail personnalisés : Créez des MCP pour vos besoins et modèles de développement spécifiques

Selon la documentation OpenAI, les MCP fournissent des "connaissances spécifiques au domaine avec des limites claires", ce qui les rend idéaux pour étendre les capacités de l'IA de manière contrôlée et prévisible. De même, l'application de bureau Claude d'Anthropic utilise les MCP pour connecter en toute sécurité Claude à des services tels que Google Drive et GitHub.

Créer votre propre MCP

Si vous souhaitez créer un MCP :

1. Commencez par un seul point d'accès qui vous ferait gagner le plus de temps

2. Concentrez-vous sur l'obtention du bon format de réponse

3. Implémentez une gestion appropriée des erreurs

Mon MCP YouTube comprend ces points d'accès :

  • /search_videos - Trouver des vidéos correspondant à une requête
  • /get_video_details - Obtenir des informations détaillées sur une vidéo spécifique
  • /get_related_videos - Trouver des vidéos liées à une vidéo spécifique
  • /list_channel_videos - Obtenir les téléchargements récents d'une chaîne
  • /get_channel_details - Obtenir des informations sur une chaîne YouTube
  • /search_playlists - Trouver des playlists correspondant à une requête
  • /get_playlist_items - Obtenir les vidéos d'une playlist spécifique

Résultats

La création de ce serveur MCP a considérablement réduit mon temps de développement. Cursor et Windsurf font maintenant de meilleures suggestions basées sur des données vidéo réelles, et je peux rester concentré sur le développement sans changer de contexte pour rechercher sur YouTube.

Serveurs MCP populaires et utilisations actuelles

Plusieurs serveurs MCP sont déjà utilisés en production :

  • GitHub MCP : Permet aux outils IA de rechercher des dépôts, de visualiser du code et d'accéder aux problèmes/PR
  • Google Drive MCP : Permet la recherche et la récupération de documents depuis Google Drive
  • Slack MCP : Fournit un accès aux canaux, aux messages et aux informations de l'espace de travail
  • Firebase MCP : Permet d'interroger et de mettre à jour les collections et les documents Firestore
  • MongoDB MCP : Fournit un accès aux bases de données MongoDB pour l'analyse de données assistée par IA
  • PostgreSQL MCP : Permet aux outils IA d'interroger des bases de données relationnelles et de visualiser les résultats
  • Jira MCP : Permet d'interroger et de mettre à jour les tickets et les informations de projet
  • Mermaid MCP : Aide à générer des diagrammes à partir de descriptions textuelles (similaire à mon article sur l'automatisation Mermaid)
  • Wolfram Alpha MCP : Fournit des connaissances computationnelles et factuelles

Ces serveurs sont particulièrement populaires auprès des utilisateurs de Claude Desktop et des développeurs travaillant avec Cursor ou Windsurf. À mesure que l'écosystème MCP se développe, nous voyons de plus en plus de serveurs spécialisés pour des domaines tels que l'analyse de données, les tests d'API et la génération de documentation.

Essayez par vous-même

Le code de mon serveur MCP YouTube est disponible sur GitHub. Vous aurez besoin d'une clé API YouTube pour le configurer.