📱 Meilleure expérience en paysage
Tournez votre appareil pour profiter pleinement des animations et visualisations
Touchez l'écran pour ignorer
PROTOCOL VERSION 1.0

Le "Port USB-C"
pour l'Intelligence Artificielle

Les LLM sont des "cerveaux dans une boîte", isolés de vos données. MCP est le standard ouvert qui connecte l'intelligence aux outils et aux données réelles, remplaçant les intégrations API fragiles.

MCP PROTOCOL

Le paradoxe des IA modernes

Des cerveaux puissants, mais enfermés sans accès direct aux données en temps réel.

Un raisonneur sans action

Un LLM peut planifier et expliquer, mais il ne peut pas interroger une base de données, vérifier un agenda ou exécuter une commande sans intégration externe.

  • Les données utiles sont verrouillées derrière des applications (Salesforce, GitHub, Slack).
  • Sans connecteur, l'IA reste un “cerveau dans une boîte”.
  • Le défi : passer de “raisonneur” à “acteur” fiable.

Coffres de données verrouillés

CRM & Ventes
Fiches clients, opportunités et tickets restent hors de portée sans connecteur.

Les APIs : le pont actuel, mais fragile

Chaque intégration IA est un projet d'ingénierie coûteux et difficile à maintenir.

Descriptions d'outils

La documentation API doit être réécrite pour devenir précise, concise et compréhensible par une IA.

Ex: "GET /users/{id}" → schéma + description sémantique

Le Changement de Paradigme

Pourquoi les APIs traditionnelles échouent face aux workflows non déterministes des IAs.

Monde API (Legacy)

Machine → Machine

  • Attentes Rigides : Les endpoints et schémas doivent être connus à l'avance (design-time).
  • Sans Mémoire (Stateless) : L'agent doit renvoyer tout l'historique à chaque appel. Inefficace.
  • Erreurs Génériques : "HTTP 500" ne dit pas à l'IA comment se corriger.
  • Coût en Tokens : Réinjecter doc + contexte à chaque appel fait exploser les coûts.

Monde MCP

Intelligence → Machine

  • Découverte Dynamique : L'IA demande "Quels outils as-tu ?" et s'adapte (runtime).
  • État Persistant : Sessions, contexte et étapes multi-actions suivis nativement.
  • Feedback Sémantique : Erreurs en langage naturel ("paramètre manquant") permettant l'auto-correction.
  • Sécurité Granulaire : Permissions fines par outil, au lieu du "tout ou rien" des clés API.

Les super-pouvoirs natifs de MCP

MCP s'appuie sur les APIs existantes pour standardiser la découverte, le contexte et la sécurité.

Découverte

Outils dynamiques

Le serveur expose ses capacités à la demande, avec schémas et descriptions lisibles par machine.

tools/list → tools[] + inputSchema
Contexte

État persistant

Sessions, contexte et étapes multi-actions sont suivis par le protocole, pas par l'agent.

session_id + resume_state
Feedback

Erreurs sémantiques

Les erreurs sont compréhensibles par l'IA et déclenchent l'auto-correction.

error: "paramètre date manquant"
Sécurité

Permissions fines

Scopes par outil/ressource : créer une PR sans autoriser la suppression d'un dépôt.

scope: mcp:tools:write

🔄 Lifecycle d'une Requête MCP

Suivez le parcours complet d'une requête depuis l'utilisateur jusqu'à l'exécution

1. Utilisateur

"Quelle est la météo à Paris ?"

User Input

2. Claude (LLM)

Analyse l'intention et décide d'appeler un tool

Intent Recognition

3. MCP Client

Construit la requête JSON-RPC

{ "method": "tools/call", "params": {...} }

4. Transport

stdio / HTTP / SSE

Protocol Layer

5. MCP Server

Reçoit et valide la requête

Request Validation

6. Tool Execution

get_weather(city="Paris")

API Call → Weather Service

7. Response

Résultat formaté et renvoyé

{ "content": [{ "text": "15°C, Ciel dégagé" }] }

8. Réponse Finale

Claude formule la réponse naturelle

"Il fait 15°C à Paris avec un ciel dégagé"

📊 Métriques de Performance

LATENCE MOYENNE
~150ms
TOKENS UTILISÉS
30-50
ÉTAPES TOTAL
8

Voir MCP en Action

Exemples de code concrets pour démarrer rapidement

server.ts
// Définir un Tool MCP
const weatherTool = {
  name: "get_weather",
  description: "Récupère la météo pour une ville donnée",
  inputSchema: {
    type: "object",
    properties: {
      city: {
        type: "string",
        description: "Nom de la ville (ex: Paris)"
      },
      units: {
        type: "string",
        enum: ["celsius", "fahrenheit"],
        default: "celsius"
      }
    },
    required: ["city"]
  }
};

// Le serveur MCP expose ce tool
server.setRequestHandler(ListToolsRequestSchema, async () => {
  return { tools: [weatherTool] };
});
💡 Point clé :

L'IA découvre automatiquement ce tool et comprend son schéma. Pas besoin de documentation séparée !

index.ts
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

// Créer le serveur MCP
const server = new Server(
  {
    name: "weather-server",
    version: "1.0.0",
  },
  {
    capabilities: {
      tools: {},
    },
  }
);

// Handler pour l'appel du tool
server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "get_weather") {
    const { city } = request.params.arguments;

    // Appel à l'API météo
    const weather = await fetchWeather(city);

    return {
      content: [
        {
          type: "text",
          text: `Il fait ${weather.temp}°C à ${city}`
        }
      ]
    };
  }
});

// Démarrer le serveur
const transport = new StdioServerTransport();
await server.connect(transport);
✨ Résultat :

En ~30 lignes, vous avez un serveur MCP complet qui peut être utilisé par n'importe quel client MCP !

auth.ts
// Configuration OAuth 2.1 pour MCP
const server = new Server({
  name: "github-mcp",
  version: "1.0.0",
  authorization: {
    // Serveur d'autorisation externe (OAuth 2.1)
    authorizationServer: "https://github.com/login/oauth/authorize",
    tokenEndpoint: "https://github.com/login/oauth/access_token",

    // Resource Indicators (RFC 8707) pour la sécurité
    resourceIndicators: ["https://api.github.com"],

    // Scopes granulaires
    scopes: {
      "mcp:tools:read": "Lire les outils disponibles",
      "mcp:tools:write": "Créer des PRs et issues",
      "mcp:resources:read": "Lire les repos"
    }
  }
});

// Validation du token JWT
server.use(async (request, next) => {
  const token = request.headers.authorization?.split(' ')[1];

  // Vérifier signature JWT, expiration, scopes
  const payload = await verifyJWT(token);

  if (!payload.scopes.includes('mcp:tools:write')) {
    throw new Error('Scope insuffisant');
  }

  return next();
});
🔐 Sécurité Enterprise :

OAuth 2.1 + Resource Indicators = protection contre les tokens compromis. Le serveur ne gère que la validation, pas l'authentification.

messages.json
// Requête: L'IA demande les outils disponibles
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

// Réponse: Le serveur expose ses capacités
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "description": "Récupère la météo",
        "inputSchema": {
          "type": "object",
          "properties": {
            "city": { "type": "string" }
          },
          "required": ["city"]
        }
      }
    ]
  }
}

// Requête: L'IA appelle le tool (erreur volontaire)
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": {}  // Oups, paramètre "city" manquant
  }
}

// Réponse: Erreur sémantique (pas HTTP 400)
{
  "jsonrpc": "2.0",
  "id": 2,
  "error": {
    "code": -32602,
    "message": "Paramètre manquant: 'city' est requis",
    "data": {
      "expected": ["city"],
      "received": []
    }
  }
}

// L'IA COMPREND l'erreur et réessaie automatiquement ✨
⚡ Auto-Correction :

Contrairement à "HTTP 400 Bad Request", l'erreur MCP explique exactement ce qui manque. L'IA peut se corriger seule !

Économies Réelles de Tokens

MCP réduit drastiquement les coûts grâce au contexte persistant et aux erreurs sémantiques

API Traditionnelle

0

Tokens consommés par interaction

  • Contexte réinjecté à chaque appel
  • Documentation complète dans le prompt
  • Multiples tentatives pour erreurs vagues
  • Historique de conversation répété

MCP

0

Tokens consommés par interaction

  • Session stateful (pas de répétition)
  • Schémas exposés dynamiquement
  • Erreurs sémantiques = correction immédiate
  • Contexte maintenu côté serveur

Jusqu'à 70% d'économies

Sur un projet typique avec 1000 interactions/jour, MCP peut réduire vos coûts de tokens de 1000€/mois à 300€/mois.

0

% tokens économisés

0

x plus rapide

0

% erreurs évitées

Simulation Interactive

Observez comment le feedback sémantique de MCP sauve la conversation.

API Classique

> En attente...

Protocole MCP

HOST (IA)
SERVER
Console
Inspection JSON-RPC
> Prêt pour connexion...
// Trafic JSON-RPC

🧪 Testez MCP en Direct

Envoyez de vraies requêtes JSON-RPC à un serveur MCP simulé

Construire une requête

Réponse du serveur

Requête JSON-RPC →
Sélectionnez un outil et remplissez les paramètres
← Réponse JSON-RPC
En attente de requête...
Comment ça marche ?

Ce sandbox simule un vrai serveur MCP côté client. Choisissez un outil, remplissez les paramètres (ou laissez-les vides pour tester une erreur), et voyez la magie du feedback sémantique MCP en action. Contrairement à une API qui renverrait "HTTP 400", MCP vous explique exactement ce qui manque !

🔧 Les 3 Primitives MCP en Détail

Explorez les trois types d'interactions que MCP standardise

🔧 Tools

Fonctions exécutables

Actions que l'IA peut invoquer pour interagir avec des systèmes externes

get_weather(city: string) send_email(to, subject, body) create_pr(repo, title, branch) search_database(query)

📄 Resources

Données en lecture seule

Contenus que l'IA peut consulter mais pas modifier (contexte, documentation)

file://docs/README.md db://users/schema api://github/repos memory://session/context

💬 Prompts

Templates réutilisables

Instructions pré-définies que l'IA peut invoquer comme des workflows

code-review(file_path) translate(text, target_lang) summarize(document) debug(error_trace)

Quelle primitive choisir ?

  • Tools → Actions qui modifient l'état (écriture, création, suppression)
  • Resources → Données statiques ou en lecture seule (documentation, contexte)
  • Prompts → Workflows complexes réutilisables (templates, processus)

Architecture & Sécurité

Hôte (Application IA)

Orchestration, permissions et interprétation des intentions. Le LLM ne parle jamais directement aux outils.

  • Gère la session et l'expérience utilisateur.
  • Transforme l'intention en requêtes MCP.
  • Décide des permissions accordées.
Intention → requête MCP → exécution → réponse structurée

Outils (Tools)

Fonctions exécutables (Model-Controlled). L'IA décide de les appeler pour agir (ex: requête SQL, créer fichier).

Ressources

Données en lecture seule (Application-Controlled). Comme des fichiers virtuels que l'IA peut lire pour le contexte.

Prompts

Templates réutilisables (User-Controlled). Guides pré-écrits pour aider l'utilisateur et l'IA.

🎮 Playground Interactif

Cliquez sur les primitives ci-dessous pour construire votre serveur MCP

Primitives disponibles

Mon serveur MCP

Ajoutez des primitives pour commencer

OAuth 2.1 Sequence Flow

Cliquez sur chaque étape pour voir le détail du flux d'authentification délégué

Client MCP
Application IA
Auth Server
Auth0, Okta
Utilisateur
Humain
MCP Server
API Gateway

Étape 1 : Demande d'autorisation (Authorization Request)

Le client MCP initie le flux OAuth en redirigeant vers le serveur d'autorisation avec PKCE (Proof Key for Code Exchange) pour prévenir les attaques.

GET /authorize? response_type=code &client_id=mcp_client_123 &redirect_uri=https://app.com/callback &scope=mcp:tools:read mcp:tools:write &code_challenge=ABC123... ← PKCE &resource=https://api.github.com ← Resource Indicator (RFC 8707)
PKCE protège contre l'interception Resource Indicator limite le scope du token
✨ Avantage clé :

Le serveur MCP ne stocke jamais de credentials. Il délègue l'authentification à un service spécialisé (Auth0, Okta) et ne fait que valider les tokens JWT.

Écosystème Connecté

Un Client unique. Une infinité de Serveurs.

Constructeur de serveur MCP

  • Encapsuler APIs existantes ou logique métier dans les primitives MCP.
  • Écrire l'intégration une seule fois, réutilisable par tout agent.
  • Bénéficier du contexte, des erreurs sémantiques et des permissions natives.
  • À l'échelle, utiliser un MCP Gateway comme reverse proxy spécialisé.

Utilisateur d'outils MCP

  • Connecter un agent à un serveur sans gérer les détails du protocole.
  • Découvrir automatiquement capacités, schémas et permissions.
  • Réduire le “heavy lifting” : mapping prompts → fonctions géré côté serveur.
  • Se concentrer sur le produit et les workflows, pas l'intégration.
CLAUDE (Hôte)
Git Server
Postgres
Drive

MCP vs API traditionnelle

Comparaison point par point sur les besoins des agents IA.

Caractéristique
API (Traditionnelle)
MCP
Découverte d'outils
Manuelle, codée en dur, doc à lire.
Dynamique, schémas exposés à l'exécution.
Contexte / État
Stateless, géré côté agent.
Stateful, suivi de session intégré.
Gestion d'erreurs
HTTP 400/500 génériques.
Feedback riche et sémantique.
Flexibilité
Très élevée, tout est personnalisable.
Plus opinionné pour cohérence agent-native.
Effort d'intégration IA
Élevé, adaptateurs manuels.
Minimal, interfaces standardisées.
Préparation pour agents
Pas conçu pour le non-déterminisme.
Nativement pensé pour les agents IA.
Compatibilité legacy
Excellente avec les systèmes existants.
Adaptateurs parfois nécessaires.
Maturité écosystème
Très mature, largement adopté.
Émergent, croissance rapide.
Cas d'usage optimal
Contrôle fin, legacy, personnalisation.
Simplicité, automatisation, agent-native.

Les compromis de MCP

MCP n'est pas magique : il introduit sa propre couche d'abstraction.

Moins de flexibilité pour le legacy

Les processus métiers très spécifiques ou historiques sont parfois difficiles à adapter aux primitives MCP.

Dépend toujours d'APIs sous-jacentes

La plupart des serveurs MCP encapsulent des APIs existantes, ajoutant une couche de conversion.

Limites de composition à grande échelle

Chaîner de nombreux processus stateful peut atteindre les limites des clients actuels.

Écosystème encore jeune

Les workflows avancés restent parfois mieux servis par des APIs directes et matures.

Quand une API reste le meilleur choix

Si la flexibilité maximale, le contrôle direct ou l'intégration avec des services non modifiables sont non négociables, l'API traditionnelle reste la meilleure option.

Connecter des machines vs connecter l'intelligence

La différence n'est pas seulement technique. MCP ajoute une couche sémantique pour rendre les APIs utilisables par l'IA.

API traditionnelles

Conçues pour des développeurs humains, du code déterministe et des secrets gérés côté client.

MCP

Conçu pour des agents IA : capacités décrites sémantiquement, permissions fines, contexte partagé.

L'avenir est hybride : APIs pour la puissance brute, MCP pour l'efficacité agent-native.

📈 Success Stories

Entreprises qui ont adopté MCP avec succès

🚀

TechStartup SaaS

Plateforme d'automatisation B2B

Le Défi

12 intégrations API différentes (Salesforce, GitHub, Slack, etc.) à maintenir manuellement. Chaque nouvelle intégration prenait 2 semaines de développement. Coûts tokens explosifs : 3500€/mois.

La Solution MCP

Migration vers une architecture MCP-first. Toutes les intégrations converties en serveurs MCP standardisés. Découverte dynamique + feedback sémantique = agents autonomes.

Résultats (3 mois)

⏱️ Temps d'intégration -85% (2h vs 2 semaines)
💰 Coûts tokens -67% (1150€ vs 3500€/mois)
🐛 Bugs d'intégration -92%
⚡ Vélocité produit +3.5x plus rapide
🏢

Enterprise Corp

Fortune 500 - Secteur Finance

Le Défi

Agent IA interne devait accéder à 47 systèmes legacy différents. Sécurité critique : chaque clé API = risque. APIs hétérogènes = code spaghetti. Contexte perdu entre appels = expérience utilisateur désastreuse.

La Solution MCP

Déploiement progressif de MCP Gateway comme proxy unifié. OAuth 2.1 + Resource Indicators pour sécurité enterprise. Sessions stateful = contexte préservé. Permissions granulaires par outil.

Résultats (6 mois)

🔐 Incidents sécurité -100% (0 breach)
👥 Satisfaction utilisateur +78% (NPS: 42 → 75)
⚙️ Maintenance annuelle -450k€ économisés
📊 Temps de réponse IA -55% (4.2s → 1.9s)

💰 Calculez Votre ROI

Estimez vos économies potentielles avec MCP

Vos Économies Estimées

Économie mensuelle
0€
Économie annuelle
0€
0h
Temps dev économisé
0%
Tokens économisés
0 mois
Retour sur investissement
ℹ️ Note : Calculs basés sur des moyennes industrie. Réduction tokens: 70%, temps dev: 85%, coût implémentation MCP: ~5000€.

🌍 Adoption Mondiale

L'écosystème MCP grandit chaque jour

Novembre 2024

Lancement par Anthropic

Annonce officielle du protocole MCP au monde

Mars 2025

Adoption par OpenAI

Intégration officielle dans ChatGPT Desktop

Juin 2025

Spec OAuth 2.1

Maj majeure : Resource Indicators + PKCE obligatoire

Décembre 2025

Support officiel Google

Google Cloud + Gemini intègrent MCP nativement

100+
Serveurs MCP publics
15K+
Développeurs actifs
5
Entreprises Fortune 500
3
Fondations soutien (Linux, AAIF)

📚 Sources & Références

Cette présentation s'appuie sur la documentation officielle et les analyses de la communauté technique internationale.

Note sur les sources

Cette présentation compile et synthétise les connaissances de 31 sources techniques provenant de la documentation officielle d'Anthropic, d'analyses d'experts en architecture logicielle, et de retours d'expérience de la communauté internationale. Toutes les sources sont accessibles en ligne et régulièrement mises à jour par leurs auteurs respectifs.

VIGILANCE SÉCURITÉ

🚨 MCP Poisoning : La Menace Invisible

Le Model Context Protocol introduit de nouveaux vecteurs d'attaque sophistiqués. Comprendre ces risques est essentiel pour un déploiement sécurisé.

Qu'est-ce que le MCP Poisoning ?

Le MCP poisoning désigne plusieurs vecteurs d'attaque qui exploitent les vulnérabilités du Model Context Protocol. Ces attaques injectent des instructions malveillantes dans les métadonnées, descriptions ou paramètres des outils MCP.

Le problème : Les LLMs utilisent ces descriptions pour comprendre comment utiliser les outils. Les contenus empoisonnés peuvent forcer le modèle à des comportements dangereux, invisibles pour l'utilisateur mais visibles pour l'IA.

Vecteurs d'Attaque Principaux

🧰

Tool Poisoning

Injection d'instructions malveillantes dans les métadonnées des outils. L'IA exécute des commandes cachées : lecture de fichiers sensibles, exfiltration de données, actions non autorisées.

💉

Prompt Injection MCP

Les serveurs MCP peuvent créer des prompts et demander des complétions. Ils injectent des instructions cachées, manipulent les sorties et influencent les exécutions d'outils suivantes.

📚

Data Poisoning

Contenu malveillant intégré dans les sources de données externes. Traité comme fiable, il influence le raisonnement du modèle et déclenche des actions non intentionnelles.

🎯

Sampling Exploitation

Vol de ressources (quotas IA), hijacking de conversations, invocations d'outils à l'insu de l'utilisateur via les requêtes de complétion MCP.

🔗

Rug Pull Attacks

Les outils MCP peuvent muter leurs définitions après installation. Approuvé au départ, le comportement change silencieusement pour voler API keys et données.

🎭

Confused Deputy

Serveurs proxy exploités pour obtenir des codes d'autorisation sans consentement utilisateur. L'IA est piégée dans des décisions d'autorisation au nom des utilisateurs.

CVEs Critiques Documentées (2025)

CVE-2025-49596 - MCP Inspector RCE

CVSS 9.4 - CRITIQUE
Juillet 2025

Remote Code Execution dans l'outil MCP Inspector d'Anthropic. Simple visite d'un site malveillant → exécution de code arbitraire sur machine développeur.

Impact : 560 instances exposées sur Shodan • Compromission complète du système
Fix : Upgrade vers MCP Inspector v0.14.1+

CVE-2025-6514 - mcp-remote RCE

CVSS 9.6 - CRITIQUE
Juillet 2025

Command Injection dans le package mcp-remote. Premier cas de RCE complet contre un client MCP. Serveurs malveillants peuvent exécuter du code arbitraire.

Impact : 437,000+ téléchargements affectés • Compromission système complète
Statut : Patchée, mise à jour obligatoire

Statistiques de Sécurité (Recherche Mars 2025)

43%
Implémentations avec Command Injection
30%
URL Fetching non restreint
7.2%
Serveurs avec vulnérabilités générales
492
Serveurs exposés sans auth

Checklist de Sécurité Essentielle

Authentification & Autorisation

  • Implémenter OAuth 2.1 avec scopes granulaires
  • Tokens courte durée + refresh token flow
  • Valider TOUS les tokens entrants
  • Ne jamais utiliser de simples API keys

Principe du Moindre Privilège

  • Permissions minimales nécessaires uniquement
  • Scopes granulaires (read:calendar, pas read:drive)
  • Lier permissions à l'identité utilisateur
  • Agents = même accès que l'utilisateur (jamais plus)

Human-in-the-Loop (CRITIQUE)

  • Confirmation OBLIGATOIRE actions sensibles
  • Marquer outils avec is_consequential: true
  • Permettre refus d'invocation d'outils
  • "SHOULD" du protocole = "MUST" en production

Sandboxing & Isolation

  • Exécuter serveurs MCP dans des environnements isolés
  • Privilèges minimaux par défaut
  • Conteneurisation Docker recommandée
  • Bind 127.0.0.1 (JAMAIS 0.0.0.0)

Validation & Monitoring

  • Filtrer inputs pour commandes cachées
  • Valider path (prévenir ../../etc/passwd)
  • Logging obligatoire de toutes actions
  • Monitoring comportement anormal

Sécurité Supply Chain

  • Épingler (pin) versions serveurs MCP
  • Notifier changements post-installation
  • Audit avant déploiement (surtout npx)
  • Inventaire maintenu de tous serveurs
⚠️

Le Protocole NE Peut PAS Garantir la Sécurité

La sécurité dépend ENTIÈREMENT de l'implémentation correcte, des contrôles opérationnels et de la gouvernance organisationnelle. MCP est un protocole puissant mais intrinsèquement risqué sans mesures appropriées.

Best Practices Officielles Recherche Académique