Le Model Context Protocol (MCP) est un protocole standardisé qui permet aux modèles de langage d'accéder en temps réel au contexte spécifique des utilisateurs à partir de diverses sources de données. Ce protocole a été rapidement adopté par des entreprises majeures comme OpenAI, Google et Microsoft, démontrant son importance croissante dans l'industrie. Le MCP facilite l'intégration des modèles de langage avec des sources de données externes, telles que les outils de développement et les systèmes CRM, en s'appuyant sur les fondations du Language Server Protocol (LSP). Il résout un problème fondamental des modèles de langage en leur permettant d'accéder à des données privées ou spécifiques à une organisation, offrant ainsi des intégrations plus profondes et des réponses plus pertinentes.
L'article présente une implémentation d'un serveur MCP en utilisant TypeScript et le SDK officiel @modelcontextprotocol/sdk
. L'exemple illustre un système de classement spatial avec des astronautes et des planètes. Voici les points clés de cette implémentation :
-
Structure du Serveur : La classe principale du serveur MCP est créée en héritant de la classe
Server
du SDK MCP. Elle est configurée avec des capacités pour les outils, les ressources et les prompts. -
Outils (Tools) : Les outils permettent aux modèles de langage d'effectuer des actions spécifiques. Dans cet exemple, des outils sont définis pour rechercher un astronaute, ajouter des points à un astronaute, et obtenir le classement des planètes. Chaque outil est décrit avec un schéma de validation utilisant Zod pour garantir la robustesse des entrées.
-
Ressources (Resources) : Les ressources fournissent un accès structuré à des données statiques ou de référence. Dans cet exemple, une ressource est définie pour accéder aux règles du système de classement spatial.
-
Prompts : Les prompts sont des templates de conversation réutilisables qui peuvent être paramétrés dynamiquement. Un exemple de prompt est fourni pour générer un rapport hebdomadaire des performances.
-
Transport : Le serveur MCP peut utiliser différents types de transport pour communiquer avec les clients, tels que STDIO pour les applications desktop et SSE pour les applications web.
-
Test et Débogage : L'article utilise l'inspecteur MCP pour tester et déboguer le serveur. Cet outil permet d'explorer et de tester les outils, les ressources et les prompts de manière interactive.
-
Intégration avec Claude Desktop : Enfin, l'article montre comment intégrer le serveur MCP avec Claude Desktop, un client MCP populaire, pour permettre des interactions enrichies et contextualisées.
Cette implémentation illustre comment créer un serveur MCP fonctionnel et l'intégrer dans un environnement de développement pour enrichir les interactions avec les modèles de langage.