Native projection selects a Tool, Resource, Resource Template, or Prompt by its identifier in one protocol view. A declaration outside that view cannot be projected for that version. Check the identifier and the declaration’s inherited or explicit scope.
Requirement
Section titled “Requirement”Native projection selects one declaration of the requested kind and identifier in the Effective Protocol View for the protocol version.
Details
Section titled “Details”Rule ID: mcpdesc.projection.declaration-applicable
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, step 3
- 4. Versioning: req-native-projection-declaration-applicable
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-not-applicable-2024-11-05.json · Selected: /expectedError
"projection-declaration-not-applicable"Projection fails
Section titled “Projection fails”Source: projection-fixtures/resource-template-not-applicable-2025-03-26.json · Selected: /expectedError
"projection-declaration-not-applicable"Rule Source Code
Section titled “Rule Source Code”projection.yaml at immutable tag v0.9.0-rc.3.