nickbaumann98

Release Notes Server

Community nickbaumann98
Updated

A Model Context Protocol server

Release Notes Server

An MCP server that generates beautiful release notes from GitHub repositories. It efficiently fetches commits, organizes them by type, and presents them in a clean, readable format.

Features

  • ๐ŸŽฏ Smart commit filtering by date or SHA
  • ๐Ÿ“Š Groups commits by type (features, fixes, etc.)
  • ๐Ÿ” Enriches commits with PR data
  • ๐Ÿ“ˆ Includes detailed statistics
  • ๐ŸŽจ Clean markdown formatting with emojis
  • โšก Efficient API usage with GitHub's since parameter

Installation

npm install
npm run build

Usage

Add this server to your MCP configuration:

{
  "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

Generates release notes for a GitHub repository.

Parameters:

{
  "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
  }
}

Example:

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

The generated release notes include:

  1. Header with generation date and statistics

  2. Sections grouped by commit type:

    • ๐Ÿš€ Features
    • ๐Ÿ› Fixes
    • ๐Ÿ“š Documentation
    • โšก Performance
    • โ™ป๏ธ Refactoring
    • ๐Ÿงช Tests
    • ๐Ÿ—๏ธ Build
    • ๐Ÿ”ง Other
  3. Detailed statistics including:

    • Total commits
    • Breaking changes
    • Commits by type
    • Commits by author

Environment Variables

  • GITHUB_TOKEN: GitHub personal access token with repo access

Implementation Details

The server implements efficient commit fetching by:

  1. Using GitHub's since parameter when possible to reduce API calls
  2. Falling back to SHA-based filtering when needed
  3. Properly handling pagination
  4. Maintaining newest-first ordering for release notes
  5. Enriching commits with PR data when available

License

MIT

MCP Server ยท Populars

MCP Server ยท New

    snyk

    mcp-scan

    Security scanner for AI agents, MCP servers and agent skills.

    Community snyk
    resend

    Email sending MCP ๐Ÿ’Œ

    The official MCP server to send emails and interact with Resend

    Community resend
    screenpipe

    [ screenpipe ]

    screenpipe turns your computer into a personal AI that knows everything you've done. record. search. automate. all local, all private, all yours.

    Community screenpipe
    screenpipe

    [ screenpipe ]

    screenpipe turns your computer into a personal AI that knows everything you've done. record. search. automate. all local, all private, all yours.

    Community screenpipe
    kfastov

    tgcli

    Telegram user console client and archiver

    Community kfastov