ast-outline-mcp

Servidor MCP para ast-outline — uma CLI baseada em tree-sitter que permite que agentes de codificação de IA extraiam exatamente o que precisam de uma base de código: esboços estruturais, resumos de módulos, corpos de símbolos e grep com reconhecimento de AST.

Documentação

ast-outline-mcp

Um servidor MCP (Model Context Protocol) para ast-outline — uma CLI baseada em tree-sitter que permite que agentes de IA de codificação extraiam exatamente o que precisam de um codebase: outlines estruturais, resumos de módulos, corpos de símbolos e busca com reconhecimento de AST.

Por quê

Agentes de codificação com LLM exploram codebases lendo arquivos diretamente. Um arquivo de 1200 linhas custa 1200 linhas de contexto apenas para responder "quais métodos estão aqui?" — ast-outline fornece a forma do arquivo em 60–100 linhas, e este servidor MCP expõe essa funcionalidade para qualquer cliente compatível com MCP.

Pré-requisitos

uv tool install ast-outline

Instalação

Executar via npx (sem necessidade de instalação)

npx ast-outline-mcp

Instalar globalmente

npm install -g ast-outline-mcp
ast-outline-mcp

Configuração do Cliente MCP

Adicione à configuração do seu cliente MCP (ex.: Claude Desktop):

{
  "mcpServers": {
    "ast-outline": {
      "command": "npx",
      "args": ["ast-outline-mcp"]
    }
  }
}

Ferramentas

digest

Obtenha um mapa de módulo compacto de uma página de um diretório. Cada arquivo recebe um rótulo de tamanho e uma estimativa de tokens. Recomendado para uma visão geral inicial de um codebase.

Parâmetros:

  • path (string, obrigatório) — Caminho do diretório para resumir

outline

Obtenha um outline estrutural de um ou mais arquivos ou diretórios. Retorna assinaturas com intervalos de linhas (sem corpos).

Parâmetros:

  • path (string, obrigatório) — Caminho do arquivo ou diretório para outline
  • imports (boolean) — Incluir declarações de import/use/using
  • noPrivate (boolean) — Excluir membros privados
  • noFields (boolean) — Excluir campos/propriedades
  • noDocs (boolean) — Excluir comentários de documentação
  • noAttrs (boolean) — Excluir atributos/decoradores

show

Extraia o corpo completo da fonte de um ou mais símbolos de um arquivo.

Parâmetros:

  • file (string, obrigatório) — Caminho do arquivo para extrair símbolos
  • symbols (string[], obrigatório) — Nomes dos símbolos a extrair
  • signature (boolean) — Retornar apenas cabeçalho/assinatura, sem corpo

grep

Busca estrutural com reconhecimento de AST em arquivos. Correspondências agrupadas por classe/função delimitadora.

Parâmetros:

  • pattern (string, obrigatório) — Padrão de busca (literal ou regex, auto-detectado)
  • path (string, obrigatório) — Caminho do arquivo ou diretório para buscar
  • kind (enum: def|call|ref|import) — Restringir resultados por tipo de classificação
  • wordMatch (boolean) — Corresponder apenas palavras inteiras
  • caseInsensitive (boolean) — Correspondência sem diferenciar maiúsculas/minúsculas
  • filesOnly (boolean) — Listar apenas arquivos correspondentes
  • count (boolean) — Mostrar contagens de correspondências por arquivo
  • maxCount (number) — Número máximo de correspondências por arquivo

Prompts

explore-codebase

Um prompt que orienta um LLM a explorar eficientemente um codebase usando as ferramentas do ast-outline.

Desenvolvimento

npm install
npm test
npm run build

Linguagens Suportadas

O ast-outline suporta mais de 20 linguagens, incluindo TypeScript, Python, Go, Rust, C#, Java, Kotlin, Ruby, PHP e outras. Veja a lista completa.

Licença

MIT