Skip to main content
Glama

Mason – der Kontext-Builder für LLMs 👷

npm version CI npm downloads license issues

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-mcp

Starten 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 commit

Analyse 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-project

Auch 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-project

MCP-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

get_snapshot

Lädt die Konzeptkarte – ordnet Funktionen/Abläufe Dateien zu

save_snapshot

Speichert die Konzeptkarte für zukünftige Sitzungen

get_impact

Änderungsauswirkung: Co-Change-Historie, Referenzen, zugehörige Tests

analyze_project

Git-Historie: Commit-Muster, Hot-Files, veraltete Verzeichnisse

full_analysis

Alles-in-einem beim ersten Besuch: Git-Statistiken + Struktur + Code-Beispiele + Test-Map

get_code_samples

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 map

Die 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

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