Aller au contenu principal
MCP

Installer et configurer un MCP

Guide complet pour installer, configurer et déboguer un MCP dans Claude Code. Fichier .mcp.json, commande claude mcp add, et résolution des problèmes courants.

Le fichier de configuration MCP

Les MCP se configurent dans un fichier JSON qui indique à Claude Code quels serveurs MCP lancer et comment les connecter. Il existe deux niveaux de configuration, global pour vos outils personnels, et par projet pour la stack technique de chaque dépôt.

Configuration globale

Le fichier ~/.claude/settings.json contient les MCP disponibles dans tous vos projets. C'est ici que vous placez les MCP génériques (Gmail, Slack, Calendar) et les tokens personnels.

Configuration par projet

Le fichier .mcp.json à la racine de votre projet contient les MCP spécifiques à ce projet. C'est ici que vous placez les MCP liés au développement (Context7, Sentry, base de données du projet).

Structure du fichier .mcp.json

{
"mcpServers": {
"nom-du-mcp": {
"command": "npx",
"args": ["-y", "@package/mcp-server"],
"env": {
"API_KEY": "votre-clé-ici"
}
}
}
}

Chaque entrée dans mcpServers définit un MCP avec :

  • command : la commande pour lancer le serveur MCP (npx, uvx, docker, ou un chemin vers un binaire)
  • args : les arguments passés à la commande (le package npm, les options de configuration)
  • env (optionnel) : les variables d'environnement nécessaires (tokens, clés API)

Installation d'un MCP : les trois méthodes

Méthode 1 : via la commande claude mcp add (recommandé)

La façon la plus simple d'installer un MCP. Claude Code s'occupe de tout.

# Syntaxe générale
claude mcp add <nom> -- <commande> <args...>
# Exemple : ajouter Context7
claude mcp add context7 -- npx -y @upstash/context7-mcp
# Exemple : ajouter GitHub avec un token
claude mcp add github -- npx -y @modelcontextprotocol/server-github
# Exemple : ajouter un MCP avec des variables d'environnement
claude mcp add slack -e SLACK_BOT_TOKEN=xoxb-votre-token -- npx -y @modelcontextprotocol/server-slack

Méthode 2 : éditer manuellement le fichier JSON

Pour un contrôle total, éditez directement le fichier de configuration.

{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_votre_token"
}
}
}
}

Méthode 3 : via Docker (pour les MCP complexes)

Certains MCP nécessitent des dépendances spécifiques. Docker isole tout proprement.

{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "DATABASE_URL",
"mcp/postgres"
],
"env": {
"DATABASE_URL": "postgresql://user:pass@host:5432/dbname"
}
}
}
}

Configuration dans Claude Code

Vérifier les MCP installés

Après avoir ajouté un MCP, relancez Claude Code et vérifiez qu'il est bien connecté.

# Lister tous les MCP configurés
claude mcp list
# Résultat attendu :
# context7: connected
# Tools: query-docs, resolve-library-id
# github: connected
# Tools: list_issues, create_pull_request, search_code, ...
# Supprimer un MCP
claude mcp remove <nom>
# Voir les détails d'un MCP
claude mcp get <nom>

Portée de la configuration

# Ajouter un MCP au niveau du projet (défaut)
claude mcp add context7 -- npx -y @upstash/context7-mcp
# Ajouter un MCP au niveau global (tous les projets)
claude mcp add context7 --scope global -- npx -y @upstash/context7-mcp
# Ajouter un MCP au niveau utilisateur (pour cet utilisateur)
claude mcp add context7 --scope user -- npx -y @upstash/context7-mcp

Bonne pratique : séparer global et projet

Placez les MCP universels (Gmail, Slack, Calendar) en global et les MCP spécifiques (Context7, Sentry, base de données) en projet. Ainsi, chaque projet n'a accès qu'aux outils dont il a besoin.

Debug et troubleshooting

Le MCP ne se connecte pas

Vérifier que la commande est accessible

# Vérifier que npx est installé
which npx
# Vérifier que le package MCP existe
npx -y @upstash/context7-mcp --help
# Si vous utilisez uvx (Python)
which uvx

Consulter les logs MCP

# Voir les logs de connexion MCP
claude mcp logs
# Voir les logs d'un MCP spécifique
claude mcp logs context7

Vérifier la syntaxe JSON

Une virgule en trop ou un guillemet manquant peut tout casser. Utilisez un validateur JSON.

# Valider votre fichier .mcp.json
cat .mcp.json | python3 -m json.tool
# Ou avec Node.js
node -e "console.log(JSON.parse(require('fs').readFileSync('.mcp.json','utf8')))"

Tester le MCP manuellement

Vous pouvez lancer le serveur MCP directement pour voir s'il démarre correctement.

# Lancer le serveur MCP directement
npx -y @upstash/context7-mcp
# Si le serveur démarre et attend des entrées stdin, c'est bon
# Ctrl+C pour quitter

Erreurs courantes et solutions

ErreurCause probableSolution
command not found: npxNode.js non installéInstaller Node.js 18+
ENOENTPackage MCP inexistantVérifier le nom du package
ECONNREFUSEDToken invalide ou expiréRégénérer le token
timeoutServeur MCP trop lent au démarrageAugmenter le timeout ou utiliser Docker
permission deniedDroits insuffisantsVérifier les permissions du token/fichier

Sécurité des tokens

Ne commitez jamais vos tokens dans un repository Git. Utilisez la configuration globale (~/.claude/settings.json) pour les informations sensibles, ou des variables d'environnement système.

Exemple complet : configurer trois MCP

Voici un exemple réaliste de configuration avec trois MCP pour un projet de développement web.

{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
}
}
}

Avec cette configuration, vous pouvez demander à Claude Code :

"Consulte la documentation de Next.js 14, crée une page d'erreur 404 avec les bonnes pratiques, teste-la dans le navigateur, et crée une pull request."

Claude Code enchaînera automatiquement Context7 (documentation), l'édition de fichiers (création de la page), Playwright (test visuel) et GitHub (pull request).

Prochaines étapes

Votre premier MCP est configuré ? Découvrez maintenant les meilleurs MCP par catégorie.