ast-outline-mcp
Servidor MCP para ast-outline — una CLI basada en tree-sitter que permite a los agentes de codificación de IA extraer exactamente lo que necesitan de un código base: esquemas estructurales, resúmenes de módulos, cuerpos de símbolos y grep con conocimiento de AST.
Documentación
ast-outline-mcp
Un servidor MCP (Protocolo de Contexto de Modelo) para ast-outline — una CLI basada en tree-sitter que permite a los agentes de codificación de IA extraer exactamente lo que necesitan de un código base: esquemas estructurales, resúmenes de módulos, cuerpos de símbolos y búsqueda grep consciente del AST.
Por qué
Los agentes de codificación de LLM exploran códigos base leyendo archivos directamente. Un archivo de 1200 líneas cuesta 1200 líneas de contexto solo para responder "¿qué métodos hay aquí?" — ast-outline proporciona la forma del archivo en 60–100 líneas, y este servidor MCP expone esa funcionalidad a cualquier cliente compatible con MCP.
Requisitos previos
- Node.js >= 18
- CLI de
ast-outlineinstalada y disponible en PATH (guía de instalación)
uv tool install ast-outline
Instalación
Ejecutar vía npx (sin necesidad de instalar)
npx ast-outline-mcp
Instalar globalmente
npm install -g ast-outline-mcp
ast-outline-mcp
Configuración del Cliente MCP
Agregue a su configuración de cliente MCP (por ejemplo, Claude Desktop):
{
"mcpServers": {
"ast-outline": {
"command": "npx",
"args": ["ast-outline-mcp"]
}
}
}
Herramientas
digest
Obtenga un mapa de módulo compacto de una página para un directorio. Cada archivo recibe una etiqueta de tamaño y una estimación de tokens. Recomendado para una visión general inicial de un código base.
Parámetros:
path(cadena, obligatorio) — Ruta del directorio a resumir
outline
Obtenga un esquema estructural de uno o más archivos o directorios. Devuelve firmas con rangos de líneas (sin cuerpos).
Parámetros:
path(cadena, obligatorio) — Ruta de archivo o directorio a esquematizarimports(booleano) — Incluir declaraciones de importación/uso/usingnoPrivate(booleano) — Excluir miembros privadosnoFields(booleano) — Excluir campos/propiedadesnoDocs(booleano) — Excluir comentarios de documentaciónnoAttrs(booleano) — Excluir atributos/decoradores
show
Extraiga el cuerpo fuente completo de uno o más símbolos de un archivo.
Parámetros:
file(cadena, obligatorio) — Ruta del archivo del cual extraer símbolossymbols(cadena[], obligatorio) — Nombres de símbolos a extraersignature(booleano) — Devolver solo el encabezado/firma, sin cuerpo
grep
Búsqueda estructural consciente del AST en archivos. Las coincidencias se agrupan por clase/función contenedora.
Parámetros:
pattern(cadena, obligatorio) — Patrón de búsqueda (literal o regex, auto-detectado)path(cadena, obligatorio) — Ruta de archivo o directorio a buscarkind(enumeración: def|call|ref|import) — Reducir resultados por tipo de clasificaciónwordMatch(booleano) — Coincidir solo palabras completascaseInsensitive(booleano) — Coincidencia sin distinguir mayúsculas/minúsculasfilesOnly(booleano) — Listar solo archivos coincidentescount(booleano) — Mostrar conteos de coincidencias por archivomaxCount(número) — Número máximo de coincidencias por archivo
Prompts
explore-codebase
Un prompt que guía a un LLM para explorar eficientemente un código base usando las herramientas de ast-outline.
Desarrollo
npm install
npm test
npm run build
Lenguajes Soportados
ast-outline soporta más de 20 lenguajes, incluyendo TypeScript, Python, Go, Rust, C#, Java, Kotlin, Ruby, PHP y más. Consulte la lista completa.
Licencia
MIT