mcpField
V
versionbump

versionbump

ローカル
github.com/CloudCorpRecords開発ツール01 週間前に更新

versionbump について

versionbump は、コミットと公開 API の変更からセマンティックバージョニングの更新幅を算出するコマンドラインツール兼 MCP サーバーです。定められたルールで判定し、根拠も返します。処理はローカルで完結し、入力も検証します。

主な機能

  1. 01メジャー、マイナー、パッチ、変更なしの判定
  2. 02コミットと API 変更の分析
  3. 03根拠を固定順で提示
  4. 04セマンティックバージョンと入力の厳密な検証
  5. 05ローカル CLI と MCP サーバー

活用シーン

  1. 01次のリリースバージョンの決定
  2. 02更新幅の判定根拠の確認

MCP 対応

MCP クライアントに recommend_version_bump ツールを提供します。現在のバージョン、コミット、任意の API 変更を受け取り、次のバージョン、更新幅、理由を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-versionbump": {
"command": "npx",
"args": [
"-y",
"@reneturcios/versionbump"
]
}
}
}
起動コマンドnpx -y @reneturcios/versionbump

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/versionbump0.1.0
ocighcr.io/cloudcorprecords/versionbump:0.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
commitsarrayはい現在のバージョン以降のコミット(空でも可)
api_changesarrayいいえ現在のバージョン以降の公開 API サーフェスの変更(省略可、デフォルトは [])
current_versionstringはい現在のバージョン。厳密な MAJOR.MINOR.PATCH セマンティックバージョニング形式(例:"1.4.2")

詳細

versionbump

次のバージョン番号を決めるのは、通常、記憶を頼りにした判断です。「これはマイナーな変更に思える」といった具合です。versionbump は、この判断を計算に置き換えます。現在のバージョン、そのバージョン以降のコミット、そのバージョン以降の公開 API の変更を渡すと、セマンティックバージョニングのルールを機械的に適用し、選んだレベルの根拠を一覧表示するため、誰でも結果を確認できます。

  • メジャー — コミットに破壊的変更のマークが付いているか、API エントリーが削除された、または互換性のない形で変更されています。次のバージョンは (X+1).0.0 です。
  • マイナー — 破壊的変更を示すものはありませんが、feat コミットが追加されたか、API エントリーが追加されています。次のバージョンは X.(Y+1).0 です。
  • パッチ — 破壊的変更や機能追加を示すものはありませんが、コミットがあります。次のバージョンは X.Y.(Z+1) です。
  • なし — コミットも API 変更もありません。次のバージョンは現在のバージョンのまま変わりません。

最初に一致したルールが適用されますが、根拠は勝者だけでなくすべて網羅されます。reasons には、すべての破壊的変更を含むコミット、すべての破壊的な API 変更、すべての機能追加コミット、すべての追加された API エントリーが、この固定順序で各グループ内の入力順に列挙されます。パッチのバージョンアップには、単一の理由 no breaking or feature signals; <n> commit(s) present が含まれます。バージョンアップなしの場合は、no commits and no API changes supplied が含まれます。

機能の検出は厳密です。コミットが機能追加とみなされるのは、タイプが正確に feat(大文字と小文字を区別)である場合のみです。破壊的変更のマークが付いていない限り、それ以外のすべてのコミットタイプはパッチレベルになります。現在のバージョンには、厳密な MAJOR.MINOR.PATCH 形式の semver を指定する必要があり、プレリリースやビルドのサフィックスは指定できません。不正な入力(不正なバージョン文字列、タイプのないコミット、不明な種類の API 変更など)は、問題のあるパスを示す検証エラーになります(例:commits[1].type must be a non-empty string)。部分的な推奨結果は生成されません。この計算は純粋かつローカルです。ネットワークや設定は使わず、渡された入力以外のファイルも読み取りません。

CLI

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

args.json には、引数オブジェクト全体が含まれます。

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

breaking はコミットごとにデフォルトで false、api_changes はデフォルトで [] です。推奨結果は 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"
  ]
}

終了コード:成功時は 0、実行時エラー(読み取り不能または無効な入力ファイル、無効な入力を含む)時は 1、使用方法エラー時は 2 です。

MCP サーバー

npx -y @reneturcios/versionbump mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "versionbump": {
      "command": "npx",
      "args": ["-y", "@reneturcios/versionbump", "mcp"]
    }
  }
}
ツール
  • recommend_version_bump — コミットタイプと API サーフェスの変更から、次のセマンティックバージョンを推奨し、選択したバージョンアップレベルの根拠を一覧表示します。

    • current_version(文字列、必須) — 厳密な MAJOR.MINOR.PATCH 形式の semver。例:"1.4.2"
    • commits(配列、必須、空でも可) — {type, breaking?} オブジェクトとしてのコミット。type は conventional commit のタイプで、breaking のデフォルトは false です。
    • api_changes(配列、省略可、デフォルト []) — {kind, name} オブジェクトとしての API 変更。kind は "removed"、"changed"、"added" のいずれかです。

    {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

開発

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

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。