AI FileSystem MCP

Um servidor MCP com inteligência artificial para operações avançadas de sistema de arquivos, incluindo busca, comparação e análise de segurança.

Documentação

ai-filesystem-mcp

A edição do seu agente de IA não é atômica. Este MCP faz com que seja.

Um servidor MCP de ferramenta única para alterações atômicas em múltiplos arquivos com rollback automático — criado para Claude Code, Codex CLI, agentes Cursor e outros agentes de codificação modernos.

Esses agentes vêm com ferramentas integradas excelentes para leitura, escrita, busca, edição e shell. Eles não vêm com uma primitiva para "aplicar estas N operações de arquivo como uma única transação; se qualquer uma delas falhar, reverta tudo." Essa é a única coisa que este MCP oferece.

A ferramenta

transaction — aplica um lote de operações de arquivo atomicamente.

{
  "name": "transaction",
  "arguments": {
    "operations": [
      { "type": "create", "path": "src/feature.ts",  "content": "..." },
      { "type": "write",  "path": "src/index.ts",    "content": "..." },
      { "type": "update", "path": "src/lib/util.ts",
        "updates": [{ "oldText": "foo()", "newText": "foo(arg)" }] },
      { "type": "move",   "path": "src/old.ts", "destination": "src/legacy/old.ts" },
      { "type": "delete", "path": "src/dead.ts" }
    ],
    "rollbackOnError": true
  }
}

Se a operação 4 falhar, as operações 1-3 são restauradas a partir do backup antes que a chamada retorne. Se tudo for bem-sucedido, os backups são limpos.

Tipos de operação

typeCampos obrigatóriosO que faz
createpath, contentCria um novo arquivo (cria diretórios pais).
writepath, contentSobrescreve um arquivo existente.
updatepath, updates[]String.replace(oldText, newText) no local para cada atualização, em ordem.
movepath, destinationRenomeia pathdestination.
deletepathRemove um arquivo ou diretório (recursivo).

Por que uma única ferramenta

As versões 2.x anteriores traziam 39 comandos: I/O de arquivos, busca, git, análise de código, shell, arquivos compactados, diffs, metadados, criptografia, monitor de arquivos. Agentes de codificação modernos já fazem tudo isso melhor com suas próprias ferramentas Read / Edit / Write / Grep / Glob / Bash — envolver essas em MCP apenas adiciona latência e uma nova superfície de falha.

O que o Edit de um agente não consegue fazer é tratar várias alterações de arquivo como uma única unidade de trabalho. Se a operação 4 de 5 falhar, as operações 1-3 já estão no disco. Até que o agente adquira uma primitiva de transação real, essa lacuna é preenchida externamente — que é exatamente o trabalho deste servidor.

Quando você realmente precisa disso

Você provavelmente não precisa disso para uma rodada típica de "corrigir este bug". Você precisa quando uma única alteração lógica deve envolver vários arquivos ao mesmo tempo:

  • Migração de banco de dados: arquivo de schema + modelo ORM correspondente + fixtures de teste correspondentes devem todos ser aplicados ou todos revertidos.
  • Renomeação/refatoração transversal que abrange muitos arquivos e seria aplicada pela metade se o agente travar ou ficar sem contexto no meio do processo.
  • Atualizações de código gerado onde a saída do gerador e a cola editada manualmente devem permanecer em sincronia.
  • Config + alteração de código correspondente (ex.: entrada de tabela de roteamento + handler), onde o estado parcial fica quebrado.

Se a sua edição cabe em um arquivo, basta usar o Edit do agente. Se cabe em um comando de shell, basta usar Bash. Recorra ao transaction somente quando "tudo ou nada" realmente importar.

Instalação

Requer Node.js ≥ 18.

npm install -g ai-filesystem-mcp

Ou a partir do código-fonte:

git clone https://github.com/proofmath-owner/ai-filesystem-mcp.git
cd ai-filesystem-mcp
npm install
npm run build
node dist/index.js

Configuração (Claude Code / Codex CLI / qualquer cliente MCP)

{
  "mcpServers": {
    "ai-filesystem": {
      "command": "node",
      "args": ["/absolute/path/to/ai-filesystem-mcp/dist/index.js"]
    }
  }
}

Comunica-se via stdio JSON-RPC. Sem portas de rede.

Modelo de confiança

Executa localmente ao lado de um agente de IA confiável como o usuário que o iniciou. Não há sandbox de caminho; o limite de confiança é a sua máquina. Não exponha a clientes não confiáveis.

Desenvolvimento

npm install
npm run dev      # tsx watch on src/index.ts
npm run build    # tsc -> dist/
npm run lint
npm run format

Erros de tsc fazem o build falhar. Sem tsc || true.

Licença

MIT