SemverKit

Parse and compare semantic versions, check npm-style ranges (^, ~, x, hyphen, ||), find the max satisfying version from up to 200 candidates and compute the next version, node-semver compatible. Free, with no sign-up and no API key; about 60 checks per minute per IP. Nothing you submit is stored. SemverKit is not affiliated with semver.org, npm, GitHub or the OpenJS Foundation.

Servidor MCP alojado

npx add-mcp 'https://semverkit.mike-tusa.workers.dev/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

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.