Aller au contenu
Mastering Claude

Accueil / Étendre : compétences, MCP, sous-agents, hooks, plugins

Étendre : compétences, MCP, sous-agents, hooks, plugins8 minFondation

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.

Figure 1

Les trois primitives de MCP

PrimitiveCe que c'estQui déclenche l'appelCe qu'elle retourne
Outil (tool)Une fonction validée par un schéma d'argumentsClaude, seul, quand la tâche le demandeUn résultat calculé ou une action exécutée
Ressource (resource)Un contenu exposé en lecture, sans argumentClaude ou l'utilisateur, en lecture directeLe contenu tel quel, texte ou donnée structurée
Invite (prompt)Un gabarit de demande proposé par le serveurL'utilisateur, jamais Claude de sa propre initiativeUn texte de demande prêt à compléter
La comparaison croise chaque primitive avec ce qui la déclenche et ce qu'elle retourne à Claude, pour éviter de confondre un outil et une ressource.
Calibrez vous-même

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 qu’il faut retenir
  • 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.
À faire maintenant

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.

Vérifier à la source

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.