Back to Browse

Versionbump MCP Server

Developer ToolsModerate6.9MCP RegistryLocal
Free

Server data from the Official MCP Registry

Recommend a semver bump from commit types and API surface changes, with the evidence listed.

About

Recommend a semver bump from commit types and API surface changes, with the evidence listed.

Security Report

6.9
Moderate6.9Moderate Risk

versionbump is a pure local semantic-version calculator with strict input validation, no network access, no file reads beyond the CLI input, no shell execution, and no credentials required, which matches its stated purpose. The only notable observations are minor: the CLI reads a user-specified input file path without restriction (expected for a CLI), and the MCP server exposes no authentication, which is acceptable for a stateless local computation tool. No malicious or exfiltration patterns were found in the source. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 7 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

system_info

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-versionbump": {
      "args": [
        "-y",
        "@reneturcios/versionbump"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

versionbump

Choosing the next version number is usually a judgement call made from memory: "this feels like a minor". versionbump makes it a computation instead. You give it the current version, the commits since that version, and the public API surface changes since that version, and it applies the semantic-versioning rules mechanically — then lists the evidence for the level it chose, so anyone can check its work:

  • Major — a commit is marked breaking, or an API entry was removed or changed incompatibly. The next version is (X+1).0.0.
  • Minor — no breaking signal, but a feat commit landed or an API entry was added. The next version is X.(Y+1).0.
  • Patch — no breaking or feature signal, but there are commits. The next version is X.Y.(Z+1).
  • None — no commits and no API changes at all. The next version is the current version, unchanged.

The first matching rule wins, but the evidence is complete, not just the winner: reasons lists every breaking commit, every breaking API change, every feature commit, and every added API entry, in that fixed order, each group in input order. A patch bump carries the single reason no breaking or feature signals; <n> commit(s) present, and a none bump carries no commits and no API changes supplied.

Feature detection is exact: a commit is a feature only when its type is precisely feat (case-sensitive); every other commit type is patch-level unless it is marked breaking. The current version must be strict MAJOR.MINOR.PATCH semver — no prerelease or build suffix. Malformed input — a bad version string, a commit without a type, an API change with an unknown kind — is a validation error naming the offending path (for example commits[1].type must be a non-empty string), and no partial recommendation is produced. The computation is pure and local: no network, no configuration, no files read beyond the input you pass in.

CLI

npx @reneturcios/versionbump recommend --input args.json
npx @reneturcios/versionbump --version

args.json contains the full arguments object:

{
  "current_version": "1.4.2",
  "commits": [
    { "type": "feat" },
    { "type": "fix", "breaking": true }
  ],
  "api_changes": [
    { "kind": "added", "name": "exportReport" }
  ]
}

breaking defaults to false per commit and api_changes defaults to []. The recommendation is printed as JSON:

{
  "current_version": "1.4.2",
  "next_version": "2.0.0",
  "bump": "major",
  "reasons": [
    "commit[1] of type \"fix\" is marked breaking",
    "commit[0] is a feature (\"feat\")",
    "API entry \"exportReport\" was added"
  ]
}

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.

MCP server

npx -y @reneturcios/versionbump mcp

MCP client config:

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

Tools

  • recommend_version_bump — Recommend the next semantic version from commit types and API surface changes, listing the evidence for the bump level chosen.

    • current_version (string, required) — strict MAJOR.MINOR.PATCH semver, e.g. "1.4.2"
    • commits (array, required, may be empty) — commits as {type, breaking?} objects; type is the conventional-commit type and breaking defaults to false
    • api_changes (array, optional, default []) — API changes as {kind, name} objects, where kind is one of "removed", "changed", "added"

    Returns {current_version, next_version, bump, reasons}.

Docker

docker run -i ghcr.io/cloudcorprecords/versionbump
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/versionbump recommend --input /w/args.json

Development

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 source

License

MIT — Copyright (c) 2026 Rene Turcios

Reviews

No reviews yet

Be the first to review this server!