Dépannage MCP
Les MCP warnings ne sont pas fatals sauf si toutes les capabilities dont vous avez besoin sont indisponibles. Un server en echec ne doit pas empecher les autres MCP servers ou les tools integres de IaC Code de fonctionner.
Inspect Configuration
Inspectez les servers configures sans vous connecter:
iac-code mcp list
Executez des bounded health diagnostics pour les servers configures:
iac-code mcp list --check
Inspectez une configuration de serveur expurgée sans vous connecter :
iac-code mcp get my-server --scope local
Exécutez des diagnostics d’intégrité limités pour un serveur :
iac-code mcp get my-server --scope local --check
Inspectez la configuration explicitement, sans vous connecter :
iac-code mcp list --config-only
iac-code mcp get my-server --scope local --config-only
Remove a bad server:
iac-code mcp remove my-server --scope local
Clear project approval choices:
iac-code mcp reset-project-choices
Reconnectez un serveur ou tous les serveurs persistants :
iac-code mcp reconnect my-server
iac-code mcp reconnect --all
Config Not Found
Symptome:
MCP server 'name' not found in persisted MCP config.
MCP server 'name' not found in user config.
Correction:
iac-code mcp list --config-only
iac-code mcp get name --scope user --config-only
iac-code mcp get name --scope user --source-path /path/to/settings.yml --config-only
Utilisez le --scope exact indique par la liste de configuration. Pour un fichier persistant non standard, ajoutez
aussi le --source-path correspondant. Si le server a ete supprime, ajoutez-le de nouveau au lieu d'authentifier une configuration absente.
Pending Project Server
Etat ou warning code: pending_approval.
Symptom:
Project MCP server 'name' is pending approval.
Fix:
iac-code mcp approve name
ou démarrez le REPL interactif dans ce projet et répondez « y » lorsque vous y êtes invité. Appuyer sur Entrée signifie N et rejette le serveur.
Si l'approbation fonctionnait mais s'est arrêtée, vérifiez si .mcp.json a changé. L'approbation est liée à la signature de configuration.
Missing Environment Variable
Symptom:
Environment variable 'TOKEN' is not set for MCP config.
Fix one of these:
export TOKEN=...
or use a default:
"Authorization": "${TOKEN:-}"
Les serveurs pour lesquels les variables d'environnement requises sont manquantes sont ignorés.
Connection Failed
Etat ou warning code: connection_failed.
For stdio servers:
- Verify
commandexists onPATH. - Utilisez des chemins absolus pour les scripts lors du lancement à partir de différents répertoires.
- Sous Windows, exécutez les serveurs basés sur Node via
cmd /c npx. - Vérifiez que toutes les variables d'environnement requises sont configurées.
For HTTP or SSE servers:
- Verify the URL and transport type.
- Check TLS and proxy settings.
- Vérifiez que les en-têtes statiques sont présents et ne contiennent pas de secrets en texte brut.
- Exécutez
iac-code mcp auth <server>si le serveur nécessite OAuth.
Needs Authentication
Etat: needs-auth.
Symptom:
MCP server 'name' requires authentication.
Fix:
iac-code mcp auth name --scope user
Si le serveur utilise des jetons d'actualisation OAuth et qu'une réauthentification est requise, IaC Code efface les jetons obsolètes et demande un nouveau flux.
OAuth Auth Failed
Symptome (auth-failed):
MCP auth failed for 'name':
Le OAuth flow a demarre mais ne s'est pas termine proprement: le callback URL peut etre incomplet, le authorization code peut avoir expire, ou le authorization server peut avoir renvoye une erreur. Si un nouveau flow echoue avant la fin, IaC Code restaure le auth state precedent.
Correction:
iac-code mcp auth name --scope user
iac-code mcp reset-auth name --scope user
iac-code mcp auth name --scope user
Reessayez d'abord auth. Utilisez reset-auth avant de reessayer seulement si le token enregistre ou le dynamic client state est obsolete.
OAuth Invalid Client
Symptom:
invalid_client
Le code IaC efface le client OAuth stocké et l'état du jeton pour ce serveur. Exécutez à nouveau l'authentification :
iac-code mcp auth name
Insufficient Scope
Symptom:
insufficient_scope
Le serveur a demandé des étendues OAuth supplémentaires. Dans la session en cours, ouvrez /mcp et choisissez S'authentifier ou
Se réauthentifier pour ce serveur ; Le code IaC inclut les étendues signalées par le défi du serveur dans ce flux. Le
La commande autonome iac-code mcp auth name démarre un flux d'authentification normal et ne transporte pas les étendues de défi uniquement à partir d'un
previous session.
Scope Ambiguity
Symptom:
MCP server 'name' exists in multiple persisted scopes.
Relancez avec la commande --scope exacte imprimee dans l'erreur. C'est une scope ambiguity: le server name est valide, mais la commande doit choisir un seul scope persistant.
Capability Discovery Failed
Symptoms can include:
MCP server 'name' tools discovery failed: ...
MCP server 'name' resources discovery failed: ...
MCP server 'name' prompts discovery failed: ...
Le serveur s'est connecté, mais une liste de fonctionnalités a échoué. D'autres fonctionnalités du même serveur peuvent toujours fonctionner. Corrigez l’erreur côté serveur, puis redémarrez IaC Code ou déclenchez une actualisation de reconnexion/authentification.
Session Expired
Symptom:
MCP HTTP session expired
Run:
iac-code mcp reconnect name
En cas d'échecs répétés, vérifiez si le serveur distant a abandonné la session ou redémarré.
Headers Helper Failed
Les symptômes peuvent inclure des erreurs d'analyse d'assistance, un délai d'attente, un état de sortie différent de zéro, un JSON non valide ou des valeurs d'en-tête autres que des chaînes. Vérifiez que la commande d'assistance est valide à partir du répertoire source de configuration et imprime un objet JSON tel que :
{"X-Org": "platform"}
Le stderr de type secret est rédigé dans les diagnostics.
WebSocket Config Rejected
Les serveurs WebSocket MCP prennent en charge la configuration URL uniquement. Supprimez headers, headersHelper et oauth des serveurs type: "ws".
Resources Are Missing
list_mcp_resources est enregistré uniquement lorsqu'au moins un serveur connecté expose des ressources. Si l'outil est manquant :
- Confirm the server connected.
- Confirmez que le serveur prend en charge
resources/list. - Vérifiez les avertissements de démarrage pour les erreurs de découverte de ressources.
Prompt or Skill Command Missing
Les commandes d'invite et de compétence n'apparaissent qu'après une découverte réussie. Vérifiez :
- L'invite ou la ressource
skill://existe sur le serveur MCP. - Le nom de commande normalisé n'entre pas en conflit avec une commande intégrée.
- La ressource de compétence distante peut être lue dans le délai d'expiration du démarrage.
- La description des compétences et les limites de sécurité du code IaC.
Logs and Artifacts
Runtime logs default to:
<config-dir>/logs/
or IAC_CODE_LOG_DIR when set.
Les artefacts binaires MCP issus des résultats de l'outil sont stockés dans le répertoire appartenant à la session pour les sessions v2 :
<config-dir>/projects/<project>/<session-id>/tool-results/mcp/
Sessions héritées sans utilisation de marqueur de mise en page pris en charge :
<config-dir>/tool-results/<session-id>/mcp/
Évitez de partager des répertoires de configuration, de journaux ou d'artefacts sans les examiner pour rechercher des secrets.