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

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 dansclaude_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.js→lib.js→path-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.
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
👀 See Also

MCP + Cadre de compétences : Guider les agents IA pour des flux de travail efficaces en science des données
Une approche pratique utilisant le serveur MCP et un framework de compétences pour guider les agents Claude/GPT vers des workflows de science des données efficaces et conscients de la plateforme — évitant le code lourd côté client et les mouvements de données inutiles.

Meta Ads MCP OAuth fonctionne, mais la plupart des comptes publicitaires ne sont pas encore activés
Le flux OAuth de Meta Ads MCP fonctionne et charge 29 outils, mais ads_get_ad_accounts renvoie is_ads_mcp_enabled: false avec un message indiquant que la fonctionnalité est déployée progressivement.

Homme des cavernes : Une Compétence de Code Claude Qui Réduit de 75 % les Tokens en Utilisant un Discours de Style Homme des Cavernes
Caveman est une compétence Claude Code qui réduit l'utilisation de tokens d'environ 75 % en faisant répondre Claude dans un style concis, semblable à celui d'un homme des cavernes, tout en conservant une précision technique complète. Il est installé via npx ou le marché des plugins Claude.

Open Source Claude Code Skills pour un Contenu de Réseaux Sociaux Personnalisé
Un développeur a mis en open source 13 compétences Claude Code qui aident Claude à rédiger du contenu pour les réseaux sociaux avec votre propre voix. Les compétences incluent des outils de définition du contexte, de stratégie, de création et d'analyse pour LinkedIn, Twitter/X, Threads et Bluesky.