Skip to main content
Glama

@dwsm/changelog-mcp

Universeller MCP Server für Changelog-Management. Funktioniert mit jedem MCP-fähigen KI-Assistenten (Claude Code, Cursor, Windsurf, Cline, Claude Desktop).

Das Problem: KI-Assistenten löschen versehentlich Changelog-Inhalte, vergessen Versionsnummern oder formatieren inkonsistent.

Die Lösung: Ein MCP Server der Changelog-Einträge sicher hinzufügt (Append-Only), Versionen automatisch berechnet und Backups erstellt - bevor etwas kaputtgehen kann.


Installation

npm install @dwsm/changelog-mcp

Related MCP server: MCP Memory Server

Client-Konfiguration

Claude Code

claude mcp add changelog -- npx -y @dwsm/changelog-mcp

Oder in .mcp.json im Projekt-Root:

{
  "mcpServers": {
    "changelog": {
      "command": "npx",
      "args": ["-y", "@dwsm/changelog-mcp"]
    }
  }
}

Claude Desktop

In claude_desktop_config.json:

{
  "mcpServers": {
    "changelog": {
      "command": "npx",
      "args": ["-y", "@dwsm/changelog-mcp"]
    }
  }
}

Cursor / Windsurf / Cline

{
  "changelog": {
    "command": "npx",
    "args": ["-y", "@dwsm/changelog-mcp"]
  }
}

Tools

Tool

Beschreibung

init_changelog

Erstellt eine neue Changelog-Datei + Config

get_current_version

Liest die aktuelle Version aus dem Changelog

get_next_version

Berechnet die nächste Version (major/minor/patch)

preview_entry

Zeigt Vorschau eines Eintrags ohne zu schreiben

add_entry

Schreibt einen Eintrag (Append-Only mit Backup)

search_changelog

Durchsucht das Changelog (Freitext, Version, Kategorie)

get_entry

Gibt den vollständigen Block einer Version zurück

get_config

Zeigt die aktive Konfiguration


Konfiguration

Funktioniert ohne Konfiguration mit sinnvollen Standardwerten. Für individuelle Einstellungen eine Config-Datei anlegen.

Standard-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"
}

Eigene Config-Datei

Für individuelle Einstellungen eine changelog-mcp-config.json oder .changelog-mcp.json im Projekt-Root anlegen. Nur geänderte Felder müssen angegeben werden - alles andere wird mit den Standardwerten aufgefüllt.

Soll die Config an einem anderen Ort liegen, den Pfad über die Umgebungsvariable CHANGELOG_MCP_CONFIG setzen.

Der Server sucht die Config in dieser Reihenfolge:

  1. CHANGELOG_MCP_CONFIG Umgebungsvariable (expliziter Pfad zum Configfile)

  2. changelog-mcp-config.json oder .changelog-mcp.json im aktuellen Arbeitsverzeichnis

  3. Gleiche Dateinamen im Git-Root

  4. Standard-Config (siehe oben)

Eigener Config-Pfad

Config-Pfad als env in der MCP-Server-Konfiguration (.mcp.json) setzen:

{
  "mcpServers": {
    "changelog": {
      "command": "npx",
      "args": ["-y", "@dwsm/changelog-mcp"],
      "env": {
        "CHANGELOG_MCP_CONFIG": "./documentation/changelog/changelog-mcp-config.json"
      }
    }
  }
}

Beispiel: Individuelle Config

{
  "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"
}

Nur geänderte Felder müssen angegeben werden - alles andere wird mit Standardwerten aufgefüllt.

Config-Felder

format - Changelog-Format

Format

Beschreibung

keep-a-changelog

keepachangelog.com Standard (Standard)

conventional

Conventional Commits Format

dwsm

DWSM Format - freie Kategorien, kompaktes Layout

Keep a Changelog (Standard)

Kategorien: 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
Conventional Changelog

Kategorien: 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

Alle Kategorien frei wählbar. Empfohlen: 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 - Datei-Einstellungen

Feld

Standard

Beschreibung

file

"CHANGELOG.md"

Dateiname

path

"./"

Verzeichnis relativ zum Projekt-Root

encoding

"utf-8"

Zeichenkodierung

entrySpacing

2

Anzahl Leerzeilen zwischen Einträgen

backup - Backup-Einstellungen

Feld

Standard

Beschreibung

enabled

true

Backup-System aktiv/inaktiv

path

"./changelog-backups"

Backup-Verzeichnis

strategy

"daily"

"always" / "daily" / "none"

maxFiles

30

Max. Anzahl Backup-Dateien

versioning - Versionierung

Feld

Standard

Beschreibung

mode

"semver"

Versionierungs-Modus

prefix

""

Präfix (z.B. "v" für v1.2.3)

fixedMajor

null

Feste Major-Version (für patch-only)

fixedMinor

null

Feste Minor-Version (für patch-only)

Versionierungs-Modi:

Modus

Beispiel

Beschreibung

semver

1.2.3

Frei wählbar via bump-Parameter (Standard)

patch-only

0.1.42

Feste Major.Minor, nur Patch zählt hoch

patch-only Beispiel - Major/Minor über Config steuerbar:

{
  "versioning": {
    "mode": "patch-only",
    "fixedMajor": 0,
    "fixedMinor": 1
  }
}

Versionen: 0.1.0 → 0.1.1 → 0.1.2 → ... Umstellung auf 0.2.0: einfach "fixedMinor": 2 setzen.


Empfehlung: Slash-Command in Claude Code

Für maximalen Komfort empfiehlt es sich, in Claude Code einen eigenen Slash-Command /changelog anzulegen. Damit lässt sich mit einem einzigen Befehl ein Changelog-Eintrag erstellen - ohne jedes Mal den Ablauf erklären zu müssen.

Einrichtung

Erstelle die Datei .claude/commands/changelog.md im Projekt-Root:

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

Verwendung

# Einfach aufrufen - analysiert automatisch die Änderungen
/changelog

Der Command analysiert die aktuellen Git-Änderungen, erstellt eine Vorschau und schreibt den Eintrag nach Bestätigung ins Changelog. Kategorien, Bump-Typen und weitere Optionen werden der KI automatisch vom MCP Server über die Tool-Schemas bereitgestellt - sie müssen nicht im Command definiert werden.


Plattformkompatibilität

Funktioniert überall wo Node.js 18+ läuft:

Umgebung

Status

Windows (CMD/PowerShell)

Unterstützt

Windows (Git Bash)

Unterstützt

Linux

Unterstützt

WSL

Unterstützt

macOS

Unterstützt

Alle Pfade werden intern mit path.resolve() / path.join() aufgelöst - keine hardcodierten Separatoren.


Lizenz

MIT License – siehe LICENSE für Details.

Available Tools

8 tools
add_entryA

Fügt einen neuen Eintrag zum Changelog hinzu (Append-Only mit Backup).

Inputs: category (required), description (required), bump, files, +1 more.

get_configA

Zeigt die aktuelle Konfiguration des Changelog MCP Servers an.

Inputs: no named parameters.

get_current_versionA

Liest die aktuelle höchste Versionsnummer aus dem Changelog.

Inputs: no named parameters.

get_entryB

Gibt den vollständigen Changelog-Block einer bestimmten Version zurück.

Inputs: version (required).

get_next_versionB

Berechnet die nächste Versionsnummer basierend auf dem Bump-Typ.

Inputs: bump.

init_changelogC

Erstellt eine neue Changelog-Datei und optional eine .changelog-mcp.json Config.

Inputs: file, format.

preview_entryA

Zeigt eine Vorschau des formatierten Changelog-Eintrags ohne zu schreiben.

Inputs: category (required), description (required), bump, files, +1 more.

search_changelogB

Durchsucht das Changelog nach Einträgen. Filtert nach Freitext, Version und/oder Kategorie.

Inputs: limit, query, version, category.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: adding entries, configuration, version reading, entry retrieval, next version calculation, initialization, preview, and search. No two tools overlap in functionality.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern (e.g., add_entry, get_config, search_changelog), making them predictable and easy to understand.

    Tool Count5/5

    With 8 tools, the server covers all core changelog operations (init, add, read, search, version management) without being bloated or too minimal. The count is well-scoped for its purpose.

    Completeness4/5

    The tool set covers essential workflows (init, add, read, preview, search, version handling). It intentionally omits update/delete (append-only design). A minor gap is the lack of a list-all-versions tool, but search can compensate.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers