Codebase Context Dumper

Forneça facilmente o contexto do código-fonte para Modelos de Linguagem de Grande Porte (LLMs).

Documentação

MseeP.ai Security Assessment Badge

codebase-context-dumper MCP Server

smithery badge npm version License: Apache-2.0

Um servidor de Model Context Protocol (MCP) projetado para exportar facilmente o contexto do seu codebase para Large Language Models (LLMs).

@lex-tools/codebase-context-dumper MCP server

Por que usar isso?

Janelas de contexto grandes em LLMs são poderosas, mas selecionar e formatar arquivos manualmente a partir de um codebase extenso é tedioso. Esta ferramenta automatiza o processo ao:

  • Examinar recursivamente o diretório do seu projeto.
  • Incluir arquivos de texto da árvore de diretórios especificada que não sejam excluídos pelas regras de .gitignore.
  • Ignorar automaticamente arquivos binários.
  • Concatenar o conteúdo com marcadores claros de caminho de arquivo.
  • Suportar particionamento (chunking) para lidar com codebases maiores que a janela de contexto do modelo.
  • Integrar-se perfeitamente com clientes compatíveis com MCP.

Uso (Recomendado: npx)

A maneira mais fácil de usar esta ferramenta é via npx, que executa a versão mais recente sem precisar de instalação local.

Configure seu cliente MCP (por exemplo, Claude Desktop, extensões do VS Code) para usar o seguinte comando:

{
  "mcpServers": {
    "codebase-context-dumper": {
      "command": "npx",
      "args": [
        "-y",
        "@lex-tools/codebase-context-dumper"
      ]
    }
  }
}

O cliente MCP poderá então invocar a ferramenta dump_codebase_context fornecida por este servidor.

Recursos e Detalhes da Ferramenta

Ferramenta: dump_codebase_context

Lê recursivamente arquivos de texto de um diretório especificado, respeitando as regras de .gitignore e ignorando arquivos binários. Concatena o conteúdo com cabeçalhos/rodapés de caminho de arquivo. Suporta o particionamento da saída para codebases grandes.

Funcionalidades:

  • Examina o diretório fornecido em base_path.
  • Respeita os arquivos de .gitignore em todos os níveis (incluindo arquivos aninhados e o .git por padrão).
  • Detecta e ignora arquivos binários.
  • Lê o conteúdo de cada arquivo de texto válido.
  • Adiciona um cabeçalho (--- START: relative/path/to/file ---) e um rodapé (--- END: relative/path/to/file ---) ao conteúdo de cada arquivo.
  • Concatena todo o conteúdo processado dos arquivos em uma única string.

Parâmetros de Entrada:

  • base_path (string, obrigatório): O caminho absoluto para o diretório do projeto a ser examinado.
  • num_chunks (inteiro, opcional, padrão: 1): O número total de partes (chunks) em que a saída será dividida. Deve ser >= 1.
  • chunk_index (inteiro, opcional, padrão: 1): O índice baseado em 1 da parte a ser retornada. Requer os parâmetros num_chunks > 1 e chunk_index <= num_chunks.

Saída: Retorna o conteúdo de texto concatenado (e possivelmente particionado).

Instalação e Uso Local (Avançado)

Se você preferir executar uma versão local (por exemplo, para desenvolvimento):

  1. Clone o repositório:
    git clone git@github.com:lex-tools/codebase-context-dumper.git
    cd codebase-context-dumper
    
  2. Instale as dependências:
    npm install
    
  3. Compile o servidor:
    npm run build
    
  4. Configure seu cliente MCP para apontar para a saída da compilação local:
    {
      "mcpServers": {
        "codebase-context-dumper": {
          "command": "/path/to/your/local/codebase-context-dumper/build/index.js" // Adjust path
        }
      }
    }
    

Contribuindo

Contribuições são bem-vindas! Consulte CONTRIBUTING.md para detalhes sobre desenvolvimento, depuração e publicação de novas versões.

Licença

Este projeto é licenciado sob a Apache License 2.0. Consulte o arquivo LICENSE para mais detalhes.