Skip to content

fix: OCI package version in identifier tag (MCP Registry validation)#59

Merged
aliasunder merged 1 commit into
mainfrom
claude/fix-registry-oci-version
May 20, 2026
Merged

fix: OCI package version in identifier tag (MCP Registry validation)#59
aliasunder merged 1 commit into
mainfrom
claude/fix-registry-oci-version

Conversation

@aliasunder
Copy link
Copy Markdown
Owner

Summary

mcp-publisher publish failed again:

registry validation failed for package 0 (ghcr.io/aliasunder/vault-mcp):
OCI packages must not have 'version' field — include version in 'identifier' instead (e.g., 'docker.io/owner/image:1.0.0')

The MCP Registry's semantic validation requires OCI packages to put the version in the identifier tag and omit the separate version field (newer than the 2025-12-11 schema we built against).

Fix

  • server.jsonpackages[0].identifier: ghcr.io/aliasunder/vault-mcpghcr.io/aliasunder/vault-mcp:0.15.4; removed packages[0].version.
  • .github/workflows/manual_release.yml — the release jq bump now sets the identifier tag (ghcr.io/aliasunder/vault-mcp:$NEXT) instead of the now-invalid packages[0].version, so each release keeps the OCI reference in lockstep:
    jq --arg v "$NEXT" '.version = $v | .packages[0].identifier = "ghcr.io/aliasunder/vault-mcp:" + $v' …
    

Notes

  • Registry-metadata only — no image rebuild/release needed.
  • The :0.15.4 tag already exists on GHCR (deploy.yml pushes the clean-semver tag) and carries the io.modelcontextprotocol.server.name ownership label.
  • Top-level version (the server version) is unchanged — only the package version field was disallowed.

Validation

  • jq: packages[0] has no version; identifier is tagged
  • Simulated a 0.15.5 release bump → identifier becomes …:0.15.5, still no package version field
  • prettier clean

Generated by Claude Code

mcp-publisher rejected the package: the MCP Registry requires OCI
packages to embed the version as a tag in `identifier` and omit the
separate `version` field.

- server.json: identifier ghcr.io/aliasunder/vault-mcp →
  ghcr.io/aliasunder/vault-mcp:0.15.4; removed packages[0].version.
- manual_release.yml: the jq bump now sets packages[0].identifier's
  tag (ghcr.io/aliasunder/vault-mcp:$NEXT) instead of the now-invalid
  packages[0].version field, keeping the published OCI reference in
  lockstep with each release.

Registry-metadata only — no image rebuild. The :0.15.4 tag already
exists on GHCR (deploy.yml pushes the clean-semver tag) and carries
the OCI ownership label.
@aliasunder aliasunder merged commit ad94f7d into main May 20, 2026
5 checks passed
@aliasunder aliasunder deleted the claude/fix-registry-oci-version branch May 20, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants