Documentation Officielle MCP (Française)
  1. Tutoriels
Documentation Officielle MCP (Française)
  • Commencer
    • Introduction
    • Exemples de serveurs
    • Exemples de clients
    • Démarrage rapide
      • Pour les développeurs de serveurs
      • Pour les développeurs clients
      • Pour les utilisateurs de Claude Desktop
  • Tutoriels
    • Construire MCP avec LLMs
    • Débogage
    • Inspecteur
  • Concepts
    • Architecture de base
    • Ressources
    • Invites
    • Outils
    • Échantillonnage
    • Racines
    • Transports
  • Développement
    • Quoi de neuf
    • Feuille de route
    • Contribuer
  1. Tutoriels

Débogage

Guide complet pour le débogage des intégrations Model Context Protocol (MCP)
Un débogage efficace est essentiel lors du développement de serveurs MCP ou de leur intégration avec des applications. Ce guide couvre les outils et les approches de débogage disponibles dans l'écosystème MCP.
Ce guide est pour macOS. Les guides pour les autres plateformes sont à venir.

Aperçu des outils de débogage#

MCP fournit plusieurs outils pour le débogage à différents niveaux :
1.
MCP Inspector
Interface de débogage interactive
Test direct du serveur
Voir le guide de l'Inspector pour plus de détails
2.
Claude Desktop Developer Tools
Tests d'intégration
Collecte des logs
Intégration de Chrome DevTools
3.
Logging du serveur
Implémentations de logging personnalisées
Suivi des erreurs
Surveillance des performances

Débogage dans Claude Desktop#

Vérification de l'état du serveur#

L'interface Claude.app fournit des informations de base sur l'état du serveur :
1.
Cliquez sur l'icône img pour voir :
Les serveurs connectés
Les prompts et ressources disponibles
2.
Cliquez sur l'icône img pour voir :
Les outils mis à disposition du modèle

Affichage des logs#

Consultez les logs MCP détaillés depuis Claude Desktop :
Les logs capturent :
Les événements de connexion au serveur
Les problèmes de configuration
Les erreurs d'exécution
Les échanges de messages

Utilisation de Chrome DevTools#

Accédez aux outils de développement de Chrome à l'intérieur de Claude Desktop pour enquêter sur les erreurs côté client :
1.
Créez un fichier developer_settings.json avec allowDevTools défini sur true :
2.
Ouvrez DevTools : Command-Option-Shift-i
Remarque : Vous verrez deux fenêtres DevTools :
Fenêtre principale de contenu
Fenêtre de la barre de titre de l'application
Utilisez le panneau Console pour inspecter les erreurs côté client.
Utilisez le panneau Network pour inspecter :
Les payloads des messages
Le timing de la connexion

Problèmes courants#

Répertoire de travail#

Lors de l'utilisation de serveurs MCP avec Claude Desktop :
Le répertoire de travail pour les serveurs lancés via claude_desktop_config.json peut être indéfini (comme / sur macOS) puisque Claude Desktop peut être démarré depuis n'importe où.
Utilisez toujours des chemins absolus dans votre configuration et vos fichiers .env pour assurer un fonctionnement fiable.
Pour tester les serveurs directement via la ligne de commande, le répertoire de travail sera l'endroit où vous exécutez la commande.
Par exemple, dans claude_desktop_config.json, utilisez :
{
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/data"]
}
Au lieu de chemins relatifs comme ./data

Variables d'environnement#

Les serveurs MCP héritent automatiquement d'un sous-ensemble de variables d'environnement, comme USER, HOME et PATH.
Pour remplacer les variables par défaut ou fournir les vôtres, vous pouvez spécifier une clé env dans claude_desktop_config.json :
{
  "myserver": {
    "command": "mcp-server-myapp",
    "env": {
      "MYAPP_API_KEY": "some_key",
    }
  }
}

Initialisation du serveur#

Problèmes d'initialisation courants :
1.
Problèmes de chemin
Chemin d'accès à l'exécutable du serveur incorrect
Fichiers requis manquants
Problèmes de permission
Essayez d'utiliser un chemin absolu pour command
2.
Erreurs de configuration
Syntaxe JSON invalide
Champs requis manquants
Incompatibilités de type
3.
Problèmes d'environnement
Variables d'environnement manquantes
Valeurs de variables incorrectes
Restrictions de permission

Problèmes de connexion#

Lorsque les serveurs ne parviennent pas à se connecter :
1.
Vérifiez les logs de Claude Desktop
2.
Vérifiez que le processus du serveur est en cours d'exécution
3.
Testez en mode autonome avec Inspector
4.
Vérifiez la compatibilité du protocole

Implémentation du logging#

Logging côté serveur#

Lors de la construction d'un serveur qui utilise le transport stdio local, tous les messages enregistrés sur stderr (standard error) seront capturés automatiquement par l'application hôte (par exemple, Claude Desktop).
Les serveurs MCP locaux ne doivent pas enregistrer de messages sur stdout (standard out), car cela interférerait avec le fonctionnement du protocole.
Pour tous les transports, vous pouvez également fournir un logging au client en envoyant une notification de message de log :
Python
TypeScript
Événements importants à enregistrer :
Étapes d'initialisation
Accès aux ressources
Exécution des outils
Conditions d'erreur
Métriques de performance

Logging côté client#

Dans les applications clientes :
1.
Activez le logging de débogage
2.
Surveillez le trafic réseau
3.
Suivez les échanges de messages
4.
Enregistrez les états d'erreur

Workflow de débogage#

Cycle de développement#

1.
Développement initial
Utilisez Inspector pour les tests de base
Implémentez les fonctionnalités de base
Ajoutez des points de logging
2.
Tests d'intégration
Testez dans Claude Desktop
Surveillez les logs
Vérifiez la gestion des erreurs

Test des modifications#

Pour tester les modifications efficacement :
Modifications de la configuration : Redémarrez Claude Desktop
Modifications du code du serveur : Utilisez Command-R pour recharger
Itération rapide : Utilisez Inspector pendant le développement

Meilleures pratiques#

Stratégie de logging#

1.
Logging structuré
Utilisez des formats cohérents
Incluez le contexte
Ajoutez des timestamps
Suivez les ID de requête
2.
Gestion des erreurs
Enregistrez les stack traces
Incluez le contexte d'erreur
Suivez les schémas d'erreur
Surveillez la récupération
3.
Suivi des performances
Enregistrez le timing des opérations
Surveillez l'utilisation des ressources
Suivez la taille des messages
Mesurez la latence

Considérations de sécurité#

Lors du débogage :
1.
Données sensibles
Nettoyez les logs
Protégez les informations d'identification
Masquez les informations personnelles
2.
Contrôle d'accès
Vérifiez les permissions
Vérifiez l'authentification
Surveillez les schémas d'accès

Obtenir de l'aide#

En cas de problème :
1.
Premières étapes
Vérifiez les logs du serveur
Testez avec Inspector
Examinez la configuration
Vérifiez l'environnement
2.
Canaux de support
Problèmes GitHub
Discussions GitHub
3.
Fournir des informations
Extraits de logs
Fichiers de configuration
Étapes pour reproduire
Détails de l'environnement
Modified at 2025-03-13 04:26:21
Previous
Construire MCP avec LLMs
Next
Inspecteur
Built with