Serveurs MCP dans Claude Code
Le Model Context Protocol (MCP) est un standard ouvert pour connecter l'IA à des outils et données externes. Un serveur MCP expose des capacités (interroger une base de données, ouvrir une PR GitHub, piloter un navigateur) ; Claude Code s'y connecte et peut appeler ces outils pendant une session. C'est ainsi qu'on étend Claude au-delà de votre système de fichiers et de votre shell.
- Expliquer ce qu'est un serveur MCP et comment Claude Code appelle ses outils
- Distinguer les deux transports : stdio local vs HTTP/SSE distant
- Ajouter un serveur avec claude mcp add et lire le JSON qu'il écrit
- Choisir la bonne portée (local, project, user) pour qui voit un serveur
- Connecter une vraie base de données à Claude de bout en bout
- Éviter les pièges de sécurité et de configuration qui touchent la plupart des gens
La forme de la chose
Vous déclarez les serveurs que Claude peut utiliser ; chaque serveur publie un ensemble d'outils avec des schémas ; Claude les sélectionne et les appelle comme n'importe quel autre outil.
Transports
Il y a deux façons pour Claude d'atteindre un serveur. Choisissez selon l'endroit où le serveur s'exécute.
- stdio — un processus local que Claude lance (idéal pour les outils/CLI locaux).
- Distant (HTTP/SSE) — un serveur hébergé, souvent avec OAuth.
Configurer des serveurs
Le chemin le plus rapide est la commande claude mcp add — elle écrit la configuration pour vous. Suivez cette séquence pour passer de zéro à un serveur connecté.
- Exécutez claude mcp add — tout ce qui suit le -- est la commande de lancement que Claude exécute pour vous.
- Passez --transport http et une portée, puis l'URL du serveur. Les serveurs distants sont souvent hébergés et utilisent OAuth.
- Exécutez claude mcp list pour voir les serveurs configurés et leur statut de connexion.
- Utilisez /mcp dans une session pour inspecter les outils d'un serveur et vous authentifier auprès des serveurs distants.
Ajouter un serveur stdio local
# A local stdio server (everything after -- is the launch command) claude mcp add github -- npx -y @modelcontextprotocol/server-github
Ajouter un serveur HTTP distant (partagé avec le projet)
# A remote HTTP server, shared with everyone on the project claude mcp add --transport http --scope project linear https://mcp.linear.app/mcp
Sous le capot, ce n'est que du JSON. Un serveur de portée project atterrit dans un .mcp.json à la racine du dépôt — versionnez-le et toute votre équipe obtient les mêmes outils :
{
"mcpServers": {
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] }
}
}
La portée décide qui voit le serveur
| Portée | Réside dans | À utiliser pour |
|---|---|---|
local (par défaut) | vos paramètres utilisateur, ce projet uniquement | expériences personnelles, secrets |
project | .mcp.json dans le dépôt (versionné) | outils que toute l'équipe doit partager |
user | vos paramètres utilisateur, tous les projets | serveurs que vous voulez partout |
Exécutez claude mcp list pour voir ce qui est connecté et /mcp dans une session pour inspecter les outils et vous authentifier auprès des serveurs distants. Voir Config MCP & squelettes de serveurs pour des exemples prêts à copier-coller.
Exemple concret : donnez votre base de données à Claude
Disons que vous voulez que Claude réponde à des questions sur un Postgres local au lieu que vous colliez les résultats de requêtes. Ajoutez le serveur (portée project, pour que vos coéquipiers en héritent) :
Ajouter un serveur Postgres en portée project
claude mcp add --scope project db -- npx -y @modelcontextprotocol/server-postgres "postgresql://localhost/app"
Maintenant, dans une session, vous pouvez poser la question en langage naturel et laisser Claude faire la boucle de requête pour vous :
Poser une question à la base de données
How many users signed up last week? Check the DB.
Claude appelle l'outil query du serveur, récupère les lignes et répond — sans boucle de copier-coller. Comme c'est en portée project, un coéquipier qui récupère le dépôt obtient la même capacité dès qu'il ouvre Claude Code. Gardez la chaîne de connexion en lecture seule si vous ne voulez que des lectures.
Confiance & sécurité
- Un serveur MCP exécute du code et peut lire des données et effectuer des actions — ne connectez que des serveurs de confiance.
- Donnez à chaque serveur le moindre privilège dont il a besoin.
- Tout contenu externe qu'un serveur renvoie peut véhiculer une injection de prompt.
- Relisez les serveurs tiers avant de les connecter.
:::warning Traitez les serveurs MCP comme l'installation d'un logiciel Un serveur MCP exécute du code et peut lire des données et effectuer des actions. Ne connectez que des serveurs de confiance, donnez-leur le moindre privilège nécessaire, et rappelez-vous que tout contenu externe qu'ils renvoient peut véhiculer une injection de prompt. Relisez d'abord les serveurs tiers — voir Relire le code tiers. :::
MCP aussi dans les applications
MCP alimente aussi les Connecteurs dans les applications Claude — même standard, surface différente. Voir Connecteurs (MCP) dans les applications et, pour l'API, MCP & connexion aux outils.
Erreurs courantes
- Mauvaise portée. Un serveur ajouté en portée
localn'apparaîtra pas pour vos coéquipiers ; un serveur que vous vouliez pour vous seul ne devrait pas être versionné en portéeproject. Choisissez délibérément. - Trop de serveurs, trop d'outils. Chaque serveur connecté ajoute ses schémas d'outils au contexte. Connectez ce dont la tâche a besoin, pas tout votre catalogue.
- Connexions surprivilégiées. Donnez à un serveur de base de données un rôle en lecture seule à moins que Claude n'ait réellement besoin d'écrire. MCP rend les capacités réelles — réduisez-les.
- Oublier le risque d'injection. Tout ce qu'un serveur renvoie (une page web, le corps d'un ticket, une ligne) est du texte non fiable qui peut véhiculer une injection de prompt. Ne câblez pas un serveur puissant capable d'écrire à côté d'un serveur non fiable capable de lire sans y réfléchir.
Testez-vous
0/3- MCP est un standard ouvert ; un serveur MCP expose des outils que Claude Code appelle comme n'importe quel autre outil.
- Deux transports : stdio local (un processus que Claude lance) et HTTP/SSE distant (hébergé, souvent OAuth).
- claude mcp add écrit la configuration pour vous ; sous le capot c'est du JSON, et la portée project réside dans un .mcp.json versionné.
- La portée contrôle la visibilité : local (vous, ce projet), project (versionné pour l'équipe), user (vous, partout).
- Traitez les serveurs comme l'installation d'un logiciel : confiance, moindre privilège, et méfiez-vous de l'injection de prompt dans tout ce qu'ils renvoient.