Skip to content
{mcpdesc}

Project a document to one MCP protocol version

A single-version projection validates the source, keeps the declarations whose effective scope includes the protocol version, removes their scopes, and keeps everything else unchanged: security forms, examples, client requirements, tags, extensions, and the components still referenced.

An Effective Protocol View is a valid document for one protocol version that keeps the applicable declarations and preserves their content, security semantics, and referenced components.

Rule ID: mcpdesc.view.projection
Owner: mcpdesc
Surface: Effective Protocol View
Kind: mcpdesc-semantic
Requirement level: must
Protocol versions: independent of the MCP protocol version
Status: delegated · Enforcement: external

Checked by the cases in view-fixtures/, which scripts/test-view-fixtures.mjs recomputes with the reference operations of scripts/mcpdesc-views.mjs. Implementations such as @mcpdesc/core must pass them.

Source: view-fixtures/view-client-requirements-2026-07-28.json · Selected: /expected

"expected/view-client-requirements-2026-07-28.json"

Source: view-fixtures/view-completion-examples-2026-07-28.json · Selected: /expected

"expected/view-completion-examples-2026-07-28.json"

Source: view-fixtures/view-component-pruning-2026-07-28.json · Selected: /expected

"expected/view-component-pruning-2026-07-28.json"

Source: view-fixtures/view-prompt-examples-2026-07-28.json · Selected: /expected

"expected/view-prompt-examples-2026-07-28.json"

Source: view-fixtures/view-protocol-scoped-primitives-2025-11-25.json · Selected: /expected

"expected/view-protocol-scoped-primitives-2025-11-25.json"

Source: view-fixtures/view-protocol-scoped-primitives-2026-07-28.json · Selected: /expected

"expected/view-protocol-scoped-primitives-2026-07-28.json"

Source: view-fixtures/view-resource-examples-2026-07-28.json · Selected: /expected

"expected/view-resource-examples-2026-07-28.json"

Source: view-fixtures/view-security-forms-2025-11-25.json · Selected: /expected

"expected/view-security-forms-2025-11-25.json"

Source: view-fixtures/view-security-forms-2026-07-28.json · Selected: /expected

"expected/view-security-forms-2026-07-28.json"

Source: view-fixtures/view-specification-extensions-2025-11-25.json · Selected: /expected

"expected/view-specification-extensions-2025-11-25.json"

Source: view-fixtures/view-tool-interaction-examples-2025-11-25.json · Selected: /expected

"expected/view-tool-interaction-examples-2025-11-25.json"

Source: view-fixtures/view-protocol-version-not-declared.json · Selected: /expectedFailure

"req-view-projection"

Source: view-fixtures/view-source-invalid.json · Selected: /expectedFailure

"req-view-projection"

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