Serveur MCP : comprendre le protocole et le connecter à Claude Code

Un serveur MCP relie un assistant IA à un outil ou à une source de données. Il décrit les opérations disponibles, reçoit les demandes du client et renvoie leurs résultats selon le Model Context Protocol. Dans Claude Code, cette connexion peut servir à consulter un service distant ou à appeler un programme local. Elle n’accorde pas, à elle seule, un droit d’accès : les permissions dépendent du serveur et du compte qui l’alimente.

Ce guide décrit le fonctionnement, les deux modes de connexion courants et les vérifications utiles avant d’autoriser un serveur. Commandes et interfaces relues le 6 octobre 2026 dans la documentation Claude Code et la documentation du protocole.

Ce que fournit un serveur MCP

MCP organise l’échange entre une application hôte, un client et un serveur. Le serveur peut annoncer des outils, que le client peut appeler, des ressources, qu’il peut lire, et des modèles de prompts. L’application découvre ces capacités à la connexion. Un outil de recherche documentaire, par exemple, peut accepter une requête et renvoyer des résultats ; un outil d’édition peut modifier des données si le serveur et ses autorisations le permettent. Le protocole décrit l’interface, pas la fiabilité du contenu reçu ni les droits à attribuer.

Une API expose directement des opérations d’un service. Un serveur MCP présente certaines de ces opérations dans un format que plusieurs clients IA savent découvrir et appeler. Un skill Claude Code contient surtout des instructions et des ressources pour guider une tâche. Le skill peut expliquer quand utiliser un outil MCP, mais il ne remplace pas la connexion et ses autorisations.

Brancher un serveur distant à Claude Code

Pour un service hébergé, la documentation Claude Code recommande le transport HTTP. La commande a cette forme, avec un nom local et l’adresse fournie par l’éditeur du serveur :

claude mcp add --transport http exemple https://mcp.example.com/mcp

mcp.example.com est une adresse illustrative : elle ne désigne pas un service à installer. Après l’ajout, claude mcp list affiche les serveurs configurés et leur état. Dans une session Claude Code, /mcp permet aussi de voir l’état de connexion. Un message confirmant l’ajout indique que la configuration a été enregistrée ; il faut vérifier séparément que le serveur est connecté et, si nécessaire, authentifié.

L’authentification dépend du service. Un serveur distant peut demander une connexion OAuth ou un autre mécanisme documenté par son éditeur. Les portées OAuth déterminent les permissions demandées : un accès en lecture ne doit pas être remplacé par un accès en écriture simplement parce qu’il est proposé par défaut. La documentation Claude Code prévoit un réglage des portées pour les serveurs qui utilisent OAuth. Les identifiants ne doivent jamais être copiés dans une page publique ni dans un fichier de configuration versionné.

Brancher un programme local

Un serveur local tourne comme un processus sur la machine. Claude Code communique alors avec lui par l’entrée et la sortie standard, appelées stdio. La forme officielle de la commande est :

claude mcp add --transport stdio exemple -- node ./serveur.mjs

Ici, ./serveur.mjs représente un programme déjà présent et vérifié ; cette ligne n’installe aucun serveur. Le séparateur -- distingue les options de Claude Code de la commande qui lance le programme. L’adresse d’un serveur distant et le nom d’un paquet local doivent venir de la documentation de leur mainteneur. Exécuter un paquet inconnu revient à lui donner les droits du compte local qui le lance.

La portée compte également. Sans option supplémentaire, claude mcp add enregistre la configuration pour le projet courant. Une configuration de projet peut être partagée via .mcp.json, mais chacun doit examiner les serveurs qu’elle déclare avant de les approuver. Une entrée enregistrée et une connexion saine restent deux contrôles distincts.

Limiter les droits et les serveurs

Le choix d’un serveur part de l’opération réellement nécessaire. Si la tâche consiste à chercher un message, un accès qui sait aussi envoyer ou supprimer des messages élargit inutilement les possibilités d’action. Lorsque le fournisseur le permet, des portées OAuth limitées, un compte dédié ou un serveur qui n’expose que des outils de lecture réduisent ce périmètre. Le nom « lecture seule » dans une instruction ne suffit pas : il faut vérifier les permissions accordées et la liste effective des outils.

Chaque serveur ajouté fournit de nouvelles capacités et, parfois, de nouveaux contenus à analyser. Des outils proches peuvent créer des ambiguïtés ; un contenu externe peut contenir une instruction malveillante. La documentation d’Anthropic demande de vérifier la confiance accordée au serveur et signale explicitement le risque d’injection de prompt lorsque celui-ci récupère du contenu externe. Cela concerne aussi un serveur parfaitement légitime qui lit une page ou un message rédigé par un tiers.

Une vérification simple consiste à comparer la liste des outils affichés avec le besoin initial, puis à tester une requête de lecture sans donnée sensible. Si le serveur demande une autorisation supplémentaire, échoue à se connecter ou renvoie des résultats inattendus, le diagnostic doit précéder tout élargissement des droits. Le guide Claude Code regroupe les autres mécanismes de personnalisation ; la page CLAUDE.md traite les instructions persistantes, qui jouent un rôle différent de MCP.