Claude débogue et corrige son propre bug de serveur de système de fichiers MCP pour les chemins UNC sous Windows

✍️ OpenClawRadar📅 Publié: March 18, 2026🔗 Source
Claude débogue et corrige son propre bug de serveur de système de fichiers MCP pour les chemins UNC sous Windows
Ad

Un développeur a documenté l'utilisation de Claude Opus pour déboguer et corriger un bug dans le MCP Filesystem Server (version Extension Bureau) sous Windows. Le problème affectait les chemins de partage réseau UNC (par exemple, \\serveur\partage\).

Le Problème

Lors de l'utilisation d'un partage UNC comme répertoire autorisé, list_directory sur la racine du partage fonctionnait, mais toute opération sur les sous-répertoires ou fichiers échouait avec une erreur "Accès refusé - chemin en dehors des répertoires autorisés". L'écriture de fichiers à la racine échouait également, malgré le fait que le partage était entièrement accessible depuis l'Explorateur Windows et les lecteurs mappés.

Le Processus de Débogage

Claude a aidé à identifier que :

  • La configuration de la version Extension Bureau est stockée dans %APPDATA%\Claude\Claude Extensions Settings\ant.dir.ant.anthropic.filesystem.json, et non dans claude_desktop_config.json.
  • Basculer vers une lettre de lecteur mappé ne fonctionnait pas car Node.js fs.realpath() résout les lecteurs mappés en chemins UNC lors du démarrage du serveur.
  • Les fichiers sources du serveur (index.jslib.jspath-validation.js) ont été examinés pour trouver la cause racine.

Cause Racine

Dans path-validation.js, la fonction isPathWithinAllowedDirectories() vérifie l'appartenance des sous-répertoires avec :

return normalizedPath.startsWith(normalizedDir + path.sep);

Les racines de partage UNC sont des racines de système de fichiers (comme C:\) et conservent leur barre oblique inverse de fin après normalisation : \\serveur\partage\. Cela crée une double barre oblique inverse de fin (\\serveur\partage\\) qui ne correspond jamais aux chemins réels. Le code avait une gestion spéciale pour les racines de lecteur comme C:\ mais pas pour les racines UNC.

Ad

La Correction

Remplacer la ligne problématique par :

const dirWithSep = normalizedDir.endsWith(path.sep) ? normalizedDir : normalizedDir + path.sep;
return normalizedPath.startsWith(dirWithSep);

Appliquer le correctif avec cette commande PowerShell en une ligne :

$file = "$env:APPDATA\Claude\Claude Extensions\ant.dir.ant.anthropic.filesystem\node_modules\@modelcontextprotocol\server-filesystem\dist\path-validation.js"
Copy-Item $file "$HOME\Desktop\path-validation.js.backup"
$content = Get-Content $file -Raw
$content = $content.Replace(
  'return normalizedPath.startsWith(normalizedDir + path.sep);',
  'const dirWithSep = normalizedDir.endsWith(path.sep) ? normalizedDir : normalizedDir + path.sep; return normalizedPath.startsWith(dirWithSep);'
)
[System.IO.File]::WriteAllText($file, $content)

Ensuite, quittez complètement et redémarrez Claude Desktop. Claude a testé lui-même le correctif en utilisant les outils MCP après le redémarrage - listant les sous-répertoires et écrivant un fichier test pour confirmer la fonctionnalité.

Note : Ce correctif sera écrasé si l'extension se met à jour automatiquement. La correction devrait être implémentée en amont dans @modelcontextprotocol/server-filesystem. Problèmes GitHub associés : #1838, #470.

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also

Présentation de Lean Collab : Un Orchestrateur Multi-Agents pour les Tâches LLM de Longue Durée
Tools

Présentation de Lean Collab : Un Orchestrateur Multi-Agents pour les Tâches LLM de Longue Durée

Lean Collab est un orchestrateur open-source conçu pour gérer des tâches LLM de longue durée en utilisant des sous-agents coordonnés et parallèles.

OpenClawRadar
Comment Clawdbot coordonne 6 agents IA avec une file d'attente de production stable
Tools

Comment Clawdbot coordonne 6 agents IA avec une file d'attente de production stable

L'équipe de Clawdbot a construit un système de file d'attente de travail pour coordonner 6 agents IA (design, code, marketing, opérations) pour leur boutique gérée par IA. Le système comprend la réclamation atomique de tâches, une machine à états, une logique de nouvelle tentative avec backoff, des chaînes de tâches, un suivi de pulsation cardiaque et un orchestrateur démon.

OpenClawRadar
Le développeur d'OpenClaw recherche des cas d'usage percutants après 900 essais utilisateurs.
Tools

Le développeur d'OpenClaw recherche des cas d'usage percutants après 900 essais utilisateurs.

Le créateur d'OpenClaw rapporte que si les utilisateurs essaient des fonctionnalités comme les interfaces Telegram, les intégrations de calendrier et les flux de travail automatisés, la plupart n'utilisent pas l'outil à long terme. Le défi consiste à trouver des flux de travail d'utilisation quotidienne qui deviennent essentiels plutôt qu'expérimentaux.

OpenClawRadar
Tableau de bord Claude Ops : Statut en direct et suivi des sous-agents pour Claude Code
Tools

Tableau de bord Claude Ops : Statut en direct et suivi des sous-agents pour Claude Code

Un tableau de bord local gratuit pour navigateur macOS qui suit l'état en direct des sessions Claude Code, l'outil en cours, les sous-agents générés, et envoie des notifications push OS lorsque une intervention est nécessaire.

OpenClawRadar