git-changelog-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@git-changelog-mcpGenerate a changelog from the last 30 commits in this repo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๏ปฟ
๐ Git Changelog MCP
MCP server that enables AI agents to read git commits and generate beautiful changelogs
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: github-changelog-mcp
โจ 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 repositorycount(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 fromgit_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
Option 1: Install via npm (Recommended)
npm install -g git-changelog-mcpOption 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 changelogExample 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 descriptionExample 4: Sprint Summary
Show me all commits from the past week formatted as a changelog for our standupExample 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.tsTransport: Stdio (JSON-RPC over stdin/stdout)
Validation: Zod schemas for type-safe input/output
Git operations:
simple-gitlibraryError 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.
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'feat: add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Links
๐ Show Your Support
If this project helped you, please consider giving it a โญ on GitHub!
Made with โค๏ธ by kslmisel
Available Tools
1 toolgit_get_recent_commitsGet recent git commitsA
Fetch the most recent commits from a local git repository. Returns structured commit objects that can be passed directly to git_generate_markdown_changelog.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of commits to fetch (default 20, max 500) | |
| repoPath | Yes | Absolute or relative path to the local git repository |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| commits | Yes | |
| repoPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It indicates a read-only fetch operation, but does not disclose any additional behavioral traits such as authentication or rate limits. The behavior is simple and directly implied, so it is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences long, with no superfluous information. It is front-loaded and directly communicates the tool's function and a key integration hint. It is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema (implied), the description covers the essential context: what the tool does and how the output can be used. It does not detail return fields but references another tool, which is sufficient for a straightforward fetch operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter coverage, so the description adds no significant meaning beyond the schema. The description does not elaborate on parameter usage or format, merely reiterating the tool's purpose. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Fetch the most recent commits') and the resource ('local git repository'). It is specific and unambiguous. No sibling tools exist to distinguish, but the purpose is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a downstream use case by stating the output can be passed to git_generate_markdown_changelog, but it does not explicitly state when to use this tool over alternatives or when not to use it. The usage context is implied but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
git_get_recent_commits
TDQS
With only one tool, there is no possibility of confusion; the tool's purpose is clearly distinct.
The single tool name follows a consistent verb_noun pattern with underscores, which would be consistent if more tools existed.
One tool is too few for a changelog server; it only fetches commits and lacks the essential changelog generation tool, making the server appear incomplete.
The server only provides half of the changelog workflow (fetching commits) and is missing the companion tool to generate changelogs, resulting in a dead end.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Git-backed platform for skills, tools, and context for AI agents
- ShipstarOAuthai.shipstar
Generate and publish changelogs, blog posts, release emails, and social posts from your commits.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to create conventional Git commits, update changelogs, and optionally push changes to remote repositories.22MIT
- AlicenseAqualityCmaintenanceTurns raw GitHub commit history into a categorized, human-readable changelog directly inside Claude or any MCP-compatible client.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to automate GitHub repository management, issue tracking, and commits using natural language.10Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to inspect Git repositories for changes across committed, staged, unstaged, and untracked scopes, and run allowlisted validation commands with structured results.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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