Skip to main content
Glama
Ninh-Duong

MCP Branch Render Document

by Ninh-Duong

Renderizador Automático de Contexto de Rama de PR (Branch Render Context MCP)

Node.js TypeScript MCP Protocol

Branch Render Context es un servidor y herramienta CLI especializado del Model Context Protocol (MCP) diseñado para analizar y renderizar automáticamente contextos completos de Pull Request de Git / Rama de Destino en relación con una rama base o de checkout. Entrega documentos Markdown y JSON incrementales y en caché directamente a agentes de IA con cero cambios de rama, aislamiento del árbol de trabajo, gestión automática de .gitignore y opciones flexibles de limpieza de almacenamiento.


🎯 Puntos Clave y Arquitectura

  1. Resolución de Rama de Destino Sin Cambio de Rama:

    • Cuando tu árbol de trabajo está actualmente en main o develop y especificas una rama de destino como feature/user-auth, la herramienta determina automáticamente:

      • baseBranch: main (desde el checkout actual o el predeterminado configurado)

      • targetBranch: feature/user-auth

      • Comparación: main..feature/user-auth

  2. Cero Interrupción del Árbol de Trabajo:

    • Los árboles de trabajo de los desarrolladores permanecen completamente intactos. Comandos como git checkout o git switch nunca se ejecutan.

  3. Resolución Independiente de Commits y Referencias:

    • Los commits de la rama de destino se resuelven directamente desde referencias locales o referencias de seguimiento remoto (origin/<branch>) sin depender del HEAD actual.

  4. Aislamiento Limpio del Árbol de Trabajo:

    • Los cambios sucios no confirmados en tu rama de checkout actual nunca contaminarán el contexto de PR renderizado de la rama de destino.

  5. Almacenamiento Jerárquico Similar a Git y .gitignore Automático:

    • Persiste documentos en rutas estructuradas: .branch-render-context/repositories/<repo-id>/branches/<branch-path>/document.json.

    • Agrega automática e idempotentemente .branch-render-context/ a .gitignore sin alterar otras reglas del usuario.

  6. Redacción de Secretos Integrada y Optimización de Tokens:

    • Detecta y enmascara credenciales, archivos .env, certificados .pem y tokens de API.

    • Genera resúmenes Markdown compactos y eficientes en tokens, optimizados para ventanas de contexto de LLM.

  7. Limpieza Granular y Bloqueo de Concurrencia:

    • Bloqueo seguro multiproceso (.storage.lock y .branch.lock).

    • Soporta 3 ámbitos de limpieza distintos: rama individual, repositorio completo y borrado total del almacenamiento.


Related MCP server: Branchpoint

🛠️ Guía de CLI

1. Renderizar / Actualizar Contexto de Rama de Destino

# 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

Ejemplo de salida:

=================================================================
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. Asistente Interactivo de Terminal

npm run branch-render:start

El asistente detecta tu rama de checkout actual, muestra los contextos renderizados existentes y te guía a través de las opciones de renderizado o limpieza.

3. Verificar Estado de Frescura

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

4. Listar Contextos Registrados

npm run branch-render:list

5. Limpieza de Contexto y Almacenamiento

# 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

🤖 Integración del Servidor MCP

Configura el servidor MCP en tu editor o cliente de IA (Claude Desktop, Cursor, Cline, Roo Code):

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

Herramientas MCP Disponibles

Nombre de la Herramienta

Parámetros

Descripción

branch_context_start

repo_path?, target_branch?, base_ref?, storage_path?

Inicializa la sesión, descubre el repositorio e inspecciona el estado de la rama.

branch_context_list

repo_path?, storage_path?

Lista todos los repositorios registrados y documentos de rama en caché.

branch_context_status

repo_path?, branch?, base_ref?, storage_path?

Evalúa la frescura de Git entre la rama de destino y la referencia base sin renderizar.

branch_context_get

repo_path?, branch?, freshness_mode?, storage_path?

Recupera document.json usando la política de frescura especificada (required, auto, check_only, allow_stale).

branch_context_refresh

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

Activa una actualización incremental determinista o una reconstrucción completa.

branch_context_clear

repo_path?, branch?, all?, storage_path?

Limpia el contexto renderizado para una sola rama o todas las ramas de un repositorio.

branch_context_clear_storage

confirm: boolean, storage_path?

Borra todo el almacenamiento en todos los repositorios (requiere confirm: true).


📄 Estructura del Documento Renderizado

Cada documento de rama renderizado contiene tanto un objeto JSON estructurado (document.json) como una representación Markdown amigable para IA (document.md):

  • Metadatos de Repositorio y Rama: IDs únicos, URLs remotas, referencias de comparación y hashes de commits.

  • Historial de Commits: Lista completa de commits con autores, fechas, asuntos y cuerpos de commit (con filtrado de secretos).

  • Cambios de Archivos y Estadísticas de Diff: Lista detallada de archivos con estado de cambio (added, modified, deleted, renamed), fragmentos de parche, inserciones y eliminaciones.

  • Estado de Frescura y Punto de Control: SHAs de commits y marcas de tiempo guardados para una re-evaluación incremental ultrarrápida.


🧪 Desarrollo y Pruebas

# Run Vitest test suite
npm test

# Build TypeScript output
npm run build

📜 Licencia

Licencia MIT. Diseñado para flujos de trabajo agénticos de IA y asistentes de codificación automatizados.

Related MCP Connectors

Related MCP Servers