← Retourner à la liste des articles
Image blog
Auteur

Par Maxime Jumelle

CTO & Co-Founder

Publié le 3 déc. 2025

Catégorie Agentic AI

Model Context Protocol : définition et exemples

Le développement des systèmes d'IA agentique a mis en lumière un défi fondamental : comment permettre aux modèles de langage d'interagir efficacement avec des sources de données et des outils externes ? Jusqu'à récemment, chaque intégration nécessitait un développement spécifique, créant une fragmentation importante dans l'écosystème et limitant l'interopérabilité entre les différentes solutions.

C'est pour répondre à cette problématique qu'Anthropic a introduit le Model Context Protocol (MCP), un protocole ouvert qui standardise la communication entre les applications IA et les systèmes externes. En proposant une interface unifiée, MCP ambitionne de devenir pour l'IA générative ce que les API REST sont devenues pour le web : un standard permettant à n'importe quel client de communiquer avec n'importe quel serveur de manière prévisible et cohérente.

Dans cet article, nous allons explorer en détail le fonctionnement du Model Context Protocol, comprendre son architecture client-serveur, examiner ses différents modes de communication, et découvrir comment il s'intègre dans les architectures d'agents IA modernes.

Qu'est-ce que le Model Context Protocol ?

Le Model Context Protocol (MCP) est un protocole de communication open source conçu pour standardiser la façon dont les applications basées sur des LLM accèdent à des données contextuelles et interagissent avec des outils externes. Lancé par Anthropic fin 2024, il répond à un besoin croissant d'interopérabilité dans l'écosystème de l'IA générative.

Architecture Model Context Protocol

Avant MCP, chaque développeur souhaitant connecter un LLM à une base de données, un système de fichiers ou une API devait implémenter une intégration sur mesure. Cette approche présentait plusieurs inconvénients majeurs :

  • Duplication des efforts : chaque équipe réimplémentait des connecteurs similaires
  • Manque de standardisation : formats de données et protocoles hétérogènes
  • Maintenance complexe : multiplication des points d'intégration à maintenir
  • Portabilité limitée : les intégrations développées pour un client ne fonctionnaient pas avec un autre

MCP propose une solution élégante à ces problèmes en définissant un contrat standardisé entre les clients (applications IA) et les serveurs (fournisseurs de données et d'outils). Ce contrat spécifie comment les ressources sont exposées, comment les outils sont décrits et invoqués, et comment les messages sont échangés entre les différentes parties.

Le protocole s'articule autour de trois primitives fondamentales :

  • Resources : données contextuelles que le serveur peut exposer (fichiers, entrées de base de données, contenus web)
  • Tools : fonctions que le LLM peut invoquer pour effectuer des actions (recherche, calcul, appels API)
  • Prompts : templates de prompts prédéfinis que le serveur peut proposer pour guider les interactions

Cette approche modulaire permet aux développeurs de créer des serveurs MCP spécialisés qui peuvent être réutilisés par n'importe quelle application cliente compatible, favorisant ainsi un écosystème riche et interopérable.

Architecture client-serveur du MCP

L'architecture du Model Context Protocol repose sur un modèle client-serveur clairement défini, où chaque composant joue un rôle spécifique dans l'écosystème.

Le client MCP est généralement intégré dans une application hôte comme un assistant IA, un IDE ou un chatbot. Son rôle est de :

  • Découvrir les serveurs MCP disponibles et leurs capacités
  • Transmettre les requêtes du LLM vers les serveurs appropriés
  • Agréger les réponses et les présenter au modèle de manière cohérente
  • Gérer le cycle de vie des connexions aux serveurs

Des applications comme Claude Desktop, Cursor ou des environnements de développement intégrés peuvent embarquer un client MCP pour enrichir les capacités de leur assistant IA.

Le serveur MCP est un composant léger qui expose des ressources et des outils via le protocole standardisé. Chaque serveur se concentre typiquement sur un domaine spécifique :

Type de serveurFonctionnalitéExemple d'utilisation
Système de fichiersLecture/écriture de fichiers locauxAnalyser des documents, modifier du code
Base de donnéesRequêtes SQL/NoSQLInterroger des données métier
API webAccès à des services externesRecherche web, météo, actualités
Outils de développementGit, terminal, déploiementAutomatisation du workflow dev

Un serveur MCP implémente le protocole de communication et expose ses capacités de manière déclarative. Lorsqu'un client se connecte, le serveur lui indique les ressources disponibles, les outils utilisables et leurs paramètres attendus.

from mcp import Server, Tool

# Exemple simplifié de définition d'un serveur MCP
server = Server("weather-server")

@server.tool("get_weather")
async def get_weather(city: str) -> dict:
    """Récupère la météo actuelle pour une ville donnée."""
    # Appel à une API météo externe
    weather_data = await fetch_weather_api(city)
    return {
        "temperature": weather_data["temp"],
        "conditions": weather_data["description"],
        "humidity": weather_data["humidity"]
    }

À découvrir : notre formation Agentic AI


Communication entre client et serveur

Le protocole MCP utilise JSON-RPC 2.0 comme format d'échange, garantissant une structure de messages prévisible et facile à parser. Une interaction typique se déroule ainsi :

  1. Le client établit une connexion avec le serveur
  2. Le client envoie une requête initialize pour négocier les capacités
  3. Le serveur répond avec la liste de ses ressources et outils
  4. Le client peut ensuite invoquer des outils ou accéder aux ressources selon les besoins du LLM
  5. Le serveur exécute les requêtes et retourne les résultats

Cette architecture découplée permet une grande flexibilité : un même client peut se connecter à plusieurs serveurs simultanément, et un même serveur peut servir plusieurs clients.

Modes de communication

Le Model Context Protocol supporte plusieurs modes de transport pour s'adapter à différents contextes de déploiement. Le choix du transport dépend de l'architecture de l'application et des contraintes d'infrastructure.

Le transport stdio (Standard Input/Output) est le mode le plus simple et le plus couramment utilisé pour les déploiements locaux. Dans ce mode, le client lance le serveur MCP comme un processus enfant et communique avec lui via les flux d'entrée/sortie standard. Ce mode est idéal pour les intégrations desktop où le serveur s'exécute sur la même machine que le client, ne nécessitant aucune configuration réseau. C'est le transport par défaut dans Claude Desktop.

Le transport HTTP avec Server-Sent Events (SSE) est adapté aux déploiements distribués où le serveur MCP s'exécute sur une machine distante. Le client envoie des requêtes HTTP POST et reçoit les réponses via un flux SSE, permettant une communication bidirectionnelle efficace. Ce mode convient aux architectures cloud où plusieurs clients doivent partager un même serveur.

Le transport WebSocket offre une communication bidirectionnelle full-duplex, particulièrement adaptée aux scénarios nécessitant des échanges fréquents et à faible latence. Il est souvent privilégié pour les applications temps réel ou les agents IA qui effectuent de nombreuses interactions avec leurs outils.

# Exemple de connexion à un serveur MCP via différents transports

# Transport stdio (local)
from mcp import ClientSession, StdioServerParameters

async with ClientSession(
    StdioServerParameters(command="python", args=["server.py"])
) as session:
    tools = await session.list_tools()

# Transport HTTP/SSE (distant)
from mcp import ClientSession, SSEServerParameters

async with ClientSession(
    SSEServerParameters(url="https://mcp-server.example.com/sse")
) as session:
    tools = await session.list_tools()

Le choix du transport impacte également les considérations de sécurité. Le mode stdio bénéficie de l'isolation des processus locaux, tandis que les transports réseau nécessitent une attention particulière à l'authentification et au chiffrement des communications.

MCP dans le contexte de l'Agentic AI

Le Model Context Protocol prend tout son sens lorsqu'on le considère dans le cadre des architectures d'agents IA. Les agents, comme ceux basés sur le paradigme ReAct, ont besoin d'interagir avec leur environnement pour accomplir des tâches complexes. MCP fournit l'infrastructure standardisée pour ces interactions.

Dans une architecture agentique typique, le cycle Thought-Action-Observation repose sur la capacité de l'agent à invoquer des outils externes. Sans MCP, chaque outil doit être intégré individuellement dans le code de l'agent. Avec MCP, l'agent peut découvrir dynamiquement les outils disponibles et les utiliser de manière uniforme.

Considérons un agent chargé d'analyser les performances commerciales d'une entreprise. Sans MCP, le développeur devrait implémenter :

  • Un connecteur pour la base de données CRM
  • Une intégration avec l'API de comptabilité
  • Un accès au système de fichiers pour les rapports

Avec MCP, l'agent se connecte simplement à trois serveurs MCP spécialisés qui exposent ces fonctionnalités de manière standardisée. Si l'entreprise change de CRM, seul le serveur MCP correspondant doit être mis à jour, sans modification de l'agent lui-même.

Thought: Je dois analyser les ventes du dernier trimestre. Je vais d'abord 
récupérer les données depuis le CRM.

Action: mcp_tool("crm-server", "get_sales", {"period": "Q4-2024"})

Observation: {"total_sales": 1250000, "deals_closed": 45, "avg_deal_size": 27777}

Thought: J'ai les données de vente. Je dois maintenant les comparer avec les 
objectifs définis dans le système de reporting.

Action: mcp_tool("reporting-server", "get_targets", {"period": "Q4-2024"})

Observation: {"sales_target": 1500000, "deals_target": 50}

Thought: Je peux maintenant calculer les écarts et formuler mon analyse.

Cette intégration native avec les workflows agentiques fait de MCP un composant clé pour construire des systèmes d'IA capables d'opérer dans des environnements complexes et hétérogènes.

Avantages et inconvénients

Le Model Context Protocol apporte plusieurs bénéfices significatifs à l'écosystème de l'IA générative :

  • Interopérabilité : un serveur MCP développé pour un cas d'usage peut être réutilisé par n'importe quelle application cliente compatible, réduisant drastiquement les efforts de développement.

  • Séparation des préoccupations : les équipes peuvent développer et maintenir les serveurs MCP indépendamment des applications clientes, favorisant la spécialisation et la modularité.

  • Sécurité renforcée : le protocole permet de définir des permissions granulaires sur les ressources et outils exposés, et le modèle client-serveur facilite l'audit des accès.

  • Écosystème grandissant : la nature open source du protocole encourage la création d'une bibliothèque de serveurs MCP réutilisables, accélérant le développement d'applications IA connectées.

  • Standardisation : en établissant un standard commun, MCP réduit la fragmentation de l'écosystème et facilite l'adoption de l'IA agentique en entreprise.


À lire : découvrez notre formation Agentic AI


Malgré ses atouts, le MCP présente également des limites à considérer :

  • Maturité du protocole : lancé récemment, MCP est encore en évolution. Des changements dans la spécification peuvent nécessiter des adaptations des implémentations existantes.

  • Overhead de complexité : pour des intégrations simples, la mise en place d'un serveur MCP peut représenter une surcharge par rapport à une intégration directe.

  • Dépendance à l'adoption : la valeur de MCP dépend de son adoption par l'écosystème. Si les principaux acteurs ne l'adoptent pas, sa pertinence reste limitée.

  • Performance : la couche d'abstraction introduite par MCP peut engendrer une latence supplémentaire par rapport à des appels directs, particulièrement critique pour les applications temps réel.

  • Courbe d'apprentissage : les développeurs doivent se familiariser avec un nouveau protocole et ses conventions, ce qui représente un investissement initial.

Exemples d'utilisation

Le Model Context Protocol trouve des applications dans de nombreux contextes où l'enrichissement des capacités des LLM est nécessaire.

Intégration avec des bases de données

Un serveur MCP peut exposer l'accès à une base de données PostgreSQL, permettant à un assistant IA de répondre à des questions en langage naturel en générant et exécutant des requêtes SQL. L'utilisateur demande "Quels sont nos 10 meilleurs clients ce trimestre ?", et l'agent utilise le serveur MCP pour interroger la base de données et formuler une réponse contextualisée.

Automatisation du développement

Des serveurs MCP dédiés aux outils de développement permettent à un assistant de code d'interagir avec Git, d'exécuter des tests, ou de déployer des applications. Un développeur peut demander "Crée une branche pour la feature X, implémente les modifications et ouvre une pull request", et l'agent orchestre les différents outils via leurs serveurs MCP respectifs.

Recherche et veille informationnelle

Un serveur MCP connecté à des API de recherche web et à des flux d'actualités permet de créer un assistant de veille capable de collecter, filtrer et synthétiser des informations sur des sujets spécifiques. L'agent peut surveiller les mentions d'une marque, suivre les évolutions réglementaires d'un secteur, ou compiler des analyses concurrentielles.

Productivité personnelle

Des serveurs MCP interfacés avec des outils de productivité (calendrier, email, gestionnaire de tâches) permettent de créer un assistant personnel capable de gérer l'agenda, rédiger des emails contextuels ou organiser des projets. L'utilisateur peut demander "Planifie une réunion avec l'équipe marketing la semaine prochaine et envoie les invitations", et l'agent coordonne les différents outils pour accomplir la tâche.

Conclusion

Le Model Context Protocol représente une avancée structurante pour l'écosystème de l'IA générative. En proposant un standard ouvert pour la communication entre les applications IA et leurs sources de données, il répond à un besoin fondamental d'interopérabilité qui freinait jusqu'alors le développement d'agents IA véritablement connectés à leur environnement.

L'architecture client-serveur du MCP, combinée à ses différents modes de transport, offre la flexibilité nécessaire pour s'adapter à des contextes de déploiement variés, du poste de travail individuel aux infrastructures cloud distribuées. Cette adaptabilité, associée à la richesse des primitives proposées (resources, tools, prompts), en fait un protocole complet pour couvrir la majorité des cas d'usage.

Pour les équipes développant des solutions d'IA agentique, MCP simplifie considérablement l'intégration avec les systèmes existants tout en favorisant la réutilisation et la maintenabilité. À mesure que l'écosystème de serveurs MCP s'enrichit, la création d'agents IA capables d'opérer dans des environnements complexes devient plus accessible.

L'adoption croissante du protocole par des acteurs majeurs comme Anthropic, mais aussi par des éditeurs d'outils de développement et des entreprises, suggère que MCP pourrait effectivement s'imposer comme le standard de facto pour connecter l'IA générative au monde réel. Pour les développeurs et architectes IA, se familiariser avec ce protocole constitue un investissement pertinent pour construire les applications intelligentes de demain.

Articles similaires

Blog

1 déc. 2025

Agentic AI

Langfuse est une plateforme d'observabilité et de monitoring spécialement conçue pour les applications utilisant des LLM. Développée en open source, elle permet aux équipes de développement de suivre, analyser et améliorer leurs systèmes d'IA générative tout au long de leur cycle de vie.

Maxime Jumelle

Maxime Jumelle

CTO & Co-Founder

Lire l'article

Blog

28 nov. 2025

Agentic AI

L'essor de l'Agentic AI a donné naissance à différentes architectures d'agents, chacune adaptée à des contextes spécifiques. Parmi elles, l'agent Plan-and-Execute se distingue par son approche méthodique : plutôt que de raisonner pas à pas de manière réactive, il commence par élaborer un plan complet avant de l'exécuter étape par étape.

Maxime Jumelle

Maxime Jumelle

CTO & Co-Founder

Lire l'article

Blog

27 nov. 2025

Agentic AI

Les agents IA représentent aujourd'hui une avancée majeure dans le domaine de l'intelligence artificielle. Parmi les différentes architectures disponibles, l'agent ReAct (Reasoning and Acting) s'est imposé comme une approche particulièrement efficace pour résoudre des tâches complexes nécessitant à la fois réflexion et action.

Maxime Jumelle

Maxime Jumelle

CTO & Co-Founder

Lire l'article