@dwsm/changelog-mcp
用于变更日志管理的通用MCP服务器。适用于任何支持MCP的人工智能助手(Claude Code,Cursor,Windsurf,Cline,Claude Desktop)。
Das问题: 人工智能助手不小心删除变更日志内容,忘记版本号或格式不一致。
解决方案: MCP 服务器可以安全地添加变更日志条目(仅附加),自动计算版本并创建备份 - 在任何东西可能发生故障之前。
______________________________________________________________________
安装
npm install @dwsm/changelog-mcp客户端配置
克劳德代码
claude mcp add changelog -- npx -y @dwsm/changelog-mcp或在 .mcp.json 项目根:
{
"mcpServers": {
"changelog": {
"command": "npx",
"args": ["-y", "@dwsm/changelog-mcp"]
}
}
}克劳德桌面
在 claude_desktop_config.json:
{
"mcpServers": {
"changelog": {
"command": "npx",
"args": ["-y", "@dwsm/changelog-mcp"]
}
}
}光标/风帆/克莱恩
{
"changelog": {
"command": "npx",
"args": ["-y", "@dwsm/changelog-mcp"]
}
}______________________________________________________________________
工具
| 工具 | 描述 |
|---|---|
init_changelog | 创建一个新的变更日志文件 + 配置 |
get_current_version 查看最新版本的变更日志。 | |
get_next_version 计算下一个版本 (major/minor/patch) | |
preview_entry | 显示条目预览而不写 |
add_entry | 编写条目(仅附加备份) |
search_changelog | 搜索变更日志(自由文本,版本,类别) |
get_entry 返回一个版本的完整块。 | |
get_config 显示活动配置。 |
______________________________________________________________________
配置
无需配置即可使用有意义的默认值。为个人设置创建一个配置文件。
标准配置
{
"format": "keep-a-changelog",
"changelog": {
"file": "CHANGELOG.md",
"path": "./",
"encoding": "utf-8",
"entrySpacing": 2
},
"backup": {
"enabled": true,
"path": "./changelog-backups",
"strategy": "daily",
"maxFiles": 30
},
"versioning": {
"mode": "semver",
"prefix": "",
"fixedMajor": null,
"fixedMinor": null
},
"dateFormat": "YYYY-MM-DD",
"language": "en"
}自定义配置文件
对于个人设置,一个 changelog-mcp-config.json 或 .changelog-mcp.json 在 Project Root 中。只需指定已更改的字段 - 其他所有内容都将使用默认值填充。
如果配置位于其他位置,则通过环境变量的路径 CHANGELOG_MCP_CONFIG 设置。
服务器按照以下顺序查找配置:
CHANGELOG_MCP_CONFIG环境变量(显式配置文件路径)changelog-mcp-config.json或.changelog-mcp.json在当前工作目录中- 相同的文件名 Git根目录
- 标准配置 (见上文)
自定义配置路径
配置路径为 env MCP服务器配置(.mcp.json)设置:
{
"mcpServers": {
"changelog": {
"command": "npx",
"args": ["-y", "@dwsm/changelog-mcp"],
"env": {
"CHANGELOG_MCP_CONFIG": "./documentation/changelog/changelog-mcp-config.json"
}
}
}
}例如:个人配置
{
"format": "dwsm",
"changelog": {
"file": "CHANGELOG.md",
"path": "./documentation/changelog",
"encoding": "utf-8",
"entrySpacing": 1
},
"backup": {
"enabled": true,
"path": "./documentation/changelog/backups",
"strategy": "always",
"maxFiles": 15
},
"versioning": {
"mode": "patch-only",
"prefix": "v",
"fixedMajor": 1,
"fixedMinor": 0
},
"dateFormat": "YYYY-MM-DD",
"language": "de"
}只需指定已更改的字段 - 其他所有内容都将用默认值填充。
配置Felder
format -更改日志格式
| 格式 | 描述 |
|---|---|
keep-a-changelog | keepachangelog.com 标准(Standard) |
conventional | 常规提交格式 |
dwsm | DWSM格式 - 自由类别,紧凑布局 |
保存变更日志(标准)
分类 : Added, Changed, Deprecated, Removed, Fixed, Security
{ "format": "keep-a-changelog" }## [0.1.0] - 2026-02-11
### Added
- Neue Export-Funktion implementiert
- PDF-Report-Generierung
- Excel-Export für Backtesting
### Files
- export.ts - Export-Klasse erstellt
- templates/report.html - Report-Template常规变更日志
分类 : Features, Bug Fixes, Performance, Reverts, Breaking Changes
{ "format": "conventional" }## 0.1.0 (2026-02-11)
### Features
* Neue Export-Funktion implementiert
* PDF-Report-Generierung
* Excel-Export für BacktestingDWSM
所有类别均可自由选择。推荐 : Added, Changed, Deprecated, Removed, Fixed, Security, Documentation
{ "format": "dwsm" }v0.1.0 (2026-02-11)
### Added
- Neue Export-Funktion implementiert
- PDF-Report-Generierung
### Files
- `export.ts`
- `templates/report.html`changelog 文件设置
| 标准 | 描述 | |
|---|---|---|
file | "CHANGELOG.md" 档案名称 | |
path | "./" | 相对于项目根的目录 |
encoding | "utf-8" 字符编码 | |
entrySpacing | 2 | 条目之间的空行数 |
backup 备份设置
| 标准 | 描述 | |
|---|---|---|
enabled | true 备份系统处于活动/非活动状态。 | |
path | "./changelog-backups" 备份目录 | |
strategy | "daily" | "always" / "daily" / "none" |
maxFiles | 30 备份文件的最大数量 |
versioning - 版本化
| 标准 | 描述 |
|---|---|
mode | "semver" 版本模式 |
prefix | "" 前缀(e.g. "v" 对于v1.2.3)。 |
fixedMajor | null 固定主要版本(for patch-only) |
fixedMinor | null 固定小版本(for patch-only) |
版本模式:
| 模式 | 示例 | 描述 |
|---|---|---|
semver | 1.2.3 | 通过 bump 参数自由选择 (标准) |
patch-only | 0.1.42 | 主要派对。小,只有补丁才算高。 |
patch-only 例子 Major/Minor 可通过 Config 控制:
{
"versioning": {
"mode": "patch-only",
"fixedMajor": 0,
"fixedMinor": 1
}
}版本 : 0.1.0 → 0.1.1 → 0.1.2 → ... 切换到 0.2.0简单: "fixedMinor": 2 设置。
______________________________________________________________________
推荐:Claude Code 中的 Slash 命令
为了获得最大的舒适度,建议在Claude Code中使用自己的Slash命令 /changelog 安装。因此,您可以使用单个命令创建变更日志条目 - 而无需每次解释过程。
设置
创建文件 .claude/commands/changelog.md 项目根:
Erstelle einen Changelog-Eintrag für die soeben abgeschlossene Änderung.
Ablauf:
1. Analysiere die aktuellen Änderungen (git diff, git status)
2. Nutze `preview_entry` um den Eintrag zu prüfen
3. Frage den User ob der Eintrag passt
4. Nutze `add_entry` um den Eintrag zu schreiben
$ARGUMENTS使用
# Einfach aufrufen - analysiert automatisch die Änderungen
/changelog该命令分析当前的 Git 更改,创建预览,并在确认后将条目写入变更日志。类别、冲击类型和其他选项由 MCP 服务器通过工具架构自动提供给 AI - 无需在命令中定义。
______________________________________________________________________
平台兼容性
适用于任何运行 Node.js 18+ 的地方:
| 环境 | 状态 |
|---|---|
| Windows (CMD/PowerShell) | 支持 |
| Windows (Git Bash) | 支持 |
Linux 支持 WSL 支持 macOS 支持
所有路径都在内部 path.resolve() / path.join() 已解析 - 没有硬编码分离器。
______________________________________________________________________
许可证
麻省理工学院许可证 许可证 为了细节。
