Skip to content

Dépannage : Échec de connexion MCP

Votre situation actuelle

Après avoir configuré un serveur MCP, vous pourriez rencontrer ces problèmes :

  • ❌ Claude Code affiche "Failed to connect to MCP server"
  • ❌ Les commandes GitHub/Supabase ne fonctionnent pas
  • ❌ La fenêtre de contexte se réduit soudainement, les appels d'outils ralentissent
  • ❌ Filesystem MCP ne peut pas accéder aux fichiers
  • ❌ Trop de serveurs MCP activés, le système devient lent

Pas de panique, chaque problème a une solution claire. Cette leçon vous guide dans le diagnostic systématique des problèmes de connexion MCP.


Problème courant 1 : Clé API non configurée ou invalide

Symptômes

Lorsque vous essayez d'utiliser des serveurs MCP comme GitHub ou Firecrawl, Claude Code affiche :

Failed to execute tool: Missing GITHUB_PERSONAL_ACCESS_TOKEN

ou

Failed to connect to MCP server: Authentication failed

Cause

Les placeholders YOUR_*_HERE dans le fichier de configuration MCP n'ont pas été remplacés par les vraies clés API.

Solution

Étape 1 : Vérifier le fichier de configuration

Ouvrez ~/.claude.json et trouvez la configuration du serveur MCP concerné :

json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT_HERE"  // ← Vérifiez ici
      },
      "description": "GitHub operations - PRs, issues, repos"
    }
  }
}

Étape 2 : Remplacer le placeholder

Remplacez YOUR_GITHUB_PAT_HERE par votre vraie clé API :

json
{
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx"
  }
}

Étape 3 : Où obtenir les clés pour les serveurs MCP courants

Serveur MCPVariable d'environnementOù l'obtenir
GitHubGITHUB_PERSONAL_ACCESS_TOKENGitHub Settings → Developer Settings → Personal access tokens
FirecrawlFIRECRAWL_API_KEYFirecrawl Dashboard → API Keys
SupabaseRéférence du projetSupabase Dashboard → Settings → API

Résultat attendu : Après redémarrage de Claude Code, les outils concernés fonctionnent normalement.

Piège à éviter

Avertissement de sécurité

Ne commitez jamais un fichier de configuration contenant de vraies clés API dans un dépôt Git. Assurez-vous que ~/.claude.json est dans votre .gitignore.


Problème courant 2 : Fenêtre de contexte trop petite

Symptômes

  • La liste des outils disponibles devient soudainement très courte
  • Claude affiche "Context window exceeded"
  • Le temps de réponse ralentit notablement

Cause

Trop de serveurs MCP sont activés, ce qui consomme la fenêtre de contexte. Selon le README du projet, une fenêtre de contexte de 200k peut se réduire à 70k si trop de MCP sont activés.

Solution

Étape 1 : Vérifier le nombre de MCP activés

Consultez la section mcpServers dans ~/.claude.json et comptez les serveurs activés.

Étape 2 : Utiliser disabledMcpServers pour désactiver les serveurs inutiles

Dans la configuration au niveau projet (~/.claude/settings.json ou .claude/settings.json du projet), ajoutez :

json
{
  "disabledMcpServers": [
    "railway",
    "cloudflare-docs",
    "cloudflare-workers-builds",
    "magic",
    "filesystem"
  ]
}

Étape 3 : Suivre les bonnes pratiques

Selon les recommandations du README :

  • Configurez 20-30 serveurs MCP (dans le fichier de configuration)
  • Activez < 10 serveurs MCP par projet
  • Maintenez le nombre d'outils actifs < 80

Résultat attendu : La liste des outils revient à sa longueur normale, le temps de réponse s'améliore.

Piège à éviter

Conseil d'expérience

Il est recommandé d'activer différentes combinaisons de MCP selon le type de projet. Par exemple :

  • Projet Web : GitHub, Firecrawl, Memory, Context7
  • Projet Data : Supabase, ClickHouse, Sequential-thinking

Problème courant 3 : Mauvais type de serveur configuré

Symptômes

Failed to start MCP server: Command not found

ou

Failed to connect: Invalid server type

Cause

Confusion entre les deux types de serveurs MCP : npx et http.

Solution

Étape 1 : Identifier le type de serveur

Vérifiez mcp-configs/mcp-servers.json et distinguez les deux types :

Type npx (nécessite command et args) :

json
{
  "github": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT_HERE"
    }
  }
}

Type http (nécessite url) :

json
{
  "vercel": {
    "type": "http",
    "url": "https://mcp.vercel.com"
  }
}

Étape 2 : Corriger la configuration

Serveur MCPType correctConfiguration correcte
GitHubnpxcommand: "npx", args: ["-y", "@modelcontextprotocol/server-github"]
Vercelhttptype: "http", url: "https://mcp.vercel.com"
Cloudflare Docshttptype: "http", url: "https://docs.mcp.cloudflare.com/mcp"
Memorynpxcommand: "npx", args: ["-y", "@modelcontextprotocol/server-memory"]

Résultat attendu : Après redémarrage, le serveur MCP démarre normalement.


Problème courant 4 : Mauvais chemin pour Filesystem MCP

Symptômes

  • L'outil Filesystem ne peut accéder à aucun fichier
  • Message "Path not accessible" ou "Permission denied"

Cause

Le paramètre de chemin de Filesystem MCP n'a pas été remplacé par le vrai chemin du projet.

Solution

Étape 1 : Vérifier la configuration

json
{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/projects"],
    "description": "Filesystem operations (set your path)"
  }
}

Étape 2 : Remplacer par le vrai chemin

Remplacez le chemin selon votre système d'exploitation :

macOS/Linux :

json
{
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/projects"]
}

Windows :

json
{
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\yourname\\projects"]
}

Étape 3 : Vérifier les permissions

Assurez-vous d'avoir les droits de lecture/écriture sur le chemin configuré.

Résultat attendu : L'outil Filesystem peut accéder et manipuler les fichiers dans le chemin spécifié.

Piège à éviter

Attention

  • N'utilisez pas le symbole ~, utilisez le chemin complet
  • Sous Windows, les antislashs doivent être échappés avec \\
  • Assurez-vous qu'il n'y a pas de séparateur superflu à la fin du chemin

Problème courant 5 : Référence de projet Supabase non configurée

Symptômes

La connexion MCP Supabase échoue avec le message "Missing project reference".

Cause

Le paramètre --project-ref de Supabase MCP n'est pas configuré.

Solution

Étape 1 : Obtenir la référence du projet

Dans le Dashboard Supabase :

  1. Accédez aux paramètres du projet
  2. Trouvez la section "Project Reference" ou "API"
  3. Copiez l'ID du projet (format similaire à xxxxxxxxxxxxxxxx)

Étape 2 : Mettre à jour la configuration

json
{
  "supabase": {
    "command": "npx",
    "args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=your-project-ref-here"],
    "description": "Supabase database operations"
  }
}

Résultat attendu : Les outils Supabase peuvent interroger la base de données normalement.


Problème courant 6 : Commande npx introuvable

Symptômes

Failed to start MCP server: npx: command not found

Cause

Node.js n'est pas installé sur le système ou npx n'est pas dans le PATH.

Solution

Étape 1 : Vérifier la version de Node.js

bash
node --version

Étape 2 : Installer Node.js (si absent)

Visitez nodejs.org pour télécharger et installer la dernière version LTS.

Étape 3 : Vérifier npx

bash
npx --version

Résultat attendu : Le numéro de version de npx s'affiche correctement.


Diagramme de dépannage

En cas de problème MCP, suivez cet ordre de vérification :

1. Vérifier si la clé API est configurée
   ↓ (configurée)
2. Vérifier si le nombre de MCP activés est < 10
   ↓ (nombre correct)
3. Vérifier le type de serveur (npx vs http)
   ↓ (type correct)
4. Vérifier les paramètres de chemin (Filesystem, Supabase)
   ↓ (chemin correct)
5. Vérifier si Node.js et npx sont disponibles
   ↓ (disponibles)
Problème résolu !

Résumé de la leçon

La plupart des problèmes de connexion MCP sont liés à la configuration. Retenez ces points clés :

  • Clés API : Remplacez tous les placeholders YOUR_*_HERE
  • Gestion du contexte : Activez < 10 MCP, utilisez disabledMcpServers pour désactiver les inutiles
  • Type de serveur : Distinguez les types npx et http
  • Configuration des chemins : Filesystem et Supabase nécessitent des chemins/références spécifiques
  • Dépendances système : Assurez-vous que Node.js et npx sont disponibles

Si le problème persiste, vérifiez s'il y a des conflits entre ~/.claude/settings.json et la configuration au niveau projet.


Aperçu de la prochaine leçon

Dans la prochaine leçon, nous apprendrons le Dépannage des échecs d'Agent.

Vous apprendrez :

  • Comment diagnostiquer les problèmes de chargement et de configuration des Agents
  • Les stratégies pour résoudre les permissions d'outils insuffisantes
  • Comment diagnostiquer les timeouts d'Agent et les sorties inattendues

Annexe : Références au code source

Cliquez pour voir les emplacements dans le code source

Dernière mise à jour : 2026-01-25

FonctionnalitéChemin du fichierLignes
Fichier de configuration MCPmcp-configs/mcp-servers.json1-91
Avertissement fenêtre de contexteREADME.md67-75

Configurations clés :

  • mcpServers.mcpServers.*.command : Commande de démarrage pour les serveurs de type npx
  • mcpServers.mcpServers.*.args : Paramètres de démarrage
  • mcpServers.mcpServers.*.env : Variables d'environnement (clés API)
  • mcpServers.mcpServers.*.type : Type de serveur ("npx" ou "http")
  • mcpServers.mcpServers.*.url : URL pour les serveurs de type http

Commentaires importants :

  • mcpServers._comments.env_vars : Remplacez les placeholders YOUR_*_HERE
  • mcpServers._comments.disabling : Utilisez disabledMcpServers pour désactiver les serveurs
  • mcpServers._comments.context_warning : Activez < 10 MCP pour préserver la fenêtre de contexte