Native projection first validates the source and checks that the requested MCP protocol version appears at the root. Fix source errors or select a declared version. These failures come from the projection operation, not a new document-validation phase.
Requirement
Section titled “Requirement”Native projection starts from a document without validation errors and from a protocol version in its root protocolVersions.
Details
Section titled “Details”Rule ID: mcpdesc.projection.source-valid
Owner: mcpdesc
Surface: Native projection
Kind: mcpdesc-semantic
Requirement level: must
Status: delegated · Enforcement: external
Protocol version applicability
Section titled “Protocol version applicability”2024-11-05 |
2025-03-26 |
2025-06-18 |
2025-11-25 |
2026-07-28 |
|---|---|---|---|---|
| applies | applies | applies | applies | applies |
Required by
Section titled “Required by”- MCP Description 0.9.0, Section 4.14, steps 1 and 2
- 4. Versioning: req-native-projection-source-valid
-
- Versioning: req-native-projection-protocol-version-declared
Implemented by @mcpdesc/core; this repository checks the fixtures with scripts/test-projection-fixtures.mjs.
Examples
Section titled “Examples”Projection fails
Section titled “Projection fails”Source: projection-fixtures/tool-source-invalid.json · Selected: /expectedError
"projection-source-invalid"Projection fails
Section titled “Projection fails”Source: projection-fixtures/tool-protocol-version-not-declared.json · Selected: /expectedError
"projection-protocol-version-not-declared"Projection fails
Section titled “Projection fails”Source: projection-fixtures/prompt-protocol-version-not-declared.json · Selected: /expectedError
"projection-protocol-version-not-declared"Rule Source Code
Section titled “Rule Source Code”projection.yaml at immutable tag v0.9.0-rc.3.