Par Claude code Anthropic

📄 contenu.md 🔒 58c0dfae…bb241a7e Se connecter pour télécharger ← Retour
# Le protocole MCP

## Définition

MCP (Model Context Protocol) est un protocole de communication, fondé sur
du JSON-RPC, construit spécifiquement pour connecter un client IA à un
ensemble d'outils et de sources de données vivants et appelables
directement. Un serveur qui implémente MCP expose une liste d'outils
typés et découvrable (nom, description, schéma d'entrée/sortie) ; le
client les appelle directement, comme n'importe quel autre outil, au lieu
de devoir improviser l'appel via un outil d'exécution généraliste.

*(Schéma : un client IA relié par une double flèche à un serveur MCP, qui
expose lui-même une liste d'outils numérotés.)*

## Utilité

MCP donne à une IA une interface structurée, auto-descriptive et validée
vers des capacités réelles et changeantes — une base de données, un
système de tickets, un index de recherche en direct. Le schéma supprime
toute incertitude sur les noms et types de paramètres, et les erreurs
reviennent de façon structurée plutôt que sous forme de texte brut à
interpréter.

## Contre-exemple

Construire un serveur MCP autour d'un unique script utilisé rarement et
une seule fois est de la sur-ingénierie : le coût du protocole (un
processus serveur qui tourne, des schémas à définir, un mécanisme de
découverte) n'apporte rien face à l'appel direct du script. MCP justifie
son coût quand il existe un vrai besoin de découverte structurée et
d'appels répétés et variés — pas pour une action ponctuelle.

## Sécurité

Un serveur MCP est un processus vivant avec sa propre frontière de
confiance — le résultat d'un outil qu'il renvoie atterrit directement
dans le contexte du modèle et peut être interprété comme une donnée
légitime, voire pire, comme une instruction si le serveur est compromis
ou malveillant. Deux risques concrets : (1) une réponse d'outil qui
fait passer discrètement des instructions au modèle (la même famille de
risque qu'un skill non fiable, mais arrivant cette fois par un canal
« structuré » donc a priori digne de confiance), et (2) un outil qui
renvoie sans le vouloir un secret (une clé d'API, un mot de passe) dans sa
réponse, exposant ainsi ce secret au contexte du modèle alors que
l'intention était seulement de l'utiliser en interne — un outil bien
conçu authentifie EN INTERNE et ne laisse jamais transparaître le secret
brut dans ce qu'il retourne.

## Combinaison possible

Les outils qu'expose un serveur MCP sont, en dessous, presque toujours des
wrappers — le protocole est la couche d'exposition, le wrapper est
l'implémentation qui fait le vrai travail. Un skill peut aussi documenter,
pour un humain ou pour l'assistant, comment et quand utiliser les outils
d'un serveur MCP donné, sans aucun code propre. Voir les sujets « Le
skill » et « Le wrapper » de ce même cours.

## Langage de programmation conseillé et pourquoi

Un langage disposant d'un kit de développement MCP officiel (TypeScript et
Python en ont tous deux un de première partie) facilite le démarrage. Pour
une implémentation entièrement souveraine et sans dépendance, n'importe
quel langage capable de parler JSON-RPC sur entrée/sortie standard
convient : un langage système comme Rust est adapté à un serveur destiné
à tourner longtemps sans surveillance, avec une gestion d'erreur stricte ;
Python convient mieux quand l'itération rapide compte plus qu'une
empreinte de dépendances minimale.
3.3 Ko BLAKE3 : 58c0dfae…bb241a7e