Skip to main content
Glama
kslmisel

git-changelog-mcp

by kslmisel

ο»Ώ

πŸ”– Git Changelog MCP

MCP server that enables AI agents to read git commits and generate beautiful changelogs

npm version License: MIT TypeScript MCP

Features β€’ Installation β€’ Usage β€’ Examples β€’ Contributing


🎯 What is this?

Turn your git commits into beautiful, organized changelogs in seconds using AI. This Model Context Protocol (MCP) server gives AI assistants like Claude and Cursor the ability to:

  • πŸ“– Read commit history from any local git repository

  • 🎨 Auto-generate formatted changelogs grouped by Features, Fixes, and Chores

  • ⚑ Work 100% locally with no API keys required

  • πŸ€– Integrate seamlessly with any MCP-compatible AI tool

The Problem It Solves

❌ Before: Manually writing changelogs is tedious and time-consuming
❌ Before: Copy-pasting commit messages into release notes
❌ Before: Inconsistent formatting across team members

βœ… After: Ask AI "generate a changelog from the last 50 commits"
βœ… After: Beautiful, categorized output in seconds
βœ… After: Consistent Conventional Commits formatting automatically


Related MCP server: Git Commit MCP Server

✨ Features

πŸ› οΈ Two Powerful Tools

git_get_recent_commits

Fetch recent commits from a local git repository.

Parameters:

  • repoPath (string, required): Absolute or relative path to the git repository

  • count (number, optional): Number of commits to fetch (default: 20, max: 500)

Returns: Structured commit objects with hash, date, message, body, author name, and author email.

git_generate_markdown_changelog

Generate a beautifully structured Markdown changelog grouped by Features, Fixes, and Chores.

Parameters:

  • commits (array, required): Array of commit objects (typically from git_get_recent_commits)

  • title (string, optional): Changelog heading (default: "Changelog")

Returns: Formatted Markdown changelog with commits categorized using Conventional Commits conventions.

🎯 Key Benefits

  • ⚑ Lightning Fast - Generate changelogs in seconds

  • 🎨 Beautiful Formatting - Automatic grouping by commit type

  • πŸ”’ 100% Local - No external APIs, no data leaves your machine

  • πŸ€– AI-Powered - Works with Claude, Cursor, and any MCP client

  • πŸ“ Conventional Commits - Smart parsing of commit message formats

  • πŸ”§ Flexible - Use for releases, PRs, sprint summaries, or team reports


πŸ“¦ Installation

npm install -g git-changelog-mcp

Option 2: Clone and Build

git clone https://github.com/kslmisel/git-changelog-mcp.git
cd git-changelog-mcp
npm install
npm run build

πŸš€ Usage

For Cursor IDE

Create or edit .cursor/mcp.json in your workspace:

{
  "mcpServers": {
    "git-changelog": {
      "command": "npx",
      "args": ["-y", "git-changelog-mcp"]
    }
  }
}

Restart Cursor and the server will be available.

For Claude Desktop

Add to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "git-changelog": {
      "command": "npx",
      "args": ["-y", "git-changelog-mcp"]
    }
  }
}

Restart Claude Desktop to load the server.

If Installed Locally

If you cloned the repo instead of using npm:

{
  "mcpServers": {
    "git-changelog": {
      "command": "node",
      "args": ["/absolute/path/to/git-changelog-mcp/dist/index.js"]
    }
  }
}

πŸ’‘ Examples

Once configured, ask your AI assistant:

Example 1: Simple Changelog

Fetch the last 30 commits from this repository and generate a changelog

Example 2: Release Notes

Get the last 50 commits from C:/projects/my-app and create a changelog 
titled "Release v2.0.0"

Example 3: PR Description

Generate a changelog from the last 10 commits to use as a pull request description

Example 4: Sprint Summary

Show me all commits from the past week formatted as a changelog for our standup

Example Output

## Release v2.0.0

### Features

- Add user authentication with JWT (`a1b2c3d`)
- Implement dark mode toggle (`e4f5g6h`)
- Add pagination to user list (`i7j8k9l`)

### Fixes

- Fix memory leak in WebSocket connection (`m1n2o3p`)
- Resolve CORS issues on API endpoints (`q4r5s6t`)

### Chores

- Update dependencies to latest versions (`u7v8w9x`)
- Refactor database connection pool (`y1z2a3b`)

πŸ—οΈ Architecture

  • Entry point: src/index.ts

  • Transport: Stdio (JSON-RPC over stdin/stdout)

  • Validation: Zod schemas for type-safe input/output

  • Git operations: simple-git library

  • Error handling: All diagnostics written to stderr to preserve the JSON-RPC stream


πŸ§ͺ Development

# Install dependencies
npm install

# Build the project
npm run build

# Run the server
npm start

# Build and run in one command
npm run dev

πŸ“‹ Requirements

  • Node.js 18 or higher

  • TypeScript 7+

  • A local git repository to inspect


🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'feat: add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.



🌟 Show Your Support

If this project helped you, please consider giving it a ⭐ on GitHub!


Made with ❀️ by kslmisel

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kslmisel/git-changelog-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server