Smile news

Qu'est-ce que le Model Context Protocol (MCP) ?

  • Date de l’événement Apr. 07 2025
  • Temps de lecture min.

Découvrez le Model Context Protocol (MCP), explorez ses cas d’usage, son architecture technique et comment l’implémenter pour enrichir vos applications IA.

Le Model Context Protocol (MCP) est une norme ouverte qui permet aux applications d'intelligence artificielle, notamment les modèles de langage de grande taille (LLM), de se connecter de manière sécurisée et bidirectionnelle à diverses sources de données et outils externes. En standardisant ces interactions, le MCP facilite l'intégration et l'interopérabilité entre les modèles d'intelligence artificielle et les systèmes existants. Pensez MCP comme l’USB-C des applications IA. 

 

Serveurs MCP existants

Plusieurs implémentations de serveurs MCP permettent aux LLM d'interagir avec différentes plateformes et services. Voici quelques exemples notables :

  • Git : il permet aux LLM d'accéder aux dépôts Git, de lire, rechercher et manipuler les fichiers, facilitant ainsi des tâches comme l'analyse de code ou la génération de documentation.
  • Postgresql : il permet d’inspecter les schémas de la base et d'exécuter des requêtes en lecture seul.
  • Redis : il interagit avec des bases de données en mémoire, permettant aux LLM de stocker et récupérer des données rapidement.
  • Slack : il intègre les LLM aux canaux de communication de Slack, permettant des interactions en temps réel, comme répondre à des messages ou fournir des résumés de conversations.
  • Sentry : Il permet aux LLM d'accéder aux rapports d'erreurs et aux journaux, aidant ainsi à diagnostiquer et résoudre les problèmes logiciels.

Ces serveurs démontrent la polyvalence et l'extensibilité de MCP, illustrant comment il peut être utilisé pour donner aux LLM un accès sécurisé et contrôlé à divers outils et sources de données.

 

Détails techniques du protocole MCP

Le MCP suit une architecture client-serveur similaire au Language Server Protocol (LSP). Voici les principaux aspects techniques :

  • Architecture : Le client est généralement une application d'IA ou un environnement de développement, tandis que le serveur est un programme qui fournit l'accès à des données ou des outils spécifiques.
  • Communication : Les requêtes et réponses sont encodées selon la spécification JSON-RPC 2.0. La communication entre le client et le serveur se fait via (stdin/stdout) ou HTTP avec des transports Server-Sent Events.
  • Spécification : La spécification officielle de MCP est disponible et définit les exigences protocolaires autoritaires, basées sur le schéma TypeScript.
  • SDKs : Des kits de développement logiciel (SDK) officiels pour MCP sont disponibles en Python, TypeScript, Java ou Kotlin, facilitant la création de serveurs et de clients MCP.

     

Usecase

Interroger une base PostgreSQL via MCP depuis un chat métier.

 

Objectif

Permettre à un utilisateur métier (commercial, RH, logistique…) de poser une question en langage naturel dans un chat et obtenir une réponse basée sur des données en temps réel issues d’une base PostgreSQL, grâce au Model Context Protocol (MCP).

 

Étapes du Processus

Etapes du processus

Avantages de cette approche

  • Réponses basées sur des données en temps réel : Pas besoin de réentraîner le modèle.
  • Optimisation des coûts : Moins de contexte à injecter dans les prompts.
  • Sécurité : PostgreSQL protège les données sensibles avec des permissions.
  • Scalabilité : MCP permet d'ajouter d'autres bases ou APIs facilement.
Avantages unifiés du système

Comment implémenter un serveur MCP ?

Pour implémenter un serveur MCP, voici les étapes :

  1. Choix du langage : Sélectionnez un langage de programmation adapté à votre environnement et à vos besoins. Des SDKs sont disponibles pour Python et TypeScript.
  2. Utilisation du SDK : Utilisez le SDK MCP correspondant pour faciliter le développement. Ces SDKs fournissent des outils et des bibliothèques pour gérer les communications et les structures de données requises par MCP.
  3. Définition des capacités : Identifiez les fonctionnalités que votre serveur MCP offrira. Par exemple, un serveur pour Git pourrait permettre des opérations comme la lecture de fichiers, la recherche de commits, etc.
  4. Implémentation des méthodes : Développez les méthodes nécessaires pour chaque capacité définie, en suivant les spécifications du protocole MCP.
  5. Gestion de la communication : Assurez-vous que votre serveur peut gérer les requêtes et réponses selon le format JSON-RPC 2.0, et qu'il supporte les transports requis (Stdio ou HTTP).
  6. Tests et déploiement : Testez votre serveur MCP pour garantir son bon fonctionnement et déployez le dans votre environnement cible JSON-RPC 2.0JSON-RPC 2.0

Vous l’aurez compris un serveur MCP permettra de connecter vos sources de données que ce soit un applicatif ou une base de données à vos LLM, aujourd’hui plusieurs third party server existent comme Grafana qui permet de chercher dans les dashboards et interroger les sources de données, ou encore MotherDuck qui permet d'interroger et analyser les données du puissant DuckDB.

Pour aller plus loin, nous vous conseillons notre livre blanc "Construire une application d'IA open source"

 

Ressources

Jamel Ben Amar

Jamel Ben Amar

CTO