← Portfolio · Articles · LLM & Agents
Abdessamad Touzani — LLM · Agents IA · Architecture
MCP vs API : Pourquoi le Model Context Protocol est le nouvel « USB-C » des Agents IA
Un changement de paradigme dans la façon dont les modèles de langage interagissent avec leur environnement
Résumé Les API REST ont été le standard universel de communication logicielle pendant des décennies. L'émergence des agents IA autonomes révèle leurs limitations fondamentales : trop rigides, trop déterministes, trop coûteuses en tokens pour un raisonnement dynamique. Le Model Context Protocol (MCP) propose une nouvelle couche d'abstraction, nativement adaptée au raisonnement probabiliste des LLM. Cet article analyse la différence architecturale entre ces deux paradigmes, avec des schémas et exemples concrets.

Le problème : les API ont été conçues pour le code, pas pour le raisonnement

L'API classique est idéale pour le logiciel traditionnel. Un développeur définit un endpoint, envoie une requête structurée et reçoit une réponse prévisible. C'est un contrat rigide et déterministe.

Métaphore — L'armoire verrouillée

Une API traditionnelle ressemble à un meuble fermé à clé : pour obtenir une donnée, le système doit savoir exactement quelle clé utiliser, dans quelle serrure la tourner, et quel tiroir ouvrir. Le code appelle, la donnée répond — de manière déterministe.

Les LLM ne fonctionnent pas comme des programmes classiques. Un agent IA doit chaîner une dizaine d'outils différents, interpréter de la donnée non structurée, poser des questions de suivi, et découvrir de nouvelles capacités en temps réel.

Logiciel traditionnel
✔ Requêtes déterministes
✔ Routes définies à l'avance
✔ Réponses prévisibles
✘ Aucune découverte dynamique
✘ Prompt engineering lourd
Agent IA
✔ Raisonnement contextuel
✔ Chaîne d'outils dynamique
✔ Découverte de capacités
✘ API trop rigides
✘ Consomme beaucoup de tokens
Le vrai problème. Faire interagir un LLM avec des API REST nécessite du Function Calling manuel avec des prompts très lourds. Il faut expliquer en permanence la forme de chaque JSON et la liste de chaque paramètre. Résultat : maintenance complexe, couplage fort, et des centaines de tokens gaspillés à chaque appel.

Qu'est-ce que MCP et en quoi est-il différent ?

Le Model Context Protocol (MCP) inverse cette logique. Au lieu de forcer le modèle à apprendre chaque API sur mesure, MCP offre un moyen standardisé à l'IA d'auto-découvrir les outils disponibles, leurs entrées et leurs sorties.

Définition — Model Context Protocol

MCP est un protocole de communication standardisé qui permet à un LLM (client MCP) d'interagir dynamiquement avec des systèmes externes (serveurs MCP). Chaque serveur expose ses capacités via des métadonnées lisibles par le modèle, sans que le développeur ait besoin de les décrire dans le prompt.

LLM / Agent (MCP Client) Claude · GPT · Gemini Protocol MCP Serveur MCP (Context Map) Métadonnées · Schémas Auto-discovery Protocole Interne Système / Data Jira · Gmail · SQL Cloud · Filesystem
Figure 1 — Architecture MCP : le serveur agit comme une carte contextuelle entre le LLM et les systèmes réels

Au lieu de donner au modèle un manuel d'utilisation statique (via le prompt), MCP lui fournit une carte dynamique et lisible en temps réel de son environnement.

Exemple concret : l'agent de support client

Imaginez un agent IA qui doit gérer des tickets de support client, en interagissant avec Gmail, Notion et Jira.

APPROCHE API CLASSIQUE Agent IA Gmail API Notion API Jira API code custom code custom code custom × 3 intégrations dédiées × prompts surchargés APPROCHE MCP Agent IA Serveur MCP Gmail Notion Jira 1 connexion · auto-discovery
Figure 2 — API classique (3 intégrations custom) vs MCP (1 connexion standardisée)
❌ Avec les API classiques
Code sur mesure pour chaque service. Gestion manuelle de la pagination, des tokens d'auth, des erreurs. Longs prompts pour expliquer quand appeler Jira ou Gmail.
✅ Avec MCP
Chaque service expose une interface MCP. Le modèle lit les métadonnées, comprend les fonctions disponibles et décide dynamiquement de la marche à suivre.

Ce n'est pas « MCP contre API », mais « MCP sur les API »

Une idée reçue fréquente est de croire que MCP vient détruire les API REST. C'est faux : MCP s'appuie sur les API existantes.

La relation API ↔ MCP

L'API REST reste la fondation logicielle : elle exécute l'action backend.
Le serveur MCP sert de traducteur / middleware entre le modèle et l'API — il expose les capacités de l'API dans un langage que le LLM peut comprendre et parcourir sans prompt surchargé.

Critère API REST Model Context Protocol
Cible (Client) Un programme / Un utilisateur Un LLM / Un agent autonome
Logique Déterministe (routes statiques) Probabiliste (raisonnement contextuel)
Découverte Documentation externe (Swagger) Auto-découverte dynamique (métadonnées)
Rôle principal Exécuter une action Fournir le contexte + la capacité d'agir
Coût tokens Élevé (prompt engineering lourd) Faible (schémas auto-chargés)
Maintenance Par service (fort couplage) Centralisée (1 serveur MCP)
Analogie historique. Tout comme HTTP a unifié le web en remplaçant la fragmentation des anciens protocoles (FTP, Telnet, Gopher), MCP cherche à unifier l'écosystème des agents IA. Vous développez un serveur MCP pour votre produit une seule fois, et n'importe quel LLM (Claude, GPT, Gemini) peut l'utiliser instantanément.
Exemple — Serveur MCP minimaliste (Python / FastAPI-MCP) # Un serveur MCP expose ses outils via des métadonnées structurées from mcp import MCPServer, Tool server = MCPServer(name="jira-mcp") # L'agent découvre cet outil automatiquement — aucun prompt requis @server.tool( name="create_ticket", description="Crée un ticket Jira avec titre et priorité", input_schema={"title": str, "priority": "low|medium|high"} ) async def create_ticket(title: str, priority: str): # Appel à l'API Jira en backend — l'agent ne gère pas ça directement return jira_client.create(title=title, priority=priority)

Les défis actuels du protocole

Même si la transition vers des architectures Model-Native est lancée, MCP fait face à quelques défis de jeunesse :

Conclusion

Les API ont été conçues pour que le code parle au code. MCP a été conçu pour que les modèles de langage interagissent avec leur environnement.

En déplaçant la logique d'orchestration depuis le code de l'application vers la couche de raisonnement du modèle, MCP jette les bases d'un logiciel véritablement autonome. Ce n'est pas une simple évolution technique — c'est la pierre angulaire des architectures d'agents IA de demain.

À retenir. MCP n'est pas un concurrent des API REST. C'est la couche d'abstraction qui rend les API compréhensibles par les LLM — sans qu'aucun développeur n'ait à l'expliquer dans un prompt.