Клод исправляет и отлаживает собственную ошибку в сервере файловой системы MCP, связанную с UNC-путями в Windows.

Разработчик задокументировал использование Claude Opus для отладки и исправления ошибки в MCP Filesystem Server (версия Desktop Extension) в Windows. Проблема затрагивала пути к сетевым ресурсам UNC (например, \\server\share\).
Проблема
При использовании сетевого ресурса UNC в качестве разрешённого каталога, list_directory в корне ресурса работал, но любые операции с подкаталогами или файлами завершались ошибкой "Доступ запрещён - путь находится вне разрешённых каталогов". Запись файлов в корень также не работала, несмотря на полную доступность ресурса из проводника Windows и через подключённые диски.
Процесс отладки
Claude помог выявить, что:
- Конфигурация для версии Desktop Extension хранится в
%APPDATA%\Claude\Claude Extensions Settings\ant.dir.ant.anthropic.filesystem.json, а не вclaude_desktop_config.json. - Переключение на букву подключённого диска не сработало, потому что Node.js
fs.realpath()разрешает подключённые диски обратно в пути UNC при запуске сервера. - Исходные файлы сервера (
index.js→lib.js→path-validation.js) были изучены для поиска первопричины.
Первопричина
В path-validation.js функция isPathWithinAllowedDirectories() проверяет принадлежность подкаталога с помощью:
return normalizedPath.startsWith(normalizedDir + path.sep);Корни сетевых ресурсов UNC являются корнями файловой системы (как C:\) и сохраняют завершающую обратную косую черту после нормализации: \\server\share\. Это создаёт двойную завершающую обратную косую черту (\\server\share\\), которая никогда не совпадает с реальными путями. В коде была специальная обработка для корней дисков, таких как C:\, но не для корней UNC.
Исправление
Замените проблемную строку на:
const dirWithSep = normalizedDir.endsWith(path.sep) ? normalizedDir : normalizedDir + path.sep;
return normalizedPath.startsWith(dirWithSep);Примените патч с помощью этой однострочной команды 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)Затем полностью закройте и перезапустите Claude Desktop. Claude сам протестировал исправление с помощью инструментов MCP после перезапуска — перечислив подкаталоги и записав тестовый файл для подтверждения работоспособности.
Примечание: Этот патч будет перезаписан, если расширение обновится автоматически. Исправление должно быть реализовано на уровне исходного кода в @modelcontextprotocol/server-filesystem. Связанные проблемы на GitHub: #1838, #470.
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

Навык сканирования безопасности для ИИ-агентов программирования автоматически проверяет развертывания.
Разработчик создал файл навыка, который позволяет ИИ-агентам для программирования автоматически сканировать свои развертывания на наличие открытых .env файлов, открытых портов, отсутствующих заголовков безопасности и утечек исходного кода. Сканирование выполняется после каждого развертывания и занимает около 30 секунд.

Prism MCP v2.1 добавляет постоянную память к сессиям Claude.
Prism MCP v2.1.0 'Дворец разума' обеспечивает постоянную память сессий для Claude, устраняя необходимость повторного объяснения контекста проекта. Он включает локальное хранилище SQLite, визуальный браузер памяти, откат состояния и синхронизацию контекста между клиентами.

ClearSpec: Генератор спецификаций для снижения галлюцинаций в коде Claude
ClearSpec — это инструмент, который генерирует структурированные спецификации из простых описаний на английском языке, подключается к репозиториям GitHub для ссылок на реальные пути к файлам и зависимости, а затем использует эти спецификации в качестве промптов для Claude Code, чтобы предоставить более качественный контекст.

Разработчик видеоредакторов создает бесплатный инструмент для транскрипции Treelo с использованием кода Claude.
Видеоредактор создал Treelo — бесплатный веб-инструмент, который преобразует аудио/видеофайлы в редактируемые блоки с временными метками, включает пресеты субтитров и экспортирует в форматы SRT, VTT, ASS и WAV. Инструмент был создан в ходе итеративных диалогов с Claude Code.