MCP : Le protocole qui standardise l'IA agentique

MCP : Le protocole qui standardise l'IA agentique

Il y a un an, connecter un assistant IA à vos données d'entreprise relevait du parcours du combattant. Chaque intégration nécessitait un développement custom, chaque outil demandait son propre connecteur. En novembre 2024, Anthropic a changé la donne en publiant le Model Context Protocol (MCP). Un an plus tard, ce protocole open-source s'est imposé comme le standard de facto pour l'IA agentique, adopté par OpenAI, Microsoft, Google et des milliers de développeurs.

Le problème que MCP résout

Avant MCP, les développeurs faisaient face à ce qu'Anthropic appelle le "problème N×M" : pour connecter N applications IA à M sources de données, il fallait développer N×M intégrations distinctes. Une équipe utilisant Claude, GPT et Gemini avec Slack, GitHub et PostgreSQL devait maintenir 9 connecteurs différents, chacun avec sa propre logique, ses propres bugs et sa propre dette technique.

Les modèles de langage, aussi sophistiqués soient-ils, restaient prisonniers de leurs silos. Comme le souligne Anthropic : "Même les modèles les plus avancés sont limités par leur isolation des données, piégés derrière des silos d'information et des systèmes legacy."

MCP transforme ce problème N×M en un problème N+M : chaque application implémente le protocole une fois côté client, chaque source de données l'implémente une fois côté serveur, et tout devient interopérable.

L'analogie USB-C

La comparaison la plus parlante reste celle de l'USB-C. Avant cette norme, chaque fabricant imposait son propre connecteur : micro-USB, Lightning, connecteurs propriétaires. Aujourd'hui, un seul câble suffit pour tout connecter.

MCP joue exactement ce rôle pour l'IA. Un seul protocole permet à n'importe quel LLM de communiquer avec n'importe quelle source de données ou outil externe. Cette standardisation élimine le vendor lock-in : vous pouvez passer de Claude à GPT sans réécrire vos intégrations.

Architecture technique de MCP

Architecture client-serveur MCP : Host, Clients et Serveurs communiquant via JSON-RPC 2.0
Architecture client-serveur MCP : Host, Clients et Serveurs communiquant via JSON-RPC 2.0

MCP s'inspire directement du Language Server Protocol (LSP), ce standard qui permet aux IDE de supporter n'importe quel langage de programmation via une interface commune. L'architecture repose sur quatre composants principaux.

Le Host

Le host est l'application IA principale : Claude Desktop, ChatGPT, Cursor, ou votre propre application. C'est lui qui orchestre les interactions, instancie les clients MCP et valide les connexions aux serveurs. Le host contrôle strictement quels serveurs peuvent être utilisés, offrant une couche de sécurité essentielle.

Le Client MCP

Chaque host contient un ou plusieurs clients MCP. Ces clients maintiennent des connexions persistantes avec les serveurs, gèrent le cycle de vie des requêtes et assurent la sécurité des échanges. Un client correspond généralement à une connexion vers un serveur spécifique.

Les Serveurs MCP

Les serveurs sont des programmes légers qui exposent des fonctionnalités spécifiques. Un serveur peut donner accès à une base de données PostgreSQL, à l'API GitHub, à un système de fichiers local, ou à n'importe quel service. Anthropic fournit des serveurs pré-construits pour Google Drive, Slack, GitHub, Git, Postgres et Puppeteer.

La couche Transport

MCP utilise JSON-RPC 2.0 comme format d'échange et supporte deux mécanismes de transport :

- STDIO : pour les intégrations locales où client et serveur tournent sur la même machine
- HTTP+SSE : pour les connexions distantes, avec HTTP pour les requêtes client et Server-Sent Events pour les réponses streaming du serveur

Les trois primitives MCP

Les trois primitives MCP : Tools (actions), Resources (données) et Prompts (templates)
Les trois primitives MCP : Tools (actions), Resources (données) et Prompts (templates)

Le protocole définit trois types de ressources que les serveurs peuvent exposer.

Tools (Outils)

Les tools sont des fonctions exécutables que le LLM peut appeler pour effectuer des actions : requêter une base de données, interagir avec une API, manipuler des fichiers. Chaque tool est défini par un nom, une description et un schéma de paramètres JSON.

server.tool(
  "search_database",
  "Recherche dans la base de données clients",
  {
    query: z.string().describe("La requête de recherche"),
    limit: z.number().optional().describe("Nombre max de résultats")
  },
  async ({ query, limit }) => {
    const results = await db.search(query, limit);
    return { content: [{ type: "text", text: JSON.stringify(results) }] };
  }
);

Resources (Ressources)

Les resources sont des données structurées accessibles en lecture : documents, fichiers de configuration, réponses d'API, bases de connaissances. Contrairement aux tools, les resources sont passives et ne modifient pas l'état du système.

Prompts

Les prompts sont des templates prédéfinis qui guident l'interaction entre le client et le modèle. Ils permettent de standardiser des workflows récurrents : analyse de code, génération de rapports, réponses à des questions types.

Créer son premier serveur MCP

La création d'un serveur MCP est remarquablement simple. Voici un exemple en TypeScript qui expose un outil de météo :

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",
  "Récupère la météo actuelle pour une ville",
  { city: z.string().describe("Nom de la ville") },
  async ({ city }) => {
    const response = await fetch(
      https://api.weather.com/current?city=${city}
    );
    const data = await response.json();
    return {
      content: [{ type: "text", text: Météo à ${city}: ${data.temp}°C }]
    };
  }
);

L'équivalent Python est tout aussi concis grâce à FastMCP :

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("weather")

@mcp.tool()
async def get_weather(city: str) -> str:
    """Récupère la météo actuelle pour une ville."""
    response = await fetch_weather(city)
    return f"Météo à {city}: {response['temp']}°C"

FastMCP utilise les type hints et docstrings Python pour générer automatiquement les définitions d'outils, réduisant le boilerplate au minimum.

Configurer Claude Desktop

Pour tester votre serveur avec Claude Desktop, éditez le fichier de configuration claude_desktop_config.json :

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/chemin/vers/weather-server/index.js"]
    }
  }
}

Au redémarrage, Claude Desktop détecte automatiquement le serveur et expose ses outils. L'utilisateur peut alors demander "Quelle est la météo à Paris ?" et Claude appellera l'outil approprié.

Sécurité et contrôle d'accès

MCP intègre la sécurité dès sa conception. Le host contrôle strictement quels serveurs peuvent être connectés, permettant aux organisations de gérer précisément les accès de leurs assistants IA.

Le concept de "Roots" permet de définir des périmètres filesystem. Un serveur de manipulation de fichiers peut être restreint à un répertoire spécifique, empêchant tout accès accidentel ou malveillant à des données sensibles.

Les tools nécessitent une approbation utilisateur avant exécution. Le LLM peut suggérer d'appeler un outil, mais c'est l'utilisateur ou le système qui valide l'action. Cette approche "human-in-the-loop" est essentielle pour les opérations sensibles.

Adoption massive en 2025

Écosystème MCP en expansion : plus de 1000 connecteurs et adoption par les géants tech
Écosystème MCP en expansion : plus de 1000 connecteurs et adoption par les géants tech

L'adoption de MCP a dépassé toutes les attentes. En février 2025, plus de 1000 connecteurs open-source étaient déjà disponibles. En mars 2025, OpenAI a officiellement adopté le protocole, l'intégrant dans l'application ChatGPT Desktop.

Les entreprises tech majeures ont embarqué :

- Block (Square) et Apollo : intégration en production
- Zed, Replit, Codeium, Sourcegraph : enrichissement de leurs IDE
- Microsoft : curriculum officiel "MCP for Beginners" et intégration Azure
- LangChain : support natif dans leurs SDK

Les SDKs officiels couvrent Python, TypeScript, C# (avec Microsoft), Kotlin (avec JetBrains) et PHP (avec la PHP Foundation).

Cas d'usage concrets

Agents de développement

Un agent de code peut accéder au repository Git, lire la documentation interne, exécuter des tests et créer des pull requests, le tout via des serveurs MCP standardisés. Cursor et GitHub Copilot exploitent cette approche.

Assistants d'entreprise

Un assistant interne peut interroger Salesforce pour les données clients, Jira pour les tickets, Confluence pour la documentation et Slack pour l'historique des conversations. Une seule interface, des données unifiées.

Automatisation de workflows

Les agents peuvent enchaîner des actions complexes : analyser un email entrant, créer un ticket, assigner la bonne équipe, et envoyer une notification, chaque étape utilisant un outil MCP dédié.

MCP vs alternatives

MCP n'est pas le seul protocole d'intégration IA, mais il présente des avantages distincts.

Face aux function calling propriétaires (OpenAI, Anthropic), MCP offre l'interopérabilité. Un serveur MCP fonctionne avec n'importe quel client compatible, sans modification.

Face aux plugins ChatGPT (désormais obsolètes), MCP est open-source, auto-hébergeable et ne dépend d'aucune marketplace.

Face aux intégrations custom, MCP réduit drastiquement le temps de développement et la maintenance grâce à sa standardisation.

L'avenir de MCP

Le protocole continue d'évoluer. Les prochaines versions devraient apporter :

- Streaming bidirectionnel amélioré pour les interactions en temps réel
- Authentification OAuth native pour les services cloud
- Métriques et observabilité standardisées
- Marketplace de serveurs certifiés

L'écosystème MCP s'enrichit quotidiennement. La communauté développe des serveurs pour tous les services imaginables : bases de données NoSQL, APIs de paiement, services IoT, outils de monitoring.

Conclusion

MCP représente un tournant dans l'évolution de l'IA agentique. En standardisant la communication entre LLM et outils externes, le protocole libère les développeurs des intégrations propriétaires et accélère considérablement le développement d'agents autonomes.

Pour les équipes qui construisent des applications IA, adopter MCP n'est plus optionnel. Le protocole est devenu le standard de l'industrie, supporté par tous les acteurs majeurs. Commencer aujourd'hui, c'est s'assurer que vos intégrations resteront pertinentes demain.

Le code source, la documentation et des centaines d'exemples sont disponibles sur le repository GitHub officiel. Microsoft propose également un curriculum gratuit "MCP for Beginners" pour une prise en main progressive.

L'ère des agents IA véritablement connectés ne fait que commencer.