Release Notes Server

Gera notas de versão a partir de repositórios do GitHub, buscando e organizando commits.

Documentação

Release Notes Server

Um servidor MCP que gera notas de versão bonitas a partir de repositórios GitHub. Ele busca commits de forma eficiente, organiza-os por tipo e os apresenta em um formato limpo e legível.

Recursos

  • 🎯 Filtragem inteligente de commits por data ou SHA
  • 📊 Agrupa commits por tipo (funcionalidades, correções, etc.)
  • 🔍 Enriquece commits com dados de PR
  • 📈 Inclui estatísticas detalhadas
  • 🎨 Formatação limpa em markdown com emojis
  • ⚡ Uso eficiente da API com o parâmetro since do GitHub

Instalação

npm install
npm run build

Uso

Adicione este servidor à sua configuração MCP:

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

Ferramentas Disponíveis

generate_release_notes

Gera notas de versão para um repositório 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
  }
}

Exemplo:

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
    }
  }
});

Formato de Saída

As notas de versão geradas incluem:

  1. Cabeçalho com data de geração e estatísticas

  2. Seções agrupadas por tipo de commit:

    • 🚀 Funcionalidades
    • 🐛 Correções
    • 📚 Documentação
    • ⚡ Desempenho
    • ♻️ Refatoração
    • 🧪 Testes
    • 🏗️ Build
    • 🔧 Outros
  3. Estatísticas detalhadas incluindo:

    • Total de commits
    • Mudanças que quebram compatibilidade
    • Commits por tipo
    • Commits por autor

Variáveis de Ambiente

  • GITHUB_TOKEN: token de acesso pessoal do GitHub com acesso ao repositório

Detalhes de Implementação

O servidor implementa busca eficiente de commits ao:

  1. Usar o parâmetro since do GitHub quando possível para reduzir chamadas de API
  2. Recorrer à filtragem baseada em SHA quando necessário
  3. Lidar adequadamente com paginação
  4. Manter a ordenação do mais recente para o mais antigo nas notas de versão
  5. Enriquecer commits com dados de PR quando disponíveis

Licença

MIT