{"_id":"@dwsm/changelog-mcp","_rev":"8-f9fae470f83c8fda62b5f363e0c0c888","name":"@dwsm/changelog-mcp","dist-tags":{"latest":"1.1.8"},"versions":{"0.1.5":{"name":"@dwsm/changelog-mcp","version":"0.1.5","keywords":["mcp","changelog","model-context-protocol","ai","claude"],"license":"SEE LICENSE IN LICENSE","_id":"@dwsm/changelog-mcp@0.1.5","maintainers":[{"name":"dwsmdev","email":"npmjs_com@dwsm.org"}],"homepage":"https://github.com/dwsmorg/changelog_mcp#readme","bugs":{"url":"https://github.com/dwsmorg/changelog_mcp/issues"},"bin":{"changelog-mcp":"dist/index.js"},"dist":{"shasum":"0e58efe4b8615a41721bc602d003b03b0772088e","tarball":"https://registry.npmjs.org/@dwsm/changelog-mcp/-/changelog-mcp-0.1.5.tgz","fileCount":78,"integrity":"sha512-ZQhO9YKaSoEDZgvQGl+vd5ySI0+Mx/qYxC0G7dirFqMBgJDBrILuXsAy75jvEqntgfow84YUpO+j87Upw4GMBw==","signatures":[{"sig":"MEQCIG45IU5dR/cgDv9enh/ThQxySubrYZ2vm8mL2HPNDBSWAiAnXNEMmeX9tNN0hjRnwdVQUHsjhm+foDVwgmBN2xpbPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164994},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9990c99de3bc8c1c2cb9f6c43f66d63bb9713763","scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"dwsmdev","email":"npmjs_com@dwsm.org"},"repository":{"url":"git+https://github.com/dwsmorg/changelog_mcp.git","type":"git"},"_npmVersion":"11.4.1","description":"Universal Changelog MCP Server - manage changelogs from any AI assistant","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/changelog-mcp_0.1.5_1771185022933_0.38369504848063785","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@dwsm/changelog-mcp","version":"0.1.6","keywords":["mcp","changelog","model-context-protocol","ai","claude"],"license":"MIT","_id":"@dwsm/changelog-mcp@0.1.6","maintainers":[{"name":"dwsmdev","email":"npmjs_com@dwsm.org"}],"homepage":"https://github.com/dwsmorg/changelog_mcp#readme","bugs":{"url":"https://github.com/dwsmorg/changelog_mcp/issues"},"bin":{"changelog-mcp":"dist/index.js"},"dist":{"shasum":"349c2e90991b4b07f6538d6183ab6d09e184dfba","tarball":"https://registry.npmjs.org/@dwsm/changelog-mcp/-/changelog-mcp-0.1.6.tgz","fileCount":78,"integrity":"sha512-+ftuBisruH5otENi2d9MT3BYyMz0OFA88+MwVxvsyn9yM+LorpXptvgmAqO4smqk9AOWMavHtLismv6ndW97Hw==","signatures":[{"sig":"MEYCIQCQZ5UtFyoH8wvM5BbNpArMPFwLaO50FByeBXjPtBg3/gIhAJO7iJkNYJo+1OSlSK58qwM/HUDASeEFkyenPPHfGBbQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164305},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"6116c194155602177dc0cb6d5a075db938ac2307","scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"dwsmdev","email":"npmjs_com@dwsm.org"},"repository":{"url":"git+https://github.com/dwsmorg/changelog_mcp.git","type":"git"},"_npmVersion":"11.4.1","description":"Universal Changelog MCP Server - manage changelogs from any AI assistant","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/changelog-mcp_0.1.6_1771233315565_0.09600480511879383","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@dwsm/changelog-mcp","version":"0.1.7","keywords":["mcp","changelog","model-context-protocol","ai","claude"],"license":"MIT","_id":"@dwsm/changelog-mcp@0.1.7","maintainers":[{"name":"dwsmdev","email":"npmjs_com@dwsm.org"}],"homepage":"https://github.com/dwsmorg/changelog_mcp#readme","bugs":{"url":"https://github.com/dwsmorg/changelog_mcp/issues"},"bin":{"changelog-mcp":"dist/index.js"},"dist":{"shasum":"73bc58ef0d026835033f1ad6bb85b23741fa3501","tarball":"https://registry.npmjs.org/@dwsm/changelog-mcp/-/changelog-mcp-0.1.7.tgz","fileCount":81,"integrity":"sha512-VutAT1GvaOhaugH++AEAURxQsa5yEDsr110SCvJNGYU2g+aORQrkfK6If0zc9abbTe4W9yQ987Do2GSeWyQexw==","signatures":[{"sig":"MEQCICLa64BzXxU8eE/v5imRvlVT8DHSl+OLqoy9xvIgzlBYAiA8G68dR9KbAjBFy0pUGzzCQoY3s1pU6fhceNwwJEho+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168556},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"2dfa24e974b8ace992e38289a2769e3fc2833a5a","scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"dwsmdev","email":"npmjs_com@dwsm.org"},"repository":{"url":"git+https://github.com/dwsmorg/changelog_mcp.git","type":"git"},"_npmVersion":"11.4.1","description":"Universal Changelog MCP Server - manage changelogs from any AI assistant","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/changelog-mcp_0.1.7_1771237099403_0.41332813313212435","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@dwsm/changelog-mcp","version":"1.1.8","description":"Universal Changelog MCP Server - manage changelogs from any AI assistant","type":"module","main":"dist/index.js","bin":{"changelog-mcp":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsc --watch","prepare":"npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.24.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.7.0"},"engines":{"node":">=18"},"keywords":["mcp","changelog","model-context-protocol","ai","claude"],"repository":{"type":"git","url":"git+https://github.com/dwsmorg/changelog_mcp.git"},"homepage":"https://github.com/dwsmorg/changelog_mcp#readme","license":"MIT","_id":"@dwsm/changelog-mcp@1.1.8","gitHead":"f27c83cfb998989b09d2bd8d6b6a68921f2b400f","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/dwsmorg/changelog_mcp/issues"},"_nodeVersion":"22.22.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-Ptni99sx+a0zHhbIKM0xboM3QB5bvhzb/PAiGEiAwzffNWUGHkvA9J/tAE2k25OIgTmTt3j8CUmSAH65kCzfdg==","shasum":"7c03c6fb858b506753a3021bc45431363dbd8988","tarball":"https://registry.npmjs.org/@dwsm/changelog-mcp/-/changelog-mcp-1.1.8.tgz","fileCount":81,"unpackedSize":168793,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDQHbe7hPY2+Jugm5yV1akSc0oZSlxW7nuxk9AypKurMgIhANlQeq+ZdjLFd226oBc5df6fNvn7Fe72YwYqt10hZbG/"}]},"_npmUser":{"name":"dwsmdev","email":"npmjs_com@dwsm.org"},"directories":{},"maintainers":[{"name":"dwsmdev","email":"npmjs_com@dwsm.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/changelog-mcp_1.1.8_1773244619171_0.6773917592352376"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-13T14:51:38.501Z","modified":"2026-03-11T15:56:59.495Z","0.1.0":"2026-02-13T14:51:38.822Z","0.1.3":"2026-02-15T14:24:26.007Z","0.1.5":"2026-02-15T19:50:23.072Z","0.1.6":"2026-02-16T09:15:15.728Z","0.1.7":"2026-02-16T10:18:19.549Z","1.1.8":"2026-03-11T15:56:59.343Z"},"bugs":{"url":"https://github.com/dwsmorg/changelog_mcp/issues"},"license":"MIT","homepage":"https://github.com/dwsmorg/changelog_mcp#readme","keywords":["mcp","changelog","model-context-protocol","ai","claude"],"repository":{"type":"git","url":"git+https://github.com/dwsmorg/changelog_mcp.git"},"description":"Universal Changelog MCP Server - manage changelogs from any AI assistant","maintainers":[{"name":"dwsmdev","email":"npmjs_com@dwsm.org"}],"readme":"# @dwsm/changelog-mcp\n\nUniverseller MCP Server für Changelog-Management. Funktioniert mit jedem MCP-fähigen KI-Assistenten (Claude Code, Cursor, Windsurf, Cline, Claude Desktop).\n\n**Das Problem:** KI-Assistenten löschen versehentlich Changelog-Inhalte, vergessen Versionsnummern oder formatieren inkonsistent.\n\n**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.\n\n---\n\n## Installation\n\n```bash\nnpm install @dwsm/changelog-mcp\n```\n\n## Client-Konfiguration\n\n### Claude Code\n\n```bash\nclaude mcp add changelog -- npx -y @dwsm/changelog-mcp\n```\n\nOder in `.mcp.json` im Projekt-Root:\n\n```json\n{\n  \"mcpServers\": {\n    \"changelog\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dwsm/changelog-mcp\"]\n    }\n  }\n}\n```\n\n### Claude Desktop\n\nIn `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"changelog\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dwsm/changelog-mcp\"]\n    }\n  }\n}\n```\n\n### Cursor / Windsurf / Cline\n\n```json\n{\n  \"changelog\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@dwsm/changelog-mcp\"]\n  }\n}\n```\n\n---\n\n## Tools\n\n| Tool | Beschreibung |\n|------|-------------|\n| `init_changelog` | Erstellt eine neue Changelog-Datei + Config |\n| `get_current_version` | Liest die aktuelle Version aus dem Changelog |\n| `get_next_version` | Berechnet die nächste Version (major/minor/patch) |\n| `preview_entry` | Zeigt Vorschau eines Eintrags ohne zu schreiben |\n| `add_entry` | Schreibt einen Eintrag (Append-Only mit Backup) |\n| `search_changelog` | Durchsucht das Changelog (Freitext, Version, Kategorie) |\n| `get_entry` | Gibt den vollständigen Block einer Version zurück |\n| `get_config` | Zeigt die aktive Konfiguration |\n\n---\n\n## Konfiguration\n\nFunktioniert ohne Konfiguration mit sinnvollen Standardwerten. Für individuelle Einstellungen eine Config-Datei anlegen.\n\n### Standard-Config\n\n```json\n{\n  \"format\": \"keep-a-changelog\",\n  \"changelog\": {\n    \"file\": \"CHANGELOG.md\",\n    \"path\": \"./\",\n    \"encoding\": \"utf-8\",\n    \"entrySpacing\": 2\n  },\n  \"backup\": {\n    \"enabled\": true,\n    \"path\": \"./changelog-backups\",\n    \"strategy\": \"daily\",\n    \"maxFiles\": 30\n  },\n  \"versioning\": {\n    \"mode\": \"semver\",\n    \"prefix\": \"\",\n    \"fixedMajor\": null,\n    \"fixedMinor\": null\n  },\n  \"dateFormat\": \"YYYY-MM-DD\",\n  \"language\": \"en\"\n}\n```\n\n### Eigene Config-Datei\n\nFü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.\n\nSoll die Config an einem anderen Ort liegen, den Pfad über die Umgebungsvariable `CHANGELOG_MCP_CONFIG` setzen.\n\nDer Server sucht die Config in dieser Reihenfolge:\n\n1. **`CHANGELOG_MCP_CONFIG`** Umgebungsvariable (expliziter Pfad zum Configfile)\n2. **`changelog-mcp-config.json`** oder **`.changelog-mcp.json`** im aktuellen Arbeitsverzeichnis\n3. Gleiche Dateinamen im **Git-Root**\n4. **Standard-Config** (siehe oben)\n\n#### Eigener Config-Pfad\n\nConfig-Pfad als `env` in der MCP-Server-Konfiguration (`.mcp.json`) setzen:\n\n```json\n{\n  \"mcpServers\": {\n    \"changelog\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dwsm/changelog-mcp\"],\n      \"env\": {\n        \"CHANGELOG_MCP_CONFIG\": \"./documentation/changelog/changelog-mcp-config.json\"\n      }\n    }\n  }\n}\n```\n\n### Beispiel: Individuelle Config\n\n```json\n{\n  \"format\": \"dwsm\",\n  \"changelog\": {\n    \"file\": \"CHANGELOG.md\",\n    \"path\": \"./documentation/changelog\",\n    \"encoding\": \"utf-8\",\n    \"entrySpacing\": 1\n  },\n  \"backup\": {\n    \"enabled\": true,\n    \"path\": \"./documentation/changelog/backups\",\n    \"strategy\": \"always\",\n    \"maxFiles\": 15\n  },\n  \"versioning\": {\n    \"mode\": \"patch-only\",\n    \"prefix\": \"v\",\n    \"fixedMajor\": 1,\n    \"fixedMinor\": 0\n  },\n  \"dateFormat\": \"YYYY-MM-DD\",\n  \"language\": \"de\"\n}\n```\n\nNur geänderte Felder müssen angegeben werden - alles andere wird mit Standardwerten aufgefüllt.\n\n### Config-Felder\n\n#### `format` - Changelog-Format\n\n| Format | Beschreibung |\n|--------|-------------|\n| `keep-a-changelog` | [keepachangelog.com](https://keepachangelog.com) Standard (Standard) |\n| `conventional` | Conventional Commits Format |\n| `dwsm` | DWSM Format - freie Kategorien, kompaktes Layout |\n\n##### Keep a Changelog (Standard)\n\nKategorien: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`\n\n```json\n{ \"format\": \"keep-a-changelog\" }\n```\n\n```markdown\n## [0.1.0] - 2026-02-11\n\n### Added\n- Neue Export-Funktion implementiert\n  - PDF-Report-Generierung\n  - Excel-Export für Backtesting\n\n### Files\n- export.ts - Export-Klasse erstellt\n- templates/report.html - Report-Template\n```\n\n##### Conventional Changelog\n\nKategorien: `Features`, `Bug Fixes`, `Performance`, `Reverts`, `Breaking Changes`\n\n```json\n{ \"format\": \"conventional\" }\n```\n\n```markdown\n## 0.1.0 (2026-02-11)\n\n### Features\n\n* Neue Export-Funktion implementiert\n  * PDF-Report-Generierung\n  * Excel-Export für Backtesting\n```\n\n##### DWSM\n\nAlle Kategorien frei wählbar. Empfohlen: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`, `Documentation`\n\n```json\n{ \"format\": \"dwsm\" }\n```\n\n```markdown\nv0.1.0 (2026-02-11)\n\n### Added\n- Neue Export-Funktion implementiert\n  - PDF-Report-Generierung\n\n### Files\n  - `export.ts`\n  - `templates/report.html`\n```\n\n#### `changelog` - Datei-Einstellungen\n\n| Feld | Standard | Beschreibung |\n|------|----------|-------------|\n| `file` | `\"CHANGELOG.md\"` | Dateiname |\n| `path` | `\"./\"` | Verzeichnis relativ zum Projekt-Root |\n| `encoding` | `\"utf-8\"` | Zeichenkodierung |\n| `entrySpacing` | `2` | Anzahl Leerzeilen zwischen Einträgen |\n\n#### `backup` - Backup-Einstellungen\n\n| Feld | Standard | Beschreibung |\n|------|----------|-------------|\n| `enabled` | `true` | Backup-System aktiv/inaktiv |\n| `path` | `\"./changelog-backups\"` | Backup-Verzeichnis |\n| `strategy` | `\"daily\"` | `\"always\"` / `\"daily\"` / `\"none\"` |\n| `maxFiles` | `30` | Max. Anzahl Backup-Dateien |\n\n#### `versioning` - Versionierung\n\n| Feld | Standard | Beschreibung |\n|------|----------|-------------|\n| `mode` | `\"semver\"` | Versionierungs-Modus |\n| `prefix` | `\"\"` | Präfix (z.B. `\"v\"` für v1.2.3) |\n| `fixedMajor` | `null` | Feste Major-Version (für `patch-only`) |\n| `fixedMinor` | `null` | Feste Minor-Version (für `patch-only`) |\n\n**Versionierungs-Modi:**\n\n| Modus | Beispiel | Beschreibung |\n|-------|---------|-------------|\n| `semver` | 1.2.3 | Frei wählbar via bump-Parameter (Standard) |\n| `patch-only` | 0.1.42 | Feste Major.Minor, nur Patch zählt hoch |\n\n**`patch-only` Beispiel** - Major/Minor über Config steuerbar:\n\n```json\n{\n  \"versioning\": {\n    \"mode\": \"patch-only\",\n    \"fixedMajor\": 0,\n    \"fixedMinor\": 1\n  }\n}\n```\n\nVersionen: `0.1.0` → `0.1.1` → `0.1.2` → ...\nUmstellung auf `0.2.0`: einfach `\"fixedMinor\": 2` setzen.\n\n---\n\n## Empfehlung: Slash-Command in Claude Code\n\nFü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.\n\n### Einrichtung\n\nErstelle die Datei `.claude/commands/changelog.md` im Projekt-Root:\n\n```markdown\nErstelle einen Changelog-Eintrag für die soeben abgeschlossene Änderung.\n\nAblauf:\n1. Analysiere die aktuellen Änderungen (git diff, git status)\n2. Nutze `preview_entry` um den Eintrag zu prüfen\n3. Frage den User ob der Eintrag passt\n4. Nutze `add_entry` um den Eintrag zu schreiben\n\n$ARGUMENTS\n```\n\n### Verwendung\n\n```bash\n# Einfach aufrufen - analysiert automatisch die Änderungen\n/changelog\n```\n\nDer 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.\n\n---\n\n## Plattformkompatibilität\n\nFunktioniert überall wo Node.js 18+ läuft:\n\n| Umgebung | Status |\n|----------|--------|\n| Windows (CMD/PowerShell) | Unterstützt |\n| Windows (Git Bash) | Unterstützt |\n| Linux | Unterstützt |\n| WSL | Unterstützt |\n| macOS | Unterstützt |\n\nAlle Pfade werden intern mit `path.resolve()` / `path.join()` aufgelöst - keine hardcodierten Separatoren.\n\n---\n\n## Lizenz\n\nMIT License – siehe [LICENSE](LICENSE) für Details.","readmeFilename":"README.md"}