变更日志管理服务器

一个用于安全添加变更日志条目、自动计算版本并创建备份的MCP服务器,适用于任何支持MCP的AI助手。

  • by dwsmorg
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dwsmorg/changelog_mcp

使用说明

@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 设置。

服务器按照以下顺序查找配置:

  1. CHANGELOG_MCP_CONFIG 环境变量(显式配置文件路径)
  2. changelog-mcp-config.json 或 .changelog-mcp.json 在当前工作目录中
  3. 相同的文件名 Git根目录
  4. 标准配置 (见上文)

自定义配置路径

配置路径为 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 Backtesting
DWSM

所有类别均可自由选择。推荐 : 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() 已解析 - 没有硬编码分离器。


许可证

麻省理工学院许可证 许可证 为了细节。