Skip to main content
Glama
Ninh-Duong

MCP Branch Render Document

by Ninh-Duong

Automatischer PR-Branch-Kontext-Renderer (Branch Render Context MCP)

Node.js TypeScript MCP Protocol

Branch Render Context ist ein spezialisierter Model Context Protocol (MCP)-Server und ein CLI-Tool, das automatisch vollständige Git-Pull-Request-/Target-Branch-Kontexte relativ zu einem Basis- oder Checkout-Branch analysiert und rendert. Es liefert gecachte, inkrementelle Markdown- und JSON-Dokumente direkt an KI-Agenten – ohne Branch-Wechsel, mit Arbeitsbaum-Isolation, automatischem .gitignore-Management und flexiblen Speicherbereinigungsoptionen.


🎯 Hauptmerkmale & Architektur

  1. Ziel-Branch-Auflösung ohne Branch-Wechsel:

    • Wenn sich Ihr Arbeitsbaum derzeit auf main oder develop befindet und Sie einen Ziel-Branch wie feature/user-auth angeben, ermittelt das Tool automatisch:

      • baseBranch: main (aus aktuellem Checkout oder konfiguriertem Standard)

      • targetBranch: feature/user-auth

      • Vergleich: main..feature/user-auth

  2. Null Arbeitsbaum-Unterbrechung:

    • Die Arbeitsbäume der Entwickler bleiben vollständig unberührt. Befehle wie git checkout oder git switch werden niemals ausgeführt.

  3. Unabhängige Commit- und Ref-Auflösung:

    • Commits des Ziel-Branches werden direkt aus lokalen Refs oder Remote-Tracking-Refs (origin/<branch>) aufgelöst, ohne sich auf den aktuellen HEAD zu verlassen.

  4. Saubere Arbeitsbaum-Isolation:

    • Nicht committete, ungespeicherte Änderungen auf Ihrem aktuellen Checkout-Branch werden niemals den gerenderten PR-Kontext des Ziel-Branches verunreinigen.

  5. Git-ähnliche hierarchische Speicherung & automatisches .gitignore:

    • Speichert Dokumente in strukturierten Pfaden: .branch-render-context/repositories/<repo-id>/branches/<branch-path>/document.json.

    • Fügt automatisch und idempotent .branch-render-context/ zur .gitignore hinzu, ohne andere Benutzerregeln zu verändern.

  6. Integrierte Geheimnis-Schwärzung & Token-Optimierung:

    • Erkennt und maskiert Anmeldedaten, .env-Dateien, .pem-Zertifikate und API-Tokens.

    • Generiert kompakte, token-effiziente Markdown-Zusammenfassungen, die für LLM-Kontextfenster optimiert sind.

  7. Granulare Bereinigung & Parallelitäts-Sperren:

    • Sicheres Multi-Prozess-Sperren (.storage.lock und .branch.lock).

    • Unterstützt 3 verschiedene Bereinigungsbereiche: einzelner Branch, repository-weit und vollständiges Löschen des Speichers.


Related MCP server: Branchpoint

🛠️ CLI-Anleitung

1. Ziel-Branch-Kontext rendern / aktualisieren

# Analyze target branch relative to the currently checked-out base branch
npm run branch-render:refresh -- --branch feature/user-auth

# Specify explicit base branch and force a full rebuild
npm run branch-render:refresh -- --branch feature/user-auth --base develop --force

Beispielausgabe:

=================================================================
Target branch:   feature/user-auth
Checkout branch: main
Base branch:     main
Comparison:      main..feature/user-auth
Target commit:   8f3b2a1c
Base commit:     1e4d9c7b
Strategy:        full
─────────────────────────────────────────────────────────────────
Metrics:
- Commits:        3
- Changed files:  4
- Insertions:     +142
- Deletions:      -18
- Worktree dirty: ignored (clean isolation)
─────────────────────────────────────────────────────────────────
Document path:
.branch-render-context/repositories/r_9a2b4c1d/branches/feature/user-auth/document.json
=================================================================

2. Interaktiver Terminal-Assistent

npm run branch-render:start

Der Assistent erkennt Ihren aktuellen Checkout-Branch, zeigt vorhandene gerenderte Kontexte an und führt Sie durch Rendering- oder Löschoptionen.

3. Aktualitätsstatus prüfen

npm run branch-render:status -- --branch feature/user-auth

4. Registrierte Kontexte auflisten

npm run branch-render:list

5. Kontext- und Speicherbereinigung

# Scope 1: Clear context for a specific branch
npm run branch-render:clear -- --branch feature/user-auth

# Scope 2: Clear all branch contexts in the current repository
npm run branch-render:clear -- --all

# Scope 3: Completely clear ENTIRE storage (all repositories, catalog, config, indexes)
npm run branch-render:clear -- --all-storage --yes

🤖 MCP-Server-Integration

Konfigurieren Sie den MCP-Server in Ihrem KI-Editor oder Client (Claude Desktop, Cursor, Cline, Roo Code):

{
  "mcpServers": {
    "branch-render-context": {
      "command": "node",
      "args": ["<path-to-mcp-branch-render-document>/dist/index.js"]
    }
  }
}

Verfügbare MCP-Tools

Tool-Name

Parameter

Beschreibung

branch_context_start

repo_path?, target_branch?, base_ref?, storage_path?

Initialisiert die Sitzung, erkennt das Repository und prüft den Branch-Status.

branch_context_list

repo_path?, storage_path?

Listet alle registrierten Repositories und gecachten Branch-Dokumente auf.

branch_context_status

repo_path?, branch?, base_ref?, storage_path?

Bewertet die Git-Aktualität zwischen Ziel- und Basis-Ref ohne Rendering.

branch_context_get

repo_path?, branch?, freshness_mode?, storage_path?

Ruft document.json mit der angegebenen Aktualitätsrichtlinie ab (required, auto, check_only, allow_stale).

branch_context_refresh

repo_path?, branch?, base_ref?, force?, storage_path?

Löst ein deterministisches inkrementelles Update oder einen vollständigen Neuaufbau aus.

branch_context_clear

repo_path?, branch?, all?, storage_path?

Löscht den gerenderten Kontext für einen einzelnen Branch oder alle Branches in einem Repository.

branch_context_clear_storage

confirm: boolean, storage_path?

Löscht den gesamten Speicher über alle Repositories hinweg (erfordert confirm: true).


📄 Struktur des gerenderten Dokuments

Jedes gerenderte Branch-Dokument enthält sowohl ein strukturiertes JSON-Objekt (document.json) als auch eine KI-freundliche Markdown-Darstellung (document.md):

  • Repository- und Branch-Metadaten: Eindeutige IDs, Remote-URLs, Vergleichs-Refs und Commit-Hashes.

  • Commit-Verlauf: Vollständige Liste der Commits mit Autoren, Daten, Betreffs und Commit-Texten (mit Geheimnis-Filterung).

  • Dateiänderungen und Diff-Statistiken: Detaillierte Dateiliste mit Änderungsstatus (added, modified, deleted, renamed), Patch-Abschnitten, Einfügungen und Löschungen.

  • Aktualitäts- und Checkpoint-Zustand: Gespeicherte Commit-SHAs und Zeitstempel für ultraschnelle inkrementelle Neubewertung.


🧪 Entwicklung & Testen

# Run Vitest test suite
npm test

# Build TypeScript output
npm run build

📜 Lizenz

MIT-Lizenz. Entwickelt für KI-Agenten-Workflows und automatisierte Codierungsassistenten.

Related MCP Connectors

Related MCP Servers