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

✍️ OpenClawRadar📅 Опубликовано: 18 марта 2026 г.🔗 Source
Клод исправляет и отлаживает собственную ошибку в сервере файловой системы MCP, связанную с UNC-путями в Windows.
Ad

Разработчик задокументировал использование 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.

Ad

Исправление

Замените проблемную строку на:

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

Ad

👀 Смотрите также

Навык сканирования безопасности для ИИ-агентов программирования автоматически проверяет развертывания.
Инструменты

Навык сканирования безопасности для ИИ-агентов программирования автоматически проверяет развертывания.

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

OpenClawRadar
Prism MCP v2.1 добавляет постоянную память к сессиям Claude.
Инструменты

Prism MCP v2.1 добавляет постоянную память к сессиям Claude.

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

OpenClawRadar
ClearSpec: Генератор спецификаций для снижения галлюцинаций в коде Claude
Инструменты

ClearSpec: Генератор спецификаций для снижения галлюцинаций в коде Claude

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

OpenClawRadar
Разработчик видеоредакторов создает бесплатный инструмент для транскрипции Treelo с использованием кода Claude.
Инструменты

Разработчик видеоредакторов создает бесплатный инструмент для транскрипции Treelo с использованием кода Claude.

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

OpenClawRadar