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.MCP fournit plusieurs outils pour le débogage à différents niveaux :1.
Interface de débogage interactive
2.
Claude Desktop Developer ToolsIntégration de Chrome DevTools
3.
Implémentations de logging personnalisées
Surveillance des performances
L'interface Claude.app fournit des informations de base sur l'état du serveur :1.
Cliquez sur l'icône
pour voir :Les prompts et ressources disponibles
2.
Cliquez sur l'icône
pour voir :Les outils mis à disposition du modèle
Consultez les logs MCP détaillés depuis Claude Desktop :Les événements de connexion au serveur
Les problèmes de configuration
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
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
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",
}
}
}
Problèmes d'initialisation courants :1.
Chemin d'accès à l'exécutable du serveur incorrect
Fichiers requis manquants
Essayez d'utiliser un chemin absolu pour command
3.
Problèmes d'environnementVariables d'environnement manquantes
Valeurs de variables incorrectes
Restrictions de permission
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
4.
Vérifiez la compatibilité du protocole
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 :Événements importants à enregistrer :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
1.
Implémentez les fonctionnalités de base
Ajoutez des points de logging
2.
Testez dans Claude Desktop
Vérifiez la gestion des erreurs
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 1.
Utilisez des formats cohérents
2.
Enregistrez les stack traces
Incluez le contexte d'erreur
Suivez les schémas d'erreur
Surveillez la récupération
3.
Enregistrez le timing des opérations
Surveillez l'utilisation des ressources
Suivez la taille des messages
1.
Protégez les informations d'identification
Masquez les informations personnelles
2.
Vérifiez l'authentification
Surveillez les schémas d'accès
1.
Vérifiez les logs du serveur
Examinez la configuration
3.
Fichiers de configuration
Détails de l'environnement
Modified at 2025-03-13 04:26:21