About Release Notes Server
Release Notes Server generates formatted release notes from GitHub repository commits. It is for teams preparing releases and organizes changes by type, with commit statistics and available pull request data.
Key features
- 01Filter commits by date or SHA
- 02Group commits by type
- 03Enrich commits with pull request data
- 04Show commit and author statistics
- 05Format output as Markdown
Use cases
- 01Preparing release notes for a GitHub repository
- 02Summarizing changes between commit SHAs
MCP support
It exposes the generate_release_notes tool to MCP clients, which takes a GitHub repository and commit range and returns release notes.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMERelease 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
sinceparameter
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:
-
Header with generation date and statistics
-
Sections grouped by commit type:
- 🚀 Features
- 🐛 Fixes
- 📚 Documentation
- ⚡ Performance
- ♻️ Refactoring
- 🧪 Tests
- 🏗️ Build
- 🔧 Other
-
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:
- Using GitHub's
sinceparameter when possible to reduce API calls - Falling back to SHA-based filtering when needed
- Properly handling pagination
- Maintaining newest-first ordering for release notes
- Enriching commits with PR data when available
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.