SemverKit
解析並比較語意化版本,檢查 npm 風格的版本範圍(^、~、x、連字號、||),從最多 200 個候選版本中找出符合條件的最大版本,並計算下一個版本,與 node-semver 相容。免費使用,無需註冊或 API 金鑰;每個 IP 每分鐘約可檢查 60 次。您提交的內容不會被儲存。SemverKit 與 semver.org、npm、GitHub 或 OpenJS Foundation 均無關聯。
託管 MCP 伺服器
npx add-mcp 'https://semverkit.mike-tusa.workers.dev/mcp'可安裝到 Claude Code、Codex、Cursor 等客戶端
文件
SemverKit
Does this version satisfy that range? Type a version and an npm-style range (^, ~, 1.x, 1.2.3 - 2, ||) and see the answer, what the range really means, and how the two versions compare. Results match node-semver. Nothing you type is stored.
How it works
Precedence follows SemVer 2.0.0 item 11: numeric MAJOR.MINOR.PATCH, then a release sorts after its prereleases, prerelease identifiers compare numerically when numeric and in ASCII order otherwise, and build metadata is ignored. Ranges follow npm (node-semver 7): ^ allows changes that keep the left-most non-zero part, ~ allows patch changes (minor when only a major is given), 1.x / 1.2.* / * are wildcards, "a - b" is inclusive, || means OR and spaces mean AND. A prerelease such as 2.0.0-rc.1 only matches a range that names a prerelease on the same 2.0.0, unless includePrerelease is true. See Semantic Versioning 2.0.0.
Versions: MAJOR.MINOR.PATCH with optional -prerelease and +build (one leading "v" is accepted), max 256 characters. Ranges: max 512 characters. Lists: up to 200 versions. Release types: major, minor, patch, premajor, preminor, prepatch, prerelease, release. Not supported: loose/coerced versions such as "1.2" or "01.2.3" (rejected as invalid, like semver.valid), Cargo/Maven/PEP 440 range dialects.
JSON API
curl -s 'https://semverkit.mike-tusa.workers.dev/api/satisfies?version=1.4.2&range=%5E1.2.0'
curl -s 'https://semverkit.mike-tusa.workers.dev/api/resolve?versions=1.0.0,1.2.3,1.10.0&range=~1.2'
curl -s 'https://semverkit.mike-tusa.workers.dev/api/bump?version=1.2.3&release=preminor&preid=beta'
Routes: /api/parse, /api/compare, /api/satisfies, /api/resolve (up to 200 versions) and /api/bump. No key needed: about 60 requests per minute per IP. OpenAPI 3.1 spec
For AI agents
Language models are unreliable at semver edge cases (^0.2.3 does not allow 0.3.0; 1.10.0 is newer than 1.9.0; prereleases skip most ranges). SemverKit is also a remote Model Context Protocol (MCP) server with five read-only tools: parse_version, compare_versions, check_range, resolve_versions and bump_version. Works with AI agents and assistants that can call an MCP server or a JSON API, for example Muse, Claude, ChatGPT or Cursor (descriptive only). Most MCP clients accept this config; some use a different format (for example, VS Code uses a servers key).
{ "mcpServers": { "semverkit": { "type": "http", "url": "https://semverkit.mike-tusa.workers.dev/mcp" } } }
Machine-readable docs: llms.txt · OpenAPI 3.1 spec · MCP server card. SemverKit is not affiliated with, endorsed by or sponsored by semver.org, npm, GitHub, the OpenJS Foundation, Meta, Anthropic, OpenAI or Anysphere. It reimplements the published Semantic Versioning 2.0.0 rules and npm range syntax and is tested against node-semver 7.