releasenotes
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
releasenotes
One changelog, two audiences. The people who use a product want to know what changed for them, in plain terms, with anything that breaks their workflow called out at the top. The people who build on it want everything, including the internal entries users never see. Writing both by hand from the same changelog invites drift, so releasenotes renders both from one list of entries: two outputs, not one copy-paste.
You supply the release version and the changelog entries —
each with a group (such as Added, Fixed, or Changed)
and its text, plus two optional flags: breaking for a
breaking change, and audience (user, developer, or
both) for who the entry is written for. From that,
releasenotes produces:
User notes (
## What's new in <version>) — aBreaking changessection first, holding every user-facing breaking entry in input order, then one section per group holding that group's remaining non-breaking user-facing entries. Developer-only entries never appear here. If nothing is user-facing, the notes are just the title and the line "No user-facing changes in this release.".Developer notes (
## Release <version> — developer notes) — one section per group holding every entry in input order, with breaking entries rendered as- BREAKING: <text>so they stand out in the full list instead of being pulled into their own section.
Sections follow the resolved group order: groups named in
the optional group_order come first in that sequence
(duplicates are ignored), and any groups it does not name
follow in the order they first appear in the entries.
Inside a section, entries keep their input order. Both
notes use exactly one blank line between sections and carry
no trailing newline.
The result also counts the entries: the total, how many
are breaking, how many are user-facing (user or both),
and how many are developer-only. Malformed input — a
missing or empty version or entry list, an entry without a
group or text, a non-boolean breaking, an audience
outside the three values, or a bad group_order — is a
validation error naming the offending path (for example
entries[1].audience must be one of "user", "developer", "both"), and no partial result is produced. The
computation is pure and local: no network, no
configuration, no files read beyond the input you pass in.
CLI
npx @reneturcios/releasenotes generate --input args.json
npx @reneturcios/releasenotes --versionargs.json contains the full arguments object:
{
"version": "2.0.0",
"group_order": ["Added", "Fixed"],
"entries": [
{ "group": "Changed", "text": "Config files now use TOML.", "breaking": true },
{ "group": "Added", "text": "Dark mode for the dashboard." },
{ "group": "Fixed", "text": "Crash on empty search.", "audience": "user" },
{ "group": "Changed", "text": "Internal cache rewritten.", "audience": "developer" }
]
}breaking defaults to false and audience defaults to
"both" per entry; group_order is optional. The result is
printed as JSON:
{
"version": "2.0.0",
"user_notes": "## What's new in 2.0.0\n\n### Breaking changes\n- Config files now use TOML.\n\n### Added\n- Dark mode for the dashboard.\n\n### Fixed\n- Crash on empty search.",
"developer_notes": "## Release 2.0.0 — developer notes\n\n### Added\n- Dark mode for the dashboard.\n\n### Fixed\n- Crash on empty search.\n\n### Changed\n- BREAKING: Config files now use TOML.\n- Internal cache rewritten.",
"counts": { "entries": 4, "breaking": 1, "user_facing": 3, "developer_only": 1 }
}Exit codes: 0 on success, 1 on a runtime error (including
an unreadable or invalid input file, or invalid input), 2
on a usage error.
Related MCP server: jan-mcp
MCP server
npx -y @reneturcios/releasenotes mcpMCP client config:
{
"mcpServers": {
"releasenotes": {
"command": "npx",
"args": ["-y", "@reneturcios/releasenotes", "mcp"]
}
}
}Tools
generate_release_notes— Render two release notes from changelog entries.version(string, required, non-empty) — release version the notes are forentries(array, required, at least one) — changelog entries as{group, text, breaking?, audience?}objects;groupandtextare non-empty strings,breakingdefaults tofalse, andaudienceis one ofuser,developer, orboth(defaultboth)group_order(array, optional) — group ordering; unlisted groups follow in first-appearance order, and duplicate entries are ignored
Returns
{version, user_notes, developer_notes, counts}.
Docker
docker run -i ghcr.io/cloudcorprecords/releasenotes
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/releasenotes generate --input /w/args.jsonDevelopment
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (pure local, no network)
npm run dev # run the CLI from sourceLicense
MIT — Copyright (c) 2026 Rene Turcios
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate changelogs, release emails, help-center articles, banners, and social posts from commits.
Turn a raw dev log (commit subjects, PR titles) into customer-facing release notes Markdown.
Changelogs for coding agents: versions, breaking changes, migrations. Free changelog-to-JSON.
Release intelligence for AI coding tools: releases, typed changes, breaking changes, cadence.
Related MCP Servers
- FlicenseBqualityDmaintenanceGenerates comprehensive and formatted release notes from GitHub repositories, efficiently organizing commits by type and including detailed statistics using smart API usage.33-
- AlicenseNot gradedqualityDmaintenanceConverts raw GitHub notes into polished Polish release notes, PR descriptions, and changelogs using predefined workflows.MIT
- AlicenseAqualityCmaintenanceEnables generating conventional-commit–grouped release notes and CHANGELOG.md drafts from a local repository's git log between tags or commits, plus grouping commits by type. Reads only local git history via an MCP client such as Cursor or Claude Desktop.3MIT

fizlog-mcpofficial
AlicenseAqualityCmaintenanceEnables AI assistants like Claude and Cursor to publish, schedule, or save changelog entries as drafts, delivering them to an in-app widget, public changelog page, and RSS feed with optional subscriber email. It can also read recent published entries so assistants can summarize releases or avoid duplicates.219 npmMIT