Claude Depura e Corrige Seu Próprio Bug de Caminho UNC no Servidor de Sistema de Arquivos MCP no Windows

✍️ OpenClawRadar📅 Publicado: March 18, 2026🔗 Source
Claude Depura e Corrige Seu Próprio Bug de Caminho UNC no Servidor de Sistema de Arquivos MCP no Windows
Ad

Um desenvolvedor documentou o uso do Claude Opus para depurar e corrigir um bug no MCP Filesystem Server (versão da Extensão para Desktop) no Windows. O problema afetava os caminhos de compartilhamento de rede UNC (por exemplo, \\servidor\compartilhamento\).

O Problema

Ao usar um compartilhamento UNC como um diretório permitido, o list_directory na raiz do compartilhamento funcionava, mas qualquer operação em subdiretórios ou arquivos falhava com um erro "Acesso negado - caminho fora dos diretórios permitidos". A gravação de arquivos na raiz também falhava, apesar do compartilhamento estar totalmente acessível pelo Windows Explorer e por unidades mapeadas.

O Processo de Depuração

O Claude ajudou a identificar que:

  • A configuração para a versão da Extensão para Desktop é armazenada em %APPDATA%\Claude\Claude Extensions Settings\ant.dir.ant.anthropic.filesystem.json, não em claude_desktop_config.json.
  • Mudar para uma letra de unidade mapeada não funcionou porque o fs.realpath() do Node.js resolve as unidades mapeadas de volta para caminhos UNC durante a inicialização do servidor.
  • Os arquivos de origem do servidor (index.jslib.jspath-validation.js) foram examinados para encontrar a causa raiz.

Causa Raiz

Em path-validation.js, a função isPathWithinAllowedDirectories() verifica a associação de subdiretórios com:

return normalizedPath.startsWith(normalizedDir + path.sep);

As raízes de compartilhamento UNC são raízes do sistema de arquivos (como C:\) e mantêm sua barra invertida final após a normalização: \\servidor\compartilhamento\. Isso cria uma barra invertida dupla final (\\servidor\compartilhamento\\) que nunca corresponde aos caminhos reais. O código tinha tratamento especial para raízes de unidade como C:\, mas não para raízes UNC.

Ad

A Correção

Substitua a linha problemática por:

const dirWithSep = normalizedDir.endsWith(path.sep) ? normalizedDir : normalizedDir + path.sep;
return normalizedPath.startsWith(dirWithSep);

Aplique o patch com esta linha única do 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)

Em seguida, saia completamente e reinicie o Claude Desktop. O próprio Claude testou a correção usando ferramentas MCP após reiniciar — listando subdiretórios e gravando um arquivo de teste para confirmar a funcionalidade.

Observação: Este patch será sobrescrito se a extensão for atualizada automaticamente. A correção deve ser implementada na fonte em @modelcontextprotocol/server-filesystem. Problemas relacionados no GitHub: #1838, #470.

📖 Leia a fonte completa: r/ClaudeAI

Ad

👀 See Also

Rift: Uma Alternativa Melhor para Git Worktrees com Snapshots Instantâneos de Copy-on-Write
Tools

Rift: Uma Alternativa Melhor para Git Worktrees com Snapshots Instantâneos de Copy-on-Write

Rift usa snapshots btrfs ou APFS para criar cópias instantâneas e eficientes de repositórios Git. Inicialização, criação e listagem via CLI ou JavaScript FFI.

OpenClawRadar
SWE-CI: Novos Testes de Referência Avaliam Agentes de IA na Manutenção de Código de Longo Prazo via CI
Tools

SWE-CI: Novos Testes de Referência Avaliam Agentes de IA na Manutenção de Código de Longo Prazo via CI

SWE-CI é um benchmark em nível de repositório que avalia agentes baseados em LLM na manutenção de bases de código através de ciclos de integração contínua, deslocando o foco da correção estática de bugs para a manutenibilidade de longo prazo em 100 tarefas do mundo real.

OpenClawRadar
O plugin Claude Code analisa qualquer plugin e gera relatórios interativos de wiki.
Tools

O plugin Claude Code analisa qualquer plugin e gera relatórios interativos de wiki.

Um novo plugin Claude Code chamado vision-powers analisa qualquer caminho de plugin ou URL do GitHub e gera um relatório interativo em HTML com diagramas de arquitetura, auditorias de segurança e análise de habilidades. A instalação é feita via claude plugin add vision-powers@claude-code-zero.

OpenClawRadar
Plugin de Memória Compartilhada OpenClaw: Coordenação Multi-Agente Baseada em SQLite
Tools

Plugin de Memória Compartilhada OpenClaw: Coordenação Multi-Agente Baseada em SQLite

Um desenvolvedor criou um plugin para configurações de múltiplos agentes OpenClaw que permite que os agentes compartilhem memória usando SQLite, eliminando a necessidade de serviços externos. O plugin permite compartilhamento explícito de memória por meio de uma ferramenta, extração automática de contexto, controle de acesso, rastreamento de entidades e detecção de contradições.

OpenClawRadar