mason
Mason – der Kontext-Builder für LLMs 👷
Mason gibt LLMs eine persistente Karte Ihrer Codebasis, damit sie nicht in jeder Sitzung von Grund auf neu suchen müssen.
Das Problem: Jedes Mal, wenn ein LLM ein neues Gespräch über Ihren Code beginnt, führt es Grep-Befehle aus, liest Dateien und setzt die Architektur zusammen – dabei werden Token für Kontext verschwendet, den es bereits am Vortag verstanden hat. Bei einem Projekt mit 164 Dateien erfordert die Beantwortung der Frage „Welche Funktionen hat diese App?“ das Lesen von mehr als 8 Dateien über mehrere Tool-Aufrufe hinweg.
Masons Lösung: Eine Konzeptkarte, die über Sitzungen hinweg bestehen bleibt. Ein Tool-Aufruf liefert eine Nachschlagetabelle von Funktionen zu Dateien – das LLM weiß genau, wo es suchen muss, ohne zu explorieren.
Gemessenes Ergebnis (deepeval, Claude Sonnet, 164-Dateien-KMP-Projekt):
Frage | Mit Mason | Ohne Mason | Token-Einsparung |
Alle Funktionen auflisten | 10.258 Tok | 31.346 Tok | 67% |
Datenfluss nachverfolgen | 12.010 Tok | 15.258 Tok | 21% |
Plattformen vergleichen | 10.897 Tok | 19.353 Tok | 44% |
Onboarding-Ablauf | 10.271 Tok | 11.432 Tok | 10% |
Durchschnitt | 36% |
Gleiche Antwortqualität (0,9/1,0 bei allen Tests, beide Pfade). Reproduktion: bench/.
Schnellstart
claude mcp add mason --scope user -- npx -p mason-context mason-mcpStarten Sie Claude Code neu und fragen Sie dann: "use mason to analyze this project and create a snapshot."
Das ist alles – Mason analysiert Ihre Codebasis und erstellt eine Konzeptkarte. In der nächsten Sitzung lädt es die Karte, anstatt alles neu zu explorieren.
Related MCP server: ontomics
Funktionsweise
Konzeptkarte
Masons Kernfunktion. Es speichert eine Funktions-zu-Datei-Karte in .mason/snapshot.json, die über Konversationen hinweg erhalten bleibt. Wenn das LLM Ihr Projekt verstehen muss, liest es diese Karte, anstatt Ihre gesamte Codebasis zu durchsuchen:
{
"features": {
"home screen": {
"files": ["HomeScreen.kt", "HomeViewModel.kt", "GetWeatherDataUseCase.kt"]
}
},
"flows": {
"weather fetch": {
"chain": ["HomeViewModel.kt", "WeatherRepositoryImpl.kt", "WeatherServiceImpl.kt"]
}
}
}Die Karte wird vom LLM selbst generiert – Mason stellt die Analysetools bereit, und das LLM interpretiert Ihren Code, um zu entscheiden, was die Funktionen und Abläufe sind. Das bedeutet, dass die Karte ein architektonisches Verständnis erfasst, nicht nur Dateiauflistungen.
Erstellen Sie eine, indem Sie Ihren KI-Assistenten bitten: "create a mason snapshot", oder über die 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 commitAnalyse der Änderungsauswirkungen
Bevor Sie eine Datei bearbeiten, kann Mason Ihnen sagen, was sonst noch betroffen sein könnte. Es kombiniert drei Signale, für die man manuell jeweils mehrere Tool-Aufrufe benötigen würde:
Co-Change-Historie – Dateien, die sich historisch gesehen in Git-Commits gemeinsam ändern
Referenzen – Dateien, die das Ziel importieren oder namentlich erwähnen
Zugehörige Tests – Testdateien, die durch Namenskonventionen mit dem Ziel verknüpft sind
mason impact WeatherRepository.kt -d ~/my-projectAuch als get_impact MCP-Tool verfügbar – fragen Sie Ihren Assistenten: "what would be affected if I changed WeatherRepository?"
Analyse der Git-Historie
Mason aggregiert Hunderte von Commits zu aussagekräftigen Statistiken: Welche Dateien ändern sich am häufigsten (Hot-Files, bei denen Sie vorsichtig sein sollten), welche Verzeichnisse wurden seit Monaten nicht mehr angefasst (potenziell veralteter Code) und welche Commit-Konventionen das Team befolgt. Dies ist die Art von Analyse, für die man manuell Dutzende von git log-Aufrufen benötigen würde.
mason analyze ~/my-projectMCP-Tools
Mason stellt 6 Tools über das Model Context Protocol bereit. Jeder MCP-kompatible Client (Claude Code, Cursor usw.) kann diese verwenden:
Tool | Was es tut |
| Lädt die Konzeptkarte – ordnet Funktionen/Abläufe Dateien zu |
| Speichert die Konzeptkarte für zukünftige Sitzungen |
| Änderungsauswirkung: Co-Change-Historie, Referenzen, zugehörige Tests |
| Git-Historie: Commit-Muster, Hot-Files, veraltete Verzeichnisse |
| Alles-in-einem beim ersten Besuch: Git-Statistiken + Struktur + Code-Beispiele + Test-Map |
| Intelligente Dateivorschauen, ausgewählt nach architektonischer Rolle |
CLI-Nutzung
Mason funktioniert auch als eigenständige CLI zum Generieren von CLAUDE.md-Dateien und zum Ausführen von Analysen ohne MCP-Client. Konfigurieren Sie einen LLM-Anbieter einmal und verwenden Sie dann jeden beliebigen Befehl:
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 mapDie meisten Anbieter funktionieren ohne API-Schlüssel – claude, gemini und ollama verwenden alle direkt ihre jeweiligen CLIs.
Sicherheit
Was der Snapshot enthält: Funktionsnamen, relative Dateipfade und Ablaufbeschreibungen. Kein Quellcode, keine Geheimnisse oder Geschäftslogik.
Was nicht angefasst wird: Mason respektiert .gitignore (via git ls-files) und verfügt über eine Deny-Liste, die .env, .pem, .key, Anmeldeinformationen und andere sensible Dateien von der Stichprobenentnahme ausschließt. Der Schutz vor Pfad-Traversal stellt sicher, dass der gesamte Dateizugriff innerhalb des Projekt-Roots bleibt.
LLM-Datenfluss: Das Generieren eines Snapshots über die CLI sendet stichprobenartige Dateiinhalte an Ihren konfigurierten LLM-Anbieter – genau so, wie jeder KI-Programmierassistent Ihren Code liest. Verwenden Sie ollama für eine vollständig lokale Generierung. Die MCP-Server-Tools (get_snapshot, get_impact usw.) lesen nur lokale Dateien.
Sprachunterstützung
Mason ist vollständig sprachunabhängig. Es verwendet Dateinamensmuster und Git-Historie anstelle von sprachspezifischem Parsing und funktioniert daher mit jedem Projekt, das Quelldateien und ein Git-Repository hat – TypeScript, Kotlin, Python, Go, Rust, Swift, Java, C#, Dart und mehr.
Lizenz
MIT
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