클로드는 윈도우에서 자체 MCP 파일시스템 서버의 UNC 경로 버그를 디버깅하고 수정합니다

개발자가 Windows에서 MCP 파일시스템 서버(데스크톱 확장 버전)의 버그를 디버깅하고 수정하기 위해 Claude Opus를 사용한 과정을 문서화했습니다. 이 문제는 UNC 네트워크 공유 경로(예: \\server\share\)에 영향을 미쳤습니다.
문제점
UNC 공유를 허용된 디렉터리로 사용할 때, 공유 루트에서의 list_directory는 작동했지만, 하위 디렉터리나 파일에 대한 모든 작업이 "접근 거부 - 허용된 디렉터리 외부 경로" 오류로 실패했습니다. Windows 탐색기와 매핑된 드라이브에서는 공유에 완전히 접근할 수 있었음에도 불구하고, 루트에 파일 쓰기도 실패했습니다.
디버깅 과정
Claude는 다음과 같은 사항을 파악하는 데 도움을 주었습니다:
- 데스크톱 확장 버전의 구성은
claude_desktop_config.json이 아닌%APPDATA%\Claude\Claude Extensions Settings\ant.dir.ant.anthropic.filesystem.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 데스크톱을 완전히 종료하고 다시 시작합니다. Claude는 재시작 후 MCP 도구를 사용하여 수정 사항을 직접 테스트했습니다—하위 디렉터리 목록을 확인하고 테스트 파일을 작성하여 기능을 확인했습니다.
참고: 이 패치는 확장이 자동 업데이트되면 덮어쓰여질 것입니다. 수정 사항은 @modelcontextprotocol/server-filesystem에서 상위 수준으로 구현되어야 합니다. 관련 GitHub 이슈: #1838, #470.
📖 전체 소스 읽기: r/ClaudeAI
👀 See Also

클로드 코드 울트라코드 모드, 딥 서치를 위한 70개 에이전트 파이프라인 생성
Claude Code의 ultracode 모드에서 단일 'deep search' 요청이 4단계 파이프라인에 약 70개의 에이전트를 자동 생성하여 각자 독립적으로 프로젝트를 가져오고 교차 확인합니다. 오케스트레이터 스크립트는 중간 결과를 컨텍스트 창 밖에 두어 컨텍스트 과부하를 방지합니다.

클로드 코드 v2.1.141: 새로운 환경 변수, 후크 개선, 버그 수정
Anthropic이 Claude Code v2.1.141을 출시했습니다. 새로운 환경 변수(CLAUDE_CODE_PLUGIN_PREFER_HTTPS, ANTHROPIC_WORKSPACE_ID), 훅용 terminalSequence 필드, cwd별 에이전트 목록, 20개 이상의 버그 수정이 포함되어 있습니다.

OpenClaw Codex-GPT5.4 작업 검증 루프 문제
개발자가 OpenClaw를 통해 Codex-GPT5.4를 사용하여 자율 프로젝트 작업 중 작업 검증 루프에 갇히는 문제를 보고했습니다. 모델이 작업을 식별하고 확인만 반복하며 실제로 실행하지 않는 현상입니다. 이 문제를 해결하기 위해 TASKS.md, 하트비트 규칙, 페르소나 파일 등 작업 공간 제어 장치를 구현했습니다.

AutoDream: 안전 기능이 포함된 Claude Code용 11-후크 메모리 시스템
AutoDream은 Claude Code에 프로젝트 메모리 지속성과 명령어 안전성을 추가하는 오픈소스 도구입니다. 6개 이벤트에 걸쳐 11개의 훅을 사용하여 컨텍스트를 주입하고, 위험한 명령어를 차단하며, /compact 작업을 견뎌냅니다.