MCP File System Server

Um servidor para operações seguras e isoladas de sistema de arquivos.

Documentação

Servidor de Sistema de Arquivos MCP

Um servidor Model Context Protocol (MCP) que fornece operações seguras de sistema de arquivos por meio de um ambiente isolado (sandbox).

Recursos

  • Operações Seguras de Arquivos: Todas as operações são restritas a um diretório base configurável
  • Proteção contra Travessia de Caminho: Impede o acesso a arquivos fora do diretório permitido
  • Ferramentas Abrangentes: Ler, escrever, listar, excluir, mover e copiar arquivos
  • Tratamento de Erros: Tratamento robusto de erros com mensagens informativas

Instalação

  1. Instale as dependências:
make install
  1. Defina o diretório base (opcional):
export MCP_FILE_SYSTEM_BASE_DIR="/path/to/your/sandbox"

Uso

Executando o Servidor

make run

Ou diretamente:

uv run src/main.py

Ferramentas Disponíveis

  • read_file(file_path: str) - Ler o conteúdo de arquivos
  • write_file(file_path: str, content: str) - Escrever conteúdo em arquivos
  • list_directory(directory_path: str) - Listar o conteúdo do diretório
  • delete_file(file_path: str) - Excluir um arquivo
  • move_file(source_path: str, destination_path: str) - Mover/renomear um arquivo
  • copy_file(source_path: str, destination_path: str) - Copiar um arquivo

Configuração

O servidor usa a variável de ambiente MCP_FILE_SYSTEM_BASE_DIR para definir o diretório base para todas as operações de arquivo. Se não for definida, o padrão será /tmp/mcp_file_system.

Segurança

  • Todos os caminhos são resolvidos em relação ao diretório base
  • Ataques de travessia de caminho (usando ..) são impedidos
  • O acesso fora do diretório base é bloqueado
  • As operações de arquivo são isoladas em sandbox

Testes

Teste se o servidor importa corretamente:

make test

Desenvolvimento

Execute em modo de desenvolvimento com recarga automática:

make dev

Integração com o Claude Desktop

Para usar este servidor com o Claude Desktop, adicione o seguinte ao seu ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "file-system": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp_file_system",
        "run",
        "src/main.py"
      ]
    }
  }
}

Substitua /ABSOLUTE/PATH/TO/mcp_file_system pelo caminho absoluto real para o diretório do seu projeto.