Accueil / Étendre : compétences, MCP, sous-agents, hooks, plugins
MCP : le protocole de connexion
MCP est le standard ouvert qui connecte Claude à des outils et à des données externes autour de trois primitives : les outils qu'il peut appeler, les ressources qu'il peut lire, les invites réutilisables qu'il peut proposer.
Model Context Protocol, abrégé MCP, est un standard ouvert qui décrit comment un assistant comme Claude Code se connecte à des outils et à des données qui vivent en dehors de lui, une base de données, une API, un système de tickets. Un serveur MCP est un petit programme qui parle ce protocole et expose trois choses distinctes à Claude : des outils qu'il peut appeler avec des arguments, des ressources qu'il peut lire comme un contenu, et des invites, des gabarits de demande prêts à l'emploi que l'utilisateur déclenche lui-même. Ces trois primitives ne se substituent pas l'une à l'autre, et confondre outil et ressource fait rater la moitié de ce qu'un serveur MCP propose réellement.
Trois primitives, trois déclencheurs
Un outil (tool) est une fonction. Claude décide seul de l'appeler quand la tâche le demande, avec des arguments validés contre un schéma déclaré par le serveur. Une ressource (resource) est un contenu exposé comme une donnée à lire, un fichier de configuration distant ou le contenu d'une page interne, sans argument ni effet de bord. Une invite (prompt) est un gabarit de demande que le serveur propose, mais que seul l'utilisateur déclenche explicitement, jamais Claude de sa propre initiative. La figure qui suit croise ces trois primitives sur ce qui les déclenche et sur ce qu'elles retournent.
Où l'enregistrement vit réellement
Un serveur MCP se déclare dans un fichier de configuration, pas dans les réglages généraux du harnais. Deux emplacements coexistent : un fichier .mcp.json à la racine du projet, partagé par le dépôt git et donc visible par toute l'équipe, ou l'entrée mcpServers du fichier ~/.claude.json, en portée utilisateur ou locale, propre à votre poste. Un serveur déclaré dans .mcp.json et connecté à une API qui exige une clé privée expose cette clé à quiconque clone le dépôt, ce qui pousse à préférer la portée utilisateur pour tout ce qui porte un identifiant personnel. Un exemple minimal de déclaration :
{
"mcpServers": {
"depot-tickets": {
"command": "node",
"args": ["./serveurs/tickets.js"]
}
}
}
Rien ici ne passe par un fichier settings.json au sens strict, une confusion fréquente puisque settings.json gère les permissions et non les connexions. La leçon suivante détaille comment ajouter un serveur en ligne de commande et vérifier son état de connexion.
Les trois primitives de MCP
| Primitive | Ce que c'est | Qui déclenche l'appel | Ce qu'elle retourne |
|---|---|---|---|
| Outil (tool) | Une fonction validée par un schéma d'arguments | Claude, seul, quand la tâche le demande | Un résultat calculé ou une action exécutée |
| Ressource (resource) | Un contenu exposé en lecture, sans argument | Claude ou l'utilisateur, en lecture directe | Le contenu tel quel, texte ou donnée structurée |
| Invite (prompt) | Un gabarit de demande proposé par le serveur | L'utilisateur, jamais Claude de sa propre initiative | Un texte de demande prêt à compléter |
Un développeur ouvre le panneau qui liste les outils exposés par un serveur MCP connecté à son projet, et trouve une entrée nommée lire_ticket dont la description tient en neuf mots et dont le schéma exige un identifiant numérique en argument.
Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.
Ce que cela établit : Cette situation établit que ce serveur MCP expose au moins un outil appelable, nommé lire_ticket, dont la description tient en neuf mots et dont le schéma contraint l'argument à un identifiant numérique.
Ce que cela n’établit pas : Elle n'établit pas que ce serveur expose aussi des ressources ou des invites, ni que cette description de neuf mots suffira à Claude pour choisir cet outil au bon moment plutôt qu'un autre.
Les trois calibrages faux les plus courants
- Trop large Ce serveur MCP expose les trois primitives du protocole, outils, ressources et invites, puisqu'il s'agit d'un serveur MCP complet.
- Trop étroit Cette entrée ne prouve rien, puisqu'une seule primitive parmi celles possibles a été regardée dans ce panneau.
- À côté La description de neuf mots suffit à garantir que Claude choisira cet outil au moment approprié plutôt qu'un autre.
- Un outil MCP est une fonction que Claude appelle seul quand la tâche le justifie, une ressource est un contenu qu'il lit sans argument, et une invite est un gabarit que seul l'utilisateur déclenche.
- Un serveur MCP s'enregistre dans un fichier .mcp.json partagé par le dépôt ou dans l'entrée mcpServers de ~/.claude.json, jamais dans settings.json.
- La portée projet, portée par .mcp.json, partage la configuration avec toute l'équipe via git, ce qui expose une clé privée écrite en clair à quiconque clone le dépôt.
- Confondre les trois primitives fait rater la moitié de ce qu'un serveur MCP propose réellement, puisque chacune répond à un déclencheur différent.
Ouvrez, sur votre poste, le fichier ~/.claude.json s'il existe déjà, ou créez un fichier .mcp.json vide dans un dossier de test, et repérez à quel niveau, projet ou utilisateur, vous voudriez enregistrer un futur serveur MCP selon qu'il porte une clé privée ou non.
Chaque affirmation datable de cette leçon renvoie ici au texte public qui la porte. Une source qui ne s’ouvre pas ne prouve rien.
- Claude Code, documentation du Model Context Protocol consultée le 2026-09-02