Tous les articles
·Ingénierie·7 min

MCP : le protocole qui transforme vos LLMs en agents connectés

Le Model Context Protocol standardise la façon dont les IA accèdent à vos outils et données. Voici ce que ça change concrètement.

Le Model Context Protocol (MCP) est en train de devenir le chaînon manquant entre les LLMs et le reste de votre stack. Là où les intégrations AI étaient jusqu'ici du câblage custom et fragile, MCP propose une interface universelle — pensez-y comme à l'USB-C, mais pour les modèles de langage.

Serveur connecté à plusieurs services via un protocole unifié
MCP agit comme une couche d'abstraction entre le LLM et vos systèmes existants.

Ce que MCP résout vraiment

Avant MCP, connecter un LLM à un outil externe — une base de données, une API interne, un système de fichiers — demandait d'écrire une intégration sur mesure pour chaque combinaison modèle × outil. Résultat : des pipelines fragiles, difficiles à maintenir, et non portables.

MCP standardise ce contrat entre un client (le LLM ou l'application qui l'orchestre) et un serveur (le système qui expose des capacités). Le protocole repose sur trois primitives :

PrimitiveRôleExemple concret
ToolsActions que le LLM peut déclencherLire un fichier, appeler une API
ResourcesDonnées exposées en lectureContenu d'un repo Git, entrées BDD
PromptsTemplates réutilisablesRésumer un ticket Jira

La communication se fait en JSON-RPC 2.0, sur stdio ou SSE (Server-Sent Events) selon le mode de transport choisi.

Architecture : client, serveur, hôte

Un déploiement MCP implique trois rôles distincts :

  • L'hôte : l'application qui embarque le LLM (ex. Claude Desktop, une app Next.js).
  • Le client MCP : le composant qui gère le protocole côté hôte.
  • Le serveur MCP : le processus qui expose les outils et ressources.

Le serveur tourne en local ou à distance. Il n'a pas accès au modèle lui-même — il répond uniquement aux requêtes que le client lui transmet au nom du LLM.

Hôte (app)
  └── Client MCP
        ├── Serveur MCP A  →  Système de fichiers
        ├── Serveur MCP B  →  Base PostgreSQL
        └── Serveur MCP C  →  API GitHub

Ce découplage est la force du modèle : un serveur MCP écrit une fois fonctionne avec n'importe quel hôte compatible.

Créer un serveur MCP en TypeScript

Voici un serveur minimal qui expose un outil get_weather :

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "weather-server", version: "1.0.0" });

server.tool(
  "get_weather",
  { city: z.string().describe("Nom de la ville") },
  async ({ city }) => {
    const data = await fetchWeather(city);
    return { content: [{ type: "text", text: `Météo à ${city} : ${data.temp}°C` }] };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

Le SDK TypeScript officiel (@modelcontextprotocol/sdk) gère le handshake, la sérialisation et les erreurs. On déclare les outils avec un schéma Zod — le LLM reçoit automatiquement la description des paramètres et sait comment les remplir.

Quand MCP fait vraiment la différence

La valeur de MCP se mesure à l'échelle. Un seul serveur peut suffire pour un prototype ; dans un contexte produit, on empile plusieurs serveurs spécialisés.

Couˆt inteˊgration=Nmodeˋles×Noutils\text{Coût intégration} = N_{\text{modèles}} \times N_{\text{outils}}

Sans MCP, chaque nouvelle combinaison modèle × outil est une intégration à écrire. Avec MCP, le coût devient Nmodeˋles+NoutilsN_{\text{modèles}} + N_{\text{outils}} — une différence qui explose à mesure que l'écosystème grandit.

Cas d'usage où MCP apporte le plus :

  • Agents de développement : accès au repo, aux tests, aux logs en temps réel (c'est exactement ce que fait Claude Code).
  • Support client augmenté : le LLM consulte la BDD CRM sans que les données transitent par le prompt initial.
  • Automatisation interne : lecture de Notion, écriture dans Jira, envoi Slack — orchestré depuis une interface conversationnelle.

Comparatif : MCP vs approches alternatives

ApprochePortabilitéMaintenanceSécurité
Intégration custom (function calling)Faible — liée au modèleHauteManuelle
MCP (local stdio)Haute — tout hôte compatibleFaibleContrôlée par le serveur
MCP (SSE distant)MaximaleMoyenneRequiert auth explicite
LangChain ToolsMoyenne — liée au frameworkMoyenneVariable

MCP brille sur la portabilité : un serveur écrit pour Claude Desktop fonctionne dans Cursor ou dans votre propre app sans modification.

Ce qu'on en retient

L'adoption de MCP s'accélère : des centaines de serveurs communautaires existent déjà pour PostgreSQL, GitHub, Slack, Google Drive, Figma, et bien d'autres. Les éditeurs majeurs l'intègrent nativement dans leurs IDE.

Pour une équipe qui construit des produits AI aujourd'hui, investir dans MCP plutôt que dans des intégrations custom réduit la dette technique et prépare le terrain pour un écosystème d'outils interopérables — quelle que soit l'évolution des modèles.