클로드는 윈도우에서 자체 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

에이전트 UI를 위한 스트리밍 실행 프로토콜로서의 마크다운
한 개발자가 마크다운을 통합 프로토콜로 사용하여 생성형 UI와 코드 실행을 AI 에이전트에 결합하는 방법을 탐구하는 프로토타입을 구축했습니다. 이 시스템은 텍스트, 실행 가능한 코드, 데이터를 단일 응답으로 스트리밍하며, 코드는 도착하는 대로 점진적으로 실행됩니다.

HolyClaude: Claude 코드용 Docker 컨테이너, 브라우저 UI 및 헤드리스 크롬 포함
HolyClaude는 Claude Code CLI를 브라우저 UI, 헤드리스 크로미움 및 추가 AI 코딩 도구와 함께 패키징한 오픈소스 Docker 컨테이너입니다. 설정은 docker compose up만으로 가능하며 localhost:3001에서 접근할 수 있습니다.

벤치마크 결과: AI 에이전트를 위한 GitHub CLI 대 MCP 접근 방식
독립 벤치마크에서 AI 에이전트 작업을 위해 GitHub CLI, MCP, 도구 검색 기능이 있는 MCP, 코드 모드가 있는 MCP를 비교했습니다. GitHub CLI가 가장 비용 효율적이었으며, MCP 접근 방식은 비용, 지연 시간, 실패 모드에서 트레이드오프를 보였습니다.

멀티-오퍼레이터 클로드 코드: 멀티-에이전트 세션을 위한 허브 기반 아키텍처
Claude Code에 허브 기반 설정을 도입하면 여러 사람이 동일한 세션에 접속하고, 저장소 간에 하위 작업을 라우팅하며, Docker 컨테이너에서 헤드리스 에이전트를 실행할 수 있습니다.