Claude Depura y Corrige Su Propio Error de Ruta UNC del Servidor de Sistema de Archivos MCP en Windows

Un desarrollador documentó el uso de Claude Opus para depurar y corregir un error en el MCP Filesystem Server (versión de extensión de escritorio) en Windows. El problema afectaba a las rutas de recursos compartidos UNC (por ejemplo, \\servidor\recurso\).
El Problema
Al usar un recurso compartido UNC como directorio permitido, list_directory en la raíz del recurso funcionaba, pero cualquier operación en subdirectorios o archivos fallaba con un error "Acceso denegado - ruta fuera de los directorios permitidos". Escribir archivos en la raíz también fallaba, a pesar de que el recurso era completamente accesible desde el Explorador de Windows y las unidades mapeadas.
El Proceso de Depuración
Claude ayudó a identificar que:
- La configuración para la versión de extensión de escritorio se almacena en
%APPDATA%\Claude\Claude Extensions Settings\ant.dir.ant.anthropic.filesystem.json, no enclaude_desktop_config.json. - Cambiar a una letra de unidad mapeada no funcionaba porque Node.js
fs.realpath()resuelve las unidades mapeadas de vuelta a rutas UNC durante el inicio del servidor. - Se examinaron los archivos fuente del servidor (
index.js→lib.js→path-validation.js) para encontrar la causa raíz.
Causa Raíz
En path-validation.js, la función isPathWithinAllowedDirectories() verifica la pertenencia de subdirectorios con:
return normalizedPath.startsWith(normalizedDir + path.sep);Las raíces de recursos compartidos UNC son raíces del sistema de archivos (como C:\) y conservan su barra invertida final después de la normalización: \\servidor\recurso\. Esto crea una doble barra invertida final (\\servidor\recurso\\) que nunca coincide con las rutas reales. El código tenía manejo especial para raíces de unidad como C:\ pero no para raíces UNC.
La Solución
Reemplazar la línea problemática con:
const dirWithSep = normalizedDir.endsWith(path.sep) ? normalizedDir : normalizedDir + path.sep;
return normalizedPath.startsWith(dirWithSep);Aplicar el parche con esta línea única de PowerShell:
$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)Luego cerrar completamente y reiniciar Claude Desktop. Claude probó la solución por sí mismo usando herramientas MCP después de reiniciar—listando subdirectorios y escribiendo un archivo de prueba para confirmar la funcionalidad.
Nota: Este parche se sobrescribirá si la extensión se actualiza automáticamente. La solución debe implementarse aguas arriba en @modelcontextprotocol/server-filesystem. Problemas relacionados en GitHub: #1838, #470.
📖 Leer la fuente completa: r/ClaudeAI
👀 Ver también

LystBot: Un Servidor MCP para Claude que Gestiona Listas y Tareas
LystBot es una aplicación de gestión de listas con un servidor MCP nativo que permite a Claude interactuar directamente con listas de compras, tareas pendientes y listas de empaque. Desarrollada principalmente con Claude Code, incluye una aplicación móvil Flutter, API REST, CLI y un servidor MCP Node.js de código abierto.

Claude añade función de importación de memoria para migrar desde otros proveedores de IA
Claude ahora permite a los usuarios importar contexto y preferencias de otros proveedores de IA mediante un proceso de copiar y pegar. La función de memoria está disponible en todos los planes de pago y ayuda a mantener el historial de conversaciones al cambiar de plataforma.

CipherClaw: Usando una Persona de Seguridad para Auditar Código con Claude
Un desarrollador utilizó CipherClaw, una persona de CLAUDE.md llamada TALON, para hacer que Claude Code pensara como un arquitecto de seguridad. Al ejecutarlo en una aplicación Next.js, reveló 17 hallazgos de seguridad, incluyendo vulnerabilidades críticas como endpoints no autenticados que devuelven datos de administrador y tokens de autenticación codificados.
Un plugin escrito por Claw añade soporte para el nivel de pensamiento Qwen 3.8 27B a OpenClaw
Un desarrollador comparte un plugin, escrito íntegramente por un agente de IA, que propaga los niveles de pensamiento de Qwen 3.8 a través de la plantilla de chat, con anulaciones opcionales por llamada y soporte de modo instructivo.