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

Gemma 4 26B vs Qwen 3.5 27B: Benchmark de Fluxo de Trabalho Empresarial Local em RTX 4090
Tools

Gemma 4 26B vs Qwen 3.5 27B: Benchmark de Fluxo de Trabalho Empresarial Local em RTX 4090

Um desenvolvedor testou o Gemma 4 26B e o Qwen 3.5 27B em uma estação de trabalho RTX 4090 para 18 tarefas reais de operador de negócios. O Gemma venceu por 13 a 5, mostrando velocidade mais rápida e melhor disciplina para trabalho de execução diária, enquanto o Qwen se destacou em pensamento estratégico mais amplo.

OpenClawRadar
Doc Harness: Uma Habilidade de Código do Claude para Manter o Estado do Projeto Entre Sessões
Tools

Doc Harness: Uma Habilidade de Código do Claude para Manter o Estado do Projeto Entre Sessões

Doc Harness é uma habilidade do Claude Code que cria um sistema de documentação leve com cinco arquivos estruturados para ajudar agentes de IA a manter o contexto do projeto entre sessões. Ele aborda problemas como redefinições de contexto, regras esquecidas e a necessidade de reexplicar projetos para novos agentes.

OpenClawRadar
O OpenMind adiciona interface visual de mapa mental às instalações do OpenClaw.
Tools

O OpenMind adiciona interface visual de mapa mental às instalações do OpenClaw.

OpenMind é uma ferramenta de código aberto que transforma instalações do OpenClaw em mapas mentais interativos e editáveis em tempo real, com visualização de memória em tempo real, lógica intercambiável a quente e busca de texto completo em todos os nós.

OpenClawRadar
AgenteStore MCP: Kit de Ferramentas Python para Claude Desktop com 27 Ferramentas Locais
Tools

AgenteStore MCP: Kit de Ferramentas Python para Claude Desktop com 27 Ferramentas Locais

AgenticStore MCP é um kit de ferramentas Python de código aberto que substitui múltiplos servidores MCP por uma única instalação, fornecendo ao Claude Desktop 27 ferramentas locais, incluindo memória persistente, busca na web e auditoria de repositórios, sem exigir configuração de Docker ou Node.js.

OpenClawRadar