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
- Node.js >= 18
- CLI
ast-outlineinstalada e disponível no PATH (guia de instalação)
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 outlineimports(boolean) — Incluir declarações de import/use/usingnoPrivate(boolean) — Excluir membros privadosnoFields(boolean) — Excluir campos/propriedadesnoDocs(boolean) — Excluir comentários de documentaçãonoAttrs(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ímbolossymbols(string[], obrigatório) — Nomes dos símbolos a extrairsignature(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 buscarkind(enum: def|call|ref|import) — Restringir resultados por tipo de classificaçãowordMatch(boolean) — Corresponder apenas palavras inteirascaseInsensitive(boolean) — Correspondência sem diferenciar maiúsculas/minúsculasfilesOnly(boolean) — Listar apenas arquivos correspondentescount(boolean) — Mostrar contagens de correspondências por arquivomaxCount(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