Skip to content
{mcpdesc}

Match the MCP Description document schema

The document root has the required mcpdesc, info, and protocolVersions members, only the members of Section 3.2, and non-empty ordinary collections. Failures inside a root member belong to the rule that owns that member’s schema location; this rule reports root-level failures.

A document validates against the JSON Schema for its declared mcpdesc version. This rule owns the document root and generic JSON values; every other schema location belongs to a more specific rule.

Rule ID: mcpdesc.document.schema
Owner: mcpdesc
Surface: Document
Kind: structural
Requirement level: Not specified in the rule record
Protocol versions: independent of the MCP protocol version
Document schema locations: #, #/$defs/jsonValue, #/$defs/specificationExtensionValue
Status: internal · Enforcement: internal

The optional root $schema does not select the schema used for validation: optional-schema-omitted.json omits it and validates against the schema for its mcpdesc version.

Source: expected-valid/optional-schema-omitted.json · Selected: whole document

Show whole fixture
{
"mcpdesc": "0.9.0",
"info": {
"name": "schema-omitted",
"version": "1.0.0"
},
"protocolVersions": [
"2026-07-28"
]
}

Source: expected-invalid/empty-ordinary-root-collections.json · Selected: /capabilities

[]

Source: expected-invalid/empty-tag-catalog-reference.json · Selected: /tags

[]

document.yaml at immutable tag v0.9.0-rc.3.