@@ -80,15 +80,22 @@ jobs:
8080 if 'packages' in data:
8181 for package in data['packages']:
8282 registry_type = package.get('registryType')
83- # Update version field for all package types
84- package['version'] = version
8583
86- # For OCI packages: also update version in identifier
84+ # Per 2025-10-11 schema: version is optional for OCI/MCPB (embedded in identifier)
8785 if registry_type == 'oci':
86+ # Update version in identifier
8887 identifier = package.get('identifier', '')
8988 if ':' in identifier:
9089 base = identifier.rsplit(':', 1)[0]
9190 package['identifier'] = f'{base}:v{version}'
91+ # Remove separate version field (optional for OCI)
92+ package.pop('version', None)
93+ elif registry_type == 'mcpb':
94+ # MCPB uses direct download URLs, no version field needed
95+ package.pop('version', None)
96+ else:
97+ # For npm, pypi, nuget: version field is required
98+ package['version'] = version
9299
93100 # Update Docker args with new version
94101 transport = package.get('transport', {})
@@ -115,7 +122,7 @@ jobs:
115122 import urllib.request
116123 from jsonschema import ValidationError, validate
117124
118- schema_url = "https://static.modelcontextprotocol.io/schemas/2025-09-29 /server.schema.json"
125+ schema_url = "https://static.modelcontextprotocol.io/schemas/2025-10-11 /server.schema.json"
119126
120127 try:
121128 with urllib.request.urlopen(schema_url, timeout=30) as response:
0 commit comments