Skip to main content
Glama

Mason – el constructor de contexto para LLMs 👷

npm version CI npm downloads license issues

Mason proporciona a los LLMs un mapa persistente de tu base de código para que dejen de explorar desde cero en cada sesión.

El problema: Cada vez que un LLM inicia una nueva conversación sobre tu código, utiliza grep, lee archivos y reconstruye la arquitectura, consumiendo tokens en un contexto que ya entendía ayer. En un proyecto de 164 archivos, responder "¿qué funciones tiene esta aplicación?" requiere leer más de 8 archivos a través de múltiples llamadas a herramientas.

La solución de Mason: Un mapa conceptual que persiste entre sesiones. Una llamada a la herramienta devuelve una tabla de búsqueda de funciones a archivos: el LLM sabe exactamente dónde buscar, sin necesidad de explorar.

Resultado medido (deepeval, Claude Sonnet, proyecto KMP de 164 archivos):

Pregunta

Con Mason

Sin Mason

Ahorro de tokens

Listar todas las funciones

10,258 tok

31,346 tok

67%

Rastrear flujo de datos

12,010 tok

15,258 tok

21%

Comparar plataformas

10,897 tok

19,353 tok

44%

Flujo de onboarding

10,271 tok

11,432 tok

10%

Promedio

36%

La misma calidad de respuesta (0.9/1.0 en todas las pruebas, ambos caminos). Reproducir: bench/.

Inicio rápido

claude mcp add mason --scope user -- npx -p mason-context mason-mcp

Reinicia Claude Code y luego pregunta: "use mason to analyze this project and create a snapshot."

Eso es todo: Mason analizará tu base de código y creará un mapa conceptual. En la siguiente sesión, cargará el mapa en lugar de volver a explorar todo.

Related MCP server: ontomics

Cómo funciona

Mapa conceptual

La función principal de Mason. Persiste un mapa de funciones a archivos en .mason/snapshot.json que sobrevive a las conversaciones. Cuando el LLM necesita entender tu proyecto, lee este mapa en lugar de buscar mediante grep en toda tu base de código:

{
  "features": {
    "home screen": {
      "files": ["HomeScreen.kt", "HomeViewModel.kt", "GetWeatherDataUseCase.kt"]
    }
  },
  "flows": {
    "weather fetch": {
      "chain": ["HomeViewModel.kt", "WeatherRepositoryImpl.kt", "WeatherServiceImpl.kt"]
    }
  }
}

El mapa es generado por el propio LLM: Mason proporciona las herramientas de análisis y el LLM interpreta tu código para decidir cuáles son las funciones y los flujos. Esto significa que el mapa captura la comprensión arquitectónica, no solo listados de archivos.

Crea uno pidiéndole a tu asistente de IA que "create a mason snapshot", o mediante la CLI:

mason set-llm gemini          # configure a provider (no API key needed)
mason snapshot ~/my-project   # generate concept map
mason snapshot --install-hook # auto-update on every commit

Análisis de impacto de cambios

Antes de editar un archivo, Mason puede decirte qué más podría verse afectado. Combina tres señales que requerirían múltiples llamadas a herramientas para recopilar manualmente:

  • Historial de cambios conjuntos — archivos que históricamente cambian juntos en los commits de git

  • Referencias — archivos que importan o mencionan el objetivo por su nombre

  • Pruebas relacionadas — archivos de prueba emparejados con el objetivo por convención de nombres

mason impact WeatherRepository.kt -d ~/my-project

También disponible como la herramienta MCP get_impact: pídele a tu asistente "what would be affected if I changed WeatherRepository?"

Análisis del historial de Git

Mason agrega cientos de commits en estadísticas procesables: qué archivos cambian con más frecuencia (archivos "calientes" con los que debes tener cuidado), qué directorios no se han tocado en meses (código potencialmente obsoleto) y qué convenciones de commit sigue el equipo. Este es el tipo de análisis que requeriría docenas de llamadas a git log para calcular manualmente.

mason analyze ~/my-project

Herramientas MCP

Mason expone 6 herramientas a través del Protocolo de Contexto de Modelo (MCP). Cualquier cliente compatible con MCP (Claude Code, Cursor, etc.) puede usarlas:

Herramienta

Qué hace

get_snapshot

Carga el mapa conceptual: mapea funciones/flujos a archivos

save_snapshot

Persiste el mapa conceptual para futuras sesiones

get_impact

Impacto de cambios: historial de cambios conjuntos, referencias, pruebas relacionadas

analyze_project

Historial de Git: patrones de commit, archivos calientes, directorios obsoletos

full_analysis

Todo en uno para la primera visita: estadísticas de git + estructura + muestras de código + mapa de pruebas

get_code_samples

Vistas previas inteligentes de archivos seleccionadas por rol arquitectónico

Uso de la CLI

Mason también funciona como una CLI independiente para generar archivos CLAUDE.md y ejecutar análisis sin un cliente MCP. Configura un proveedor de LLM una vez y luego usa cualquier comando:

mason set-llm claude|gemini|ollama|openai  # configure provider
mason generate                # analyze codebase + LLM -> CLAUDE.md
mason analyze                 # git stats only (no LLM needed)
mason impact File.kt          # change impact analysis
mason snapshot                # create/update concept map

La mayoría de los proveedores funcionan sin una clave API: claude, gemini y ollama utilizan sus respectivas CLI directamente.

Seguridad

Qué contiene la instantánea: Nombres de funciones, rutas de archivos relativas y descripciones de flujos. Sin código fuente, secretos ni lógica de negocio.

Qué no toca: Mason respeta .gitignore (a través de git ls-files) y tiene una lista de denegación que bloquea .env, .pem, .key, credenciales y otros archivos confidenciales para que no sean muestreados. La protección contra el recorrido de rutas garantiza que todo el acceso a archivos permanezca dentro de la raíz del proyecto.

Flujo de datos del LLM: Generar una instantánea a través de la CLI envía contenidos de archivos muestreados a tu proveedor de LLM configurado, de la misma manera que cualquier asistente de codificación de IA lee tu código. Usa ollama para una generación totalmente local. Las herramientas del servidor MCP (get_snapshot, get_impact, etc.) solo leen archivos locales.

Soporte de idiomas

Mason es completamente agnóstico al lenguaje. Utiliza patrones de nombres de archivos e historial de git en lugar de análisis específico del lenguaje, por lo que funciona con cualquier proyecto que tenga archivos fuente y un repositorio git: TypeScript, Kotlin, Python, Go, Rust, Swift, Java, C#, Dart y más.

Licencia

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adrianczuczka/mason'

If you have feedback or need assistance with the MCP directory API, please join our Discord server