Release Notes Server

Genera notas de lanzamiento a partir de repositorios de GitHub obteniendo y organizando commits.

Documentación

Release Notes Server

Un servidor MCP que genera notas de versión hermosas a partir de repositorios de GitHub. Obtiene eficientemente los commits, los organiza por tipo y los presenta en un formato limpio y legible.

Features

  • 🎯 Filtrado inteligente de commits por fecha o SHA
  • 📊 Agrupa commits por tipo (funciones, correcciones, etc.)
  • 🔍 Enriquece los commits con datos de PR
  • 📈 Incluye estadísticas detalladas
  • 🎨 Formato markdown limpio con emojis
  • ⚡ Uso eficiente de la API con el parámetro since de GitHub

Installation

npm install
npm run build

Usage

Agrega este servidor a tu configuración de MCP:

{
  "mcpServers": {
    "release-notes": {
      "command": "node",
      "args": ["/path/to/release-notes-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your-github-token"
      }
    }
  }
}

Available Tools

generate_release_notes

Genera notas de versión para un repositorio de GitHub.

Parámetros:

{
  "owner": string,           // Repository owner
  "repo": string,           // Repository name
  "commitRange": {
    "fromCommit"?: string,  // Starting commit SHA
    "toCommit"?: string    // Ending commit SHA
  },
  "format": {
    "type": "markdown",     // Output format
    "groupBy": "type",      // How to group commits
    "includeStats": boolean // Include commit statistics
  }
}

Ejemplo:

const result = await use_mcp_tool({
  server_name: "release-notes",
  tool_name: "generate_release_notes",
  arguments: {
    owner: "owner",
    repo: "repo",
    commitRange: {
      fromCommit: "abc123" // Get commits from this SHA
    },
    format: {
      type: "markdown",
      groupBy: "type",
      includeStats: true
    }
  }
});

Output Format

Las notas de versión generadas incluyen:

  1. Encabezado con fecha de generación y estadísticas
  2. Secciones agrupadas por tipo de commit:
    • 🚀 Funciones
    • 🐛 Correcciones
    • 📚 Documentación
    • ⚡ Rendimiento
    • ♻️ Refactorización
    • 🧪 Pruebas
    • 🏗️ Compilación
    • 🔧 Otros
  3. Estadísticas detalladas que incluyen:
    • Total de commits
    • Cambios importantes
    • Commits por tipo
    • Commits por autor

Environment Variables

  • GITHUB_TOKEN: token de acceso personal de GitHub con acceso al repositorio

Implementation Details

El servidor implementa la obtención eficiente de commits mediante:

  1. Usando el parámetro since de GitHub cuando sea posible para reducir las llamadas a la API
  2. Recurriendo al filtrado basado en SHA cuando sea necesario
  3. Manejando correctamente la paginación
  4. Manteniendo el orden de más reciente a más antiguo para las notas de versión
  5. Enriqueciendo los commits con datos de PR cuando estén disponibles

License

MIT