MCP-DEP-005
Roots / Sampling / Logging capabilities are not advertised
“Deprecate the Roots, Sampling, and Logging features. These features remain fully functional during the deprecation window but new implementations should not add support for them.” — spec anchor
How to fix this
Do not advertise the Roots, Sampling or Logging capabilities in a new implementation. They keep working through the deprecation window, but nothing new should depend on them.
How the validator checks this
Probe P2.1, against a streamable-http server on the modern protocol. What it reports:
- pass
- No deprecated Roots/Sampling/Logging capability advertised
- info
- Advertises deprecated capabilit…: …. These remain functional during the 12-month deprecation window; new implementations should not add them.
Quoted from the probe that runs this check, so it cannot drift from what the validator actually reports.
This rule is checked deterministically: a fail here is a certain violation, not an inference.
Checked in the same request as MCP-HDR-008, MCP-HDR-009, MCP-RES-003, MCP-RES-006, MCP-RES-007, MCP-ERR-003, MCP-ERR-004, MCP-ERR-005, MCP-ERR-008, MCP-CAC-001, MCP-CAC-002, MCP-CAC-003, MCP-CAC-004, MCP-CAC-005, MCP-SCH-001, MCP-SCH-002, MCP-SCH-003, MCP-SCH-004, MCP-SCH-005, MCP-SCH-006, MCP-SCH-007, MCP-SEC-004, MCP-SEC-005, MCP-SEC-006.
Check your own server against this rule
The validator makes real protocol requests and reports this rule as pass, warn or fail alongside the other 78. Validate a server or read how the check works.
Other Deprecated and removed features rules
- MCP-DEP-001ping is no longer implemented
- MCP-DEP-002logging/setLevel is no longer implemented
- MCP-DEP-003resources/subscribe and resources/unsubscribe replaced by subscriptions/listen
- MCP-DEP-004No legacy HTTP+SSE endpoint is served
- MCP-DEP-006Server accepts initialize (dual-era support)
- MCP-DEP-007A modern-only server names its supported versions in the initialize error