Skip to content

mcp-registry-version-semver

MCP Registry server versions should use strict Semantic Versioning 2.0.0

Severity warning (auto)
Autofix -
Since v0.20.0
Repo Types mcp-registry
Category MCP (Model Context Protocol)

Released MCP Registry schemas permit non-semantic server versions, but warn that they may not sort predictably. This rule recommends strict Semantic Versioning 2.0.0 for the top-level server.json version.

This is a warning, not a validity error. Exact non-semantic versions remain allowed by the official schema. Forbidden tags and ranges are reported by mcp-registry-server-json-valid instead, so one value does not produce two findings.

What is checked

Accepted versions contain numeric major, minor, and patch components without leading zeroes. Optional prerelease and build identifiers follow SemVer 2.0.0:

1.2.3
1.2.3-beta.1
1.2.3-beta.1+build.4

Versions such as v1.2.3, 1.2, 2025-12-11, and 1.2.3-01 trigger the recommendation.

An exact publish-time placeholder such as ${VERSION}, {{VERSION}}, or <<Version>> is ignored in source metadata. Its rendered value should be SemVer.

How to fix

Publish a three-component semantic version. When the upstream package ecosystem uses a different version scheme intentionally, configure this rule off or lower its severity rather than treating the valid Registry document as broken.

Configuration

rules:
  mcp-registry-version-semver:
    enabled: auto  # true | false | auto
    severity: warning

Run skillsaw explain mcp-registry-version-semver to see this documentation and the rule's effective configuration in your terminal.