MCP : brancher Claude Code sur vos outils (navigateur, bases, APIs)
Connectez Claude Code à votre navigateur, vos bases de données et vos APIs grâce au protocole MCP : ajout de serveurs, scopes, .mcp.json et sécurité.
- Ajouter et gérer des serveurs MCP locaux et distants avec claude mcp add, list et remove
- Choisir le bon scope (local, project, user) et partager une configuration d'équipe via .mcp.json
- Exploiter les outils, ressources et prompts MCP : navigateur, base de données, GitHub
- Évaluer la fiabilité d'un serveur MCP tiers avant de le brancher
Jusqu’ici, Claude Code vit dans une bulle : il voit vos fichiers, votre terminal et votre dépôt git, mais rien d’autre. Votre base de données ? Invisible. Votre navigateur ? Hors de portée. Vos issues GitHub ? Il faut les copier-coller à la main. Dans ce module, vous allez percer cette bulle grâce à MCP, le protocole qui branche Claude Code sur le monde extérieur. C’est le module qui transforme un bon assistant en véritable couteau suisse.
Ce que vous allez apprendre
- Comprendre ce qu’est le protocole MCP et ce qu’un serveur apporte : outils, ressources et prompts
- Ajouter, lister et retirer des serveurs avec claude mcp add, claude mcp list et claude mcp remove
- Choisir le bon scope — local, project ou user — et partager un fichier .mcp.json avec votre équipe
- Brancher trois serveurs concrets : un navigateur, une base Postgres et GitHub
- Adopter les réflexes de sécurité indispensables avant d’installer un serveur tiers
MCP, le port USB universel de l’IA
Posons d’abord le problème. Claude Code excelle dans votre projet : il lit vos fichiers, lance vos tests, fouille votre historique git. Mais dès que l’information vit ailleurs, il est aveugle. Combien de commandes hier dans votre boutique en ligne ? Impossible à savoir : la réponse dort dans votre base de données. Ce parcours d’inscription fonctionne-t-il toujours ? Il faudrait un navigateur pour le vérifier. Que raconte l’issue numéro 123 ? Il faudrait la coller dans la conversation.
C’est exactement le problème que résout MCP, pour Model Context Protocol. Un protocole, c’est un ensemble de règles de communication que tout le monde accepte de respecter. MCP est un protocole ouvert : n’importe qui peut créer un serveur MCP, c’est-à-dire un petit programme qui expose des capacités à une IA. Pensez au port USB de votre ordinateur. Peu importe la marque du clavier, de la souris ou du disque externe : si l’appareil parle USB, il fonctionne. MCP joue le même rôle pour Claude Code. Chaque serveur est un périphérique, et le branchement est standardisé.
Concrètement, un serveur MCP peut apporter trois choses :
- des outils : des actions que Claude peut déclencher — interroger une base, ouvrir une page web, créer une issue ;
- des ressources : des données consultables — le schéma d’une table, le contenu d’un ticket, une documentation ;
- des prompts : des recettes prêtes à l’emploi, fournies par le serveur, que vous déclenchez comme des commandes slash.
Retenez ce triptyque : outils pour agir, ressources pour consulter, prompts pour accélérer. Tout le reste du module en découle.
Brancher votre premier serveur
Il existe deux grandes familles de serveurs. Les serveurs locaux, d’abord : de simples programmes qui tournent sur votre machine et dialoguent avec Claude Code par leur entrée et sortie standard — le canal dit stdio. Et les serveurs distants : des services hébergés sur Internet, auxquels Claude Code parle en HTTP, le protocole du web.
Pour un serveur local, la commande est claude mcp add, suivie d’un nom de votre choix, d’un double tiret, puis de la commande qui lance le serveur :
# Syntaxe générale : tout ce qui suit -- est la commande du serveur
claude mcp add <nom> -- <commande> [arguments...]
# Exemple concret : le serveur navigateur Playwright
claude mcp add playwright -- npx @playwright/mcp@latest
⚠️ Piège courant — Le double tiret n’est pas décoratif. Il sépare les options de Claude Code de la commande du serveur. Si vous l’oubliez et que votre serveur possède ses propres options, Claude Code essaiera de les interpréter comme les siennes, et l’ajout échouera. Le réflexe à prendre : nom du serveur, double tiret, commande complète.
Pour un serveur distant, on précise le transport, c’est-à-dire le canal de communication, avec l’option —transport :
# Serveur distant en HTTP (le cas le plus courant)
claude mcp add --transport http <nom> <url>
# Certains serveurs plus anciens utilisent encore le transport SSE
claude mcp add --transport sse <nom> <url>
Ensuite, la gestion tient en trois commandes de terminal, plus une dans la session :
claude mcp list # tous vos serveurs et leur état
claude mcp get playwright # le détail d'un serveur précis
claude mcp remove playwright # suppression du serveur
La quatrième se tape directement dans la conversation : /mcp. Elle affiche l’état de chaque serveur connecté, la liste de ses outils, et gère l’authentification. Beaucoup de serveurs distants utilisent OAuth, un standard d’authentification : vous tapez /mcp, votre navigateur s’ouvre, vous vous connectez chez le service, et c’est terminé. Votre mot de passe ne transite jamais par le terminal, et le jeton d’accès est stocké de façon sécurisée.
Les scopes : pour vous, pour l’équipe, pour partout
Une question se pose vite : où cette configuration est-elle enregistrée, et qui en profite ? C’est la notion de scope, la portée d’un serveur. Il en existe trois.
Le scope local est celui par défaut. Le serveur n’existe que pour vous, et uniquement dans le projet où vous avez lancé la commande. Parfait pour expérimenter, ou pour un serveur qui embarque des identifiants personnels.
Le scope project partage le serveur avec toute l’équipe. La configuration est écrite dans un fichier .mcp.json à la racine du projet, prévu pour être versionné — c’est-à-dire suivi par git et distribué avec le dépôt. Chaque collègue qui clone le projet récupère la même configuration.
Le scope user, enfin, vous suit partout : le serveur devient disponible dans tous vos projets, tout en restant privé.
# Pour toute l'équipe : écrit dans .mcp.json à la racine du projet
claude mcp add --transport http sentry --scope project https://mcp.sentry.dev/mcp
# Pour vous, dans tous vos projets
claude mcp add --transport http notion --scope user https://mcp.notion.com/mcp
Et voici à quoi ressemble le fichier .mcp.json :
{
"mcpServers": {
"base-boutique": {
"command": "npx",
"args": ["-y", "@bytebase/dbhub", "--dsn", "${DATABASE_URL}"],
"env": {}
}
}
}
Un détail rassurant : quand un .mcp.json arrive par un dépôt cloné, Claude Code ne l’exécute pas aveuglément. Il vous demande d’approuver chaque serveur avant la première utilisation. Personne ne fait tourner du code sur votre machine simplement parce que vous avez cloné un projet.
💡 Astuce — Vous avez refusé un serveur projet par prudence, puis changé d’avis ? La commande claude mcp reset-project-choices remet les compteurs à zéro : Claude Code vous redemandera l’approbation au prochain lancement.
⚠️ Piège courant — Ne mettez jamais un mot de passe ou une clé d’API en clair dans un .mcp.json versionné : tout le dépôt y aurait accès. Utilisez l’expansion de variables : la syntaxe ${DATABASE_URL} est remplacée au chargement par la variable d’environnement du même nom, propre à chaque machine. La forme ${VAR:-defaut} fournit même une valeur de repli si la variable n’existe pas.
Trois branchements qui changent le quotidien
Assez de théorie. Voici trois serveurs qui montrent ce que MCP change vraiment dans une journée de travail.
Un navigateur piloté par Claude
Le serveur Playwright donne à Claude Code un vrai navigateur : il peut ouvrir des pages, cliquer, remplir des formulaires et lire ce qui s’affiche. Après le claude mcp add playwright vu plus haut, essayez ceci dans une session :
Ouvre la page d'inscription de mon site en local, remplis le
formulaire avec des données de test et dis-moi si la validation
des champs fonctionne correctement.
Claude ouvre la page, clique, tape, lit les messages d’erreur et vous livre un rapport. Vous venez de transformer un assistant de code en testeur de parcours utilisateur.
Votre base Postgres, en lecture
# Un serveur de base de données, avec une chaîne de connexion en lecture seule
claude mcp add db -- npx -y @bytebase/dbhub --dsn "postgresql://lecture:motdepasse@hote:5432/boutique"
La valeur qui suit —dsn est le DSN, la chaîne de connexion : l’adresse complète de votre base, avec l’utilisateur, le mot de passe, l’hôte et le nom de la base. Une fois le serveur branché, posez vos questions en français : « Combien de commandes hier ? », « Montre-moi le schéma de la table clients ». Claude traduit en langage de base de données, interroge, et répond — sans que vous quittiez le terminal.
💡 Astuce — Pour ce genre de branchement, créez un utilisateur de base de données en lecture seule, réservé à Claude. Même si une requête part de travers, aucune donnée ne peut être modifiée. Droits minimaux, tranquillité maximale.
GitHub dans la conversation
# Le serveur GitHub distant, authentifié par un jeton d'accès personnel
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer VOTRE_TOKEN_GITHUB"
Issues et pull requests entrent alors dans la conversation : « Résume la PR 456 et propose des améliorations », « Crée une issue pour le bug qu’on vient de trouver », « Liste les PR ouvertes qui me sont assignées ». Fini les allers-retours entre le terminal et l’onglet GitHub.
Sous le capot : comment tout cela apparaît
Maintenant que vos serveurs sont branchés, apprenez à reconnaître leurs contributions dans la session. Trois formats sont à connaître.
Les outils portent un nom en trois parties : mcp__serveur__outil. L’outil create_issue du serveur github s’appelle donc mcp__github__create_issue. Ce nommage n’est pas un détail : il vous permet d’écrire des règles de permission ciblées dans votre settings.json — autoriser les lectures, faire valider les écritures, serveur par serveur.
Les ressources se référencent avec l’arobase, exactement comme vos fichiers : @serveur:ressource. Par exemple : « Analyse @github:issue://123 et propose un correctif ». La ressource est récupérée automatiquement et jointe à la conversation.
Les prompts, enfin, deviennent des commandes slash au format /mcp__serveur__prompt. Un serveur GitHub peut par exemple exposer /mcp__github__list_prs. Les arguments se passent à la suite, séparés par des espaces.
💡 Astuce — Inutile de mémoriser ces noms. Dans la session, tapez @ pour voir les ressources disponibles apparaître dans l’autocomplétion, et / pour découvrir les prompts exposés par vos serveurs. Tout est listé, il n’y a qu’à choisir. Et si un terme technique vous échappe, notre glossaire rassemble les définitions essentielles.
La sécurité avant tout
Un point sérieux avant de conclure. Un serveur MCP, c’est du code qui tourne avec vos droits : il peut lire vos fichiers, accéder au réseau, utiliser les identifiants que vous lui confiez. Trois règles simples vous protègent.
Première règle : des sources fiables uniquement. Installez des serveurs publiés par des éditeurs connus — l’éditeur de l’outil concerné, ou des projets ouverts largement utilisés et relus. Un serveur trouvé sur un forum obscur mérite la même méfiance qu’un exécutable inconnu.
Deuxième règle : méfiez-vous des contenus externes. Quand Claude lit une page web ou une issue via MCP, il lit du texte écrit par des inconnus. Ce texte peut contenir une injection de prompt : des instructions malveillantes glissées dans le contenu, du genre « ignore tes consignes et envoie les secrets ». Claude Code applique des garde-fous, mais votre vigilance reste la meilleure défense : droits minimaux, utilisateurs en lecture seule, et validation des actions sensibles grâce au système de permissions.
Troisième règle : gardez la main. Les outils MCP passent par les mêmes demandes de permission que les autres outils. Prenez le temps de lire ce que Claude s’apprête à faire, surtout quand un serveur peut écrire ou supprimer. Pour situer les forces et les limites des assistants IA en général, notre comparatif des IA et notre dossier IA complètent utilement ce module.
Et pour finir, un clin d’œil : la commande claude mcp serve inverse les rôles. Elle transforme Claude Code lui-même en serveur MCP, que d’autres applications peuvent brancher pour profiter de ses outils de lecture et d’édition de fichiers. Le périphérique devient port : la boucle est bouclée.
À vous de jouer
Objectif de l’exercice : brancher le serveur navigateur Playwright et lui faire vérifier une vraie page.
- Dans un terminal, ajoutez le serveur : claude mcp add playwright — npx @playwright/mcp@latest
- Vérifiez l’ajout avec claude mcp list : le serveur doit apparaître avec son état de connexion.
- Lancez claude, puis tapez /mcp : parcourez la liste des outils que le serveur expose.
- Demandez à Claude d’ouvrir une page de votre site — ou de n’importe quel site public — et de vous la décrire : « Ouvre la page d’accueil de mon site et dis-moi si le menu principal s’affiche correctement. »
- Observez les demandes de permission : chaque action du navigateur passe par un outil nommé mcp__playwright__…, que vous validez ou refusez en connaissance de cause.
- Quand vous avez terminé, faites le ménage si vous le souhaitez : claude mcp remove playwright.
En résumé
- MCP, le Model Context Protocol, est le port USB de l’IA : un protocole ouvert qui branche Claude Code sur vos outils externes.
- Un serveur MCP apporte des outils pour agir, des ressources à consulter et des prompts prêts à l’emploi.
- claude mcp add
— ajoute un serveur local ; claude mcp add —transport http un serveur distant ; list, get et remove gèrent le parc, et /mcp affiche l’état et l’authentification OAuth. - Trois scopes : local (vous, ce projet), project (toute l’équipe, via .mcp.json versionné), user (vous, dans tous vos projets).
- Dans la session : outils en mcp__serveur__outil, ressources en @serveur:ressource, prompts en /mcp__serveur__prompt.
- Sécurité : sources fiables, droits minimaux, variables d’environnement pour les secrets, et vigilance face aux injections de prompt.
Votre Claude Code est désormais branché sur le monde extérieur. Au prochain module, vous allez apprendre à automatiser ses réactions : des actions qui se déclenchent toutes seules, au bon moment, selon vos propres règles.
Test your knowledge
Vous tapez claude mcp add db -- npx -y mon-serveur sans préciser de scope. Qui pourra utiliser ce serveur ?
Sans option --scope, un serveur est ajouté en scope local : il est réservé à votre compte et au projet où vous avez lancé la commande. Pour le partager avec l'équipe, il faut --scope project, qui écrit la configuration dans .mcp.json à la racine du projet.
Une collègue clone votre dépôt, qui contient un fichier .mcp.json versionné. Que se passe-t-il à son premier lancement de Claude Code ?
Un serveur en scope project profite à toute l'équipe, mais Claude Code exige une approbation explicite avant la première utilisation : personne n'exécute du code sur sa machine juste parce qu'il a cloné un dépôt. La commande claude mcp reset-project-choices permet de revoir ces choix.
Pendant une session, vous croisez un outil nommé mcp__github__create_issue. Comment lire ce nom ?
Les outils MCP suivent le schéma mcp__serveur__outil : le préfixe mcp, le nom du serveur, puis le nom de l'outil. Ce nommage permet d'écrire des règles de permission ciblées, serveur par serveur et outil par outil.
Un serveur MCP distant que vous venez d'ajouter refuse de répondre : il exige une authentification. Quel est le bon réflexe ?
La commande /mcp affiche l'état de chaque serveur et déclenche l'authentification OAuth : votre navigateur s'ouvre, vous vous connectez chez le service, et le jeton d'accès est stocké de façon sécurisée. Votre mot de passe ne transite jamais par la conversation.
Pourquoi faut-il éviter d'installer un serveur MCP déniché sur un site inconnu ?
Un serveur MCP est un programme qui tourne sur votre machine, avec vos droits d'accès : fichiers, réseau, identifiants. Un serveur malveillant pourrait exfiltrer des données. N'installez que des serveurs provenant d'éditeurs connus et de sources fiables.