Polydesk-logotype
Polydesk.ai — Header

MCP dans Claude Code : connecter vos outils via le Model Context Protocol

Les serveurs MCP transforment Claude Code d’un assistant de codage en un agent capable d’interagir avec GitHub, vos bases de données, Figma, Slack et des centaines d’autres outils, directement depuis le terminal.

Le Model Context Protocol (MCP) est un standard ouvert pour les intégrations IA-outils. Claude Code agit comme client MCP : il se connecte à des serveurs MCP qui exposent des outils, des ressources et des actions. Chaque serveur est un connecteur vers un système externe. Vous ajoutez un serveur avec une seule commande, et l’agent peut immédiatement interagir avec cet outil.

Ce guide couvre l’installation et la configuration des serveurs MCP, les serveurs les plus utiles par catégorie, les scopes de configuration, le Tool Search pour optimiser le contexte, et les bonnes pratiques de production.

MCP dans Claude Code en un coup d’œil
Protocole
Model Context Protocol (open source)
Ajouter un serveur
claude mcp add [nom] -- [commande]
Lister les serveurs
claude mcp list
Tester un serveur
claude mcp get [nom]
Transports
stdio (local), HTTP (remote, recommandé), SSE (déprécié)
Scopes
local (projet perso), project (partagé via .mcp.json), user (global)
Tool Search
Chargement dynamique, réduit le contexte de ~85 %

Comment fonctionne MCP dans Claude Code

MCP repose sur trois primitives que les serveurs exposent à l’agent :

Tools : des actions que l’agent peut exécuter (créer une PR GitHub, lancer une requête SQL, déclencher un déploiement). Chaque action nécessite votre approbation explicite avant exécution, sauf si vous avez configuré des permissions automatiques.

Resources : des données brutes que l’agent peut lire (enregistrements de base de données, contenu de fichiers distants, résultats de recherche).

Prompts : des templates réutilisables pour des workflows spécifiques (revue de code, analyse de performance, génération de migration).

Concrètement, quand vous dites à Claude Code « Crée une PR pour le fix du bug décrit dans l’issue JIRA-1234 », l’agent utilise le serveur MCP JIRA pour lire l’issue, explore votre code pour trouver le bug, le corrige, puis utilise le serveur MCP GitHub pour créer la PR avec une description contextuelle. Tout ça dans une seule conversation terminal.

Ajouter un serveur MCP

Via la commande CLI

La méthode principale pour ajouter un serveur MCP :

# Ajouter un serveur HTTP (remote, recommandé pour les services cloud)
claude mcp add --transport http github https://api.githubcopilot.com/mcp 
  -H "Authorization: Bearer $GITHUB_TOKEN"

# Ajouter un serveur stdio (local)
claude mcp add github -- npx -y @modelcontextprotocol/server-github

# Avec des variables d'environnement
claude mcp add github 
  -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_TOKEN 
  -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN 
  ghcr.io/github/github-mcp-server

# Format JSON pour les configurations complexes
claude mcp add-json postgres '{
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-postgres",
           "postgresql://user:pass@localhost/mydb"]
}'

Après l’ajout, vérifiez que le serveur fonctionne :

# Lister tous les serveurs configurés
claude mcp list

# Tester un serveur spécifique
claude mcp get github

# Supprimer un serveur
claude mcp remove github

Via le fichier de configuration JSON

Pour une configuration plus fine, éditez directement le fichier JSON :

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_votre_token"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres",
               "postgresql://readonly:pass@localhost/prod"]
    }
  }
}

L’emplacement du fichier dépend du scope (voir section suivante). Après modification, relancez Claude Code pour que les changements prennent effet.

Les trois scopes de configuration

ScopePortéeFichierCas d’usage
local (défaut)Vous seul, projet courant~/.claude.jsonConfig personnelle pour un projet
projectToute l’équipe, ce projet.mcp.json (committable dans Git)Serveurs partagés par l’équipe
userVous seul, tous les projetsConfig globale utilisateurGitHub, Perplexity, outils personnels

Utilisez --scope user pour les serveurs que vous utilisez partout (GitHub, recherche web). Utilisez --scope project pour les serveurs spécifiques au projet que toute l’équipe doit avoir (base de données, Playwright). Le scope local (défaut) est pour les configurations personnelles sur un projet spécifique.

# Serveur GitHub disponible sur tous vos projets
claude mcp add --scope user github -- npx -y @modelcontextprotocol/server-github

# Serveur PostgreSQL partagé avec l'équipe via .mcp.json
claude mcp add --scope project postgres -- npx -y @modelcontextprotocol/server-postgres 
  "postgresql://readonly:pass@db.example.com/prod"

Serveurs MCP essentiels

GitHub

Le serveur MCP GitHub est le plus utilisé. Il permet à l’agent de gérer les PR, les issues, les repositories et les workflows CI/CD directement depuis Claude Code.

Cas d’usage : créer des PR avec description contextuelle, lire et commenter des issues, reviewer du code, déclencher des workflows GitHub Actions, rechercher du code dans vos repos.

# Via HTTP (recommandé, version récente de Claude Code)
claude mcp add --transport http github 
  https://api.githubcopilot.com/mcp 
  -H "Authorization: Bearer $GITHUB_TOKEN"
Le package npm est déprécié Le package @modelcontextprotocol/server-github via npm est déprécié depuis avril 2025. Utilisez la version HTTP ou Docker (ghcr.io/github/github-mcp-server) pour les nouvelles installations.

PostgreSQL

Le serveur PostgreSQL permet à l’agent d’explorer votre schéma de base de données, comprendre les relations entre tables et exécuter des requêtes en langage naturel.

claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres 
  "postgresql://readonly:pass@localhost/mydb"
Utilisez toujours un utilisateur en lecture seule Connectez le serveur MCP PostgreSQL avec un utilisateur en lecture seule (read-only), SSL activé, et jamais vos identifiants admin. Le serveur opère en mode lecture seule par défaut (transactions read-only), mais une mauvaise configuration pourrait exposer votre base à des modifications.

Playwright (tests E2E)

Le serveur Playwright permet à Claude Code de lancer des tests end-to-end, naviguer dans votre application, et vérifier visuellement les résultats de ses modifications. C’est un serveur particulièrement puissant combiné avec le mode Agent.

claude mcp add playwright -- npx -y @anthropic-ai/mcp-playwright

Workflow recommandé : ajoutez Playwright comme serveur MCP scopé au projet avant d’écrire votre première feature. Les tests de régression s’exécutent automatiquement pendant le développement, ce qui réduit considérablement les bugs qui passent en production.

Autres serveurs populaires

ServeurFonctionCommande d’installation
FilesystemAccès fichiers hors du projetclaude mcp add fs -- npx -y @modelcontextprotocol/server-filesystem ~/docs
SQLiteBase de données SQLiteclaude mcp add sqlite -- npx -y @modelcontextprotocol/server-sqlite db.sqlite
PerplexityRecherche web avancéeclaude mcp add perplexity -- npx -y perplexity-mcp
Context7Documentation à jour des libsclaude mcp add context7 -- npx -y @upstash/context7-mcp@latest
FigmaDesign-to-codeclaude mcp add figma -- npx -y @anthropic-ai/mcp-figma
SupabaseBackend-as-a-Serviceclaude mcp add supabase -- npx -y @supabase/mcp-server
Sequential ThinkingDécomposition de tâches complexesclaude mcp add think -- npx -y @modelcontextprotocol/server-sequential-thinking
MemoryMémoire persistante (knowledge graph)claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

Pour découvrir d’autres serveurs, explorez le repository awesome-claude-code sur GitHub ou le catalogue sur modelcontextprotocol.io.


Chaque serveur MCP charge ses définitions d’outils dans la fenêtre de contexte. Avec 5 à 10 serveurs configurés, ces définitions peuvent consommer 70 000+ tokens, soit une part significative du contexte disponible.

Tool Search est une fonctionnalité intégrée de Claude Code qui résout ce problème. Au lieu de charger toutes les définitions d’outils en permanence, Tool Search ne charge dynamiquement que les outils nécessaires pour chaque tâche. Résultat : une réduction d’environ 85 % de la consommation de contexte (de ~72 000 tokens à ~8 700 dans les tests).

Tool Search s’active automatiquement quand les définitions d’outils dépassent 10 % de la fenêtre de contexte. Il nécessite Sonnet 4.6 ou Opus 4.6. Avec cette fonctionnalité, vous pouvez configurer des dizaines de serveurs MCP sans vous soucier de l’impact sur le contexte.

Channels : réagir aux événements externes

Les serveurs MCP classiques répondent aux requêtes de l’agent. Les Channels vont plus loin : ils poussent des messages dans votre session Claude Code, permettant à l’agent de réagir à des événements externes en temps réel.

Exemples : un serveur Channel Telegram envoie les messages reçus dans votre session, un serveur Channel CI/CD notifie quand un build échoue, un serveur Channel monitoring alerte sur une anomalie de performance. L’agent peut alors agir automatiquement : analyser l’erreur, proposer un fix, créer une PR.

Pour activer un channel, le serveur doit déclarer la capability claude/channel et vous l’activez avec le flag --channels au démarrage.

Claude Code comme serveur MCP

Claude Code peut aussi fonctionner comme serveur MCP, exposant ses outils (Bash, Read, Write, Edit, LS, GrepTool, GlobTool, Replace) à d’autres clients MCP comme Claude Desktop ou Cursor.

claude mcp serve

Cette architecture permet de l’orchestration d’agents : un client MCP peut invoquer Claude Code pour des tâches de codage, pendant qu’un autre agent gère la recherche ou le déploiement. C’est la base de l’agent orchestration multi-niveaux.

Pas de passthrough MCP Les serveurs MCP connectés à Claude Code ne sont pas exposés aux clients qui se connectent à Claude Code comme serveur. Chaque couche est séparée. Si Claude Code utilise un serveur GitHub, les clients connectés à Claude Code ne peuvent pas accéder directement aux outils GitHub.

MCP en équipe

Pour les équipes, le scope project est essentiel. Il crée un fichier .mcp.json à la racine du projet, committable dans Git. Toute l’équipe partage les mêmes serveurs MCP sans configuration individuelle.

Sur les plans Teams et Enterprise, la gestion des serveurs MCP est centralisée. Les administrateurs configurent les serveurs au niveau de l’organisation. Quand un développeur quitte l’équipe, ses accès aux bases de données et outils internes sont automatiquement révoqués via la gestion centralisée des serveurs MCP.

Bonne pratique en équipe : utilisez le scope project pour les serveurs partagés (base de données de développement, Playwright, GitHub) et le scope user pour les outils personnels (Perplexity, notes Obsidian). Les tokens d’accès sensibles doivent être dans des variables d’environnement, jamais en dur dans le fichier .mcp.json.

Sécurité et bonnes pratiques

Vérifiez la source. Utilisez uniquement des serveurs MCP de confiance. Certains serveurs peuvent accéder à des données sensibles ou exécuter des commandes sur votre machine. Les serveurs officiels (GitHub, Anthropic, providers cloud) sont vérifiés. Pour les serveurs communautaires, inspectez le code source avant installation.

Attention au prompt injection. Les serveurs MCP qui récupèrent du contenu non fiable (web scraping, emails, messages Slack) peuvent exposer l’agent à des attaques par injection de prompt. Soyez vigilant avec les serveurs qui traitent du contenu externe.

Principe du moindre privilège. Pour PostgreSQL, utilisez un utilisateur en lecture seule. Pour GitHub, créez un token avec les permissions minimales nécessaires. Pour les serveurs de fichiers, limitez l’accès aux répertoires strictement nécessaires.

Redémarrez après modification. Les changements de configuration MCP ne prennent effet qu’après un redémarrage de Claude Code. C’est le piège le plus fréquent signalé par les utilisateurs.

Workflows concrets avec MCP

Feature complète : de l’issue à la PR

Avec les serveurs GitHub, PostgreSQL et Playwright configurés, un seul prompt peut orchestrer un workflow complet :

Lis l'issue GitHub #142 (ajout du filtre par date sur la page
commandes). Vérifie le schéma de la table orders dans PostgreSQL.
Implémente le filtre, ajoute les tests Playwright et crée une PR
avec une description qui référence l'issue.

L’agent lit l’issue via le serveur GitHub, interroge la base de données pour comprendre le schéma, implémente la feature dans votre code, lance les tests Playwright pour vérifier le résultat, et crée la PR. Vous revoyez le diff et mergez.

Débogage en production

Avec les serveurs Sentry (ou Datadog) et PostgreSQL :

Vérifie les erreurs récentes sur Sentry pour le service
orders-api. Corrèle avec les données PostgreSQL pour identifier
les commandes impactées. Propose un fix et estime l'impact.

L’agent consulte les logs d’erreurs, croise avec les données de production, identifie le pattern du bug et propose un fix contextuel. Sans MCP, ce workflow nécessiterait de jongler entre 3 ou 4 onglets et de copier-coller du contexte manuellement.

Design-to-code avec Figma

Avec le serveur Figma configuré :

Récupère le design du composant "ProductCard" depuis Figma.
Implémente-le en React avec Tailwind CSS en respectant les
tokens de notre design system dans @file:src/styles/tokens.ts

L’agent extrait les spécifications visuelles (couleurs, espacements, typographie) depuis Figma, puis génère le composant correspondant en utilisant vos propres design tokens. Le résultat est un composant fidèle au mockup et cohérent avec votre stack.

MCP et subagents

Les subagents de Claude Code peuvent avoir leurs propres serveurs MCP. Dans le frontmatter YAML d’un fichier subagent (.claude/agents/*.md), vous spécifiez les serveurs MCP auxquels ce subagent a accès :

---
name: qa-agent
model: sonnet
mcpServers:
  - playwright
  - postgres
tools: Bash, Read, Agent
---

Tu es un agent QA. Vérifie que les changements ne cassent
aucun test existant et que les nouvelles fonctionnalités
sont correctement testées.

Cette architecture permet de créer des agents spécialisés avec des permissions et des accès ciblés. L’agent QA a accès aux tests et à la base de données, mais pas au déploiement. L’agent de déploiement a accès à Vercel mais pas à la base de données. Le principe du moindre privilège s’applique naturellement.

Résolution de problèmes

ProblèmeCauseSolution
« Connection closed » sur WindowsManque le wrapper cmd /cUtilisez claude mcp add server -- cmd /c npx -y @some/package
Serveur non détecté après ajoutClaude Code non redémarréQuittez et relancez Claude Code. Les changements MCP nécessitent un redémarrage.
Erreur d’authentification OAuthToken expiré ou permissions insuffisantesLancez /mcp dans Claude Code pour ré-authentifier les serveurs OAuth
Premier lancement échoue (macOS)Permissions système non accordéesAccordez les permissions dossier quand macOS les demande. Le second lancement fonctionne.
Contexte saturé avec beaucoup de serveursDéfinitions d’outils trop volumineusesUtilisez Sonnet 4.6+ pour activer Tool Search (réduction ~85 % automatique)
Serveur lent au démarrageTimeout par défaut trop courtAugmentez le timeout : MCP_TIMEOUT=10000 claude (10 secondes)

Pour un diagnostic complet des serveurs MCP, utilisez les logs :

# macOS : logs des serveurs MCP
ls ~/Library/Logs/Claude/
cat ~/Library/Logs/Claude/mcp-server-*.log

# Windows
dir %APPDATA%Claudelogs

Questions fréquentes

Comment ajouter un serveur MCP à Claude Code ?

Exécutez claude mcp add [nom] -- [commande] dans votre terminal (pas dans une session Claude Code). Par exemple : claude mcp add github -- npx -y @modelcontextprotocol/server-github. Pour les serveurs HTTP distants : claude mcp add --transport http [nom] [url]. Vérifiez avec claude mcp list et testez avec claude mcp get [nom]. Les configurations complexes peuvent être ajoutées en JSON avec claude mcp add-json.

Quelle est la différence entre les scopes local, project et user ?

Le scope local (défaut) est personnel et limité au projet courant. Le scope project crée un fichier .mcp.json committable dans Git, partagé avec toute l’équipe. Le scope user est personnel mais disponible sur tous vos projets. Utilisez user pour les outils que vous utilisez partout (GitHub, recherche web), project pour les serveurs d’équipe (base de données, tests), et local pour les configurations personnelles par projet.

Combien de serveurs MCP peut-on ajouter sans impacter les performances ?

Grâce au Tool Search (activé automatiquement avec Sonnet 4.6 ou Opus 4.6), vous pouvez configurer des dizaines de serveurs sans impact significatif sur le contexte. Tool Search ne charge que les définitions d’outils nécessaires pour chaque tâche, réduisant la consommation de contexte d’environ 85 %. Sans Tool Search (modèles plus anciens), limitez-vous à 3 ou 5 serveurs pour éviter de saturer la fenêtre de contexte.

Les serveurs MCP de Claude Code fonctionnent-ils aussi dans Cursor ?

Cursor supporte aussi le protocole MCP, mais avec une configuration différente. Les serveurs MCP configurés pour Claude Code ne sont pas automatiquement disponibles dans Cursor et inversement. Le format de configuration JSON est similaire mais les emplacements de fichiers diffèrent. Cursor utilise un système de plugins (Marketplace) qui bundle les serveurs MCP avec des skills et des rules. Pour le guide MCP dans Cursor, voir notre page extensions Cursor.

Claude Code peut-il être utilisé comme serveur MCP par d’autres outils ?

Oui. Lancez claude mcp serve pour exposer les outils de Claude Code (Bash, Read, Write, Edit, recherche) via le protocole MCP. D’autres clients MCP (Claude Desktop, Cursor, Windsurf) peuvent alors invoquer Claude Code pour des tâches de codage. C’est la base de l’orchestration multi-agents. Les serveurs MCP connectés à Claude Code ne sont pas transmis aux clients (pas de passthrough) : chaque couche d’agent est isolée.

Polydesk.ai — Footer