MCP Server for changelog generation from Git commits - conventional commits parsing, multi-format output (Markdown, HTML, JSON), and version management
|
All checks were successful
Publish Package / publish (push) Successful in 26s
Complete refactor with comprehensive improvements: ✨ New Features: - 27 comprehensive unit tests with Vitest - 100% TypeScript type safety - Complete JSDoc documentation 🏗️ Architecture: - Modular structure (types, tool-definitions, handlers, changelog-service, index) - Type-safe interfaces: Commit, ChangelogSection, Changelog, ToolArguments - index.ts: 197 → 80 lines (59% reduction) 🧪 Testing: - Type validation tests - Tool definition validation tests - Full test coverage 📦 Dependencies: - MCP SDK upgraded to 1.20.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| src | ||
| .gitignore | ||
| CHANGELOG.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
📝 changelog-mcp
MCP Server for automatic changelog generation from Git history - featuring conventional commits parsing, multi-format output, and comprehensive testing.
What's New in v2.0.0
✨ Complete Refactor - Modular architecture with 59% code reduction
🧪 27 Unit Tests - Full test coverage with Vitest
🎯 100% Type Safety - Eliminated all any types
📚 Complete JSDoc - Comprehensive API documentation
📦 MCP SDK 1.20.0 - Latest SDK with improved capabilities
Features
Core Features
- 🏷️
list_tags- List all Git tags in a repository, sorted by version - 📊
get_commits- Get commits between two Git references (tags, branches, or commit hashes) - 📈
analyze_commits- Analyze and categorize commits using Conventional Commits format - 📝
generate_changelog- Generate formatted changelog with support for multiple output formats (Markdown, HTML, JSON)
Advanced Features
- 🏷️ Automatic categorization (features, bugfixes, breaking changes)
- 📄 Multiple output formats (Markdown, HTML, JSON)
- 🎨 Customizable templates
- 🔗 Issue/PR linking (GitHub, GitLab, Forgejo)
- 📋 Conventional Commits parsing
- 🎯 Scope-based grouping
- 📈 Contribution statistics
Installation
npm install
npm run build
Configuration
Optional environment variables:
REPO_PATH- Default repository path (default: current directory)ISSUE_BASE_URL- Base URL for issue linking (e.g., https://github.com/owner/repo/issues/)
Usage
npm start
Examples
Generate changelog
{
"tool": "generate_changelog",
"arguments": {
"repoPath": "/path/to/repo",
"fromRef": "v1.0.0",
"toRef": "v2.0.0",
"format": "markdown"
}
}
Analyze commits
{
"tool": "analyze_commits",
"arguments": {
"repoPath": "/path/to/repo",
"fromRef": "v1.0.0",
"toRef": "HEAD"
}
}
Conventional Commits
This tool supports the Conventional Commits specification:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changesrefactor:- Code refactoringperf:- Performance improvementstest:- Test changeschore:- Maintenance tasksBREAKING CHANGE:- Breaking changes
License
MIT