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.
Example: failing and passing
{
"jsonrpc": "2.0",
"id": "discover-1",
"result": {
"resultType": "complete",
"supportedVersions": ["2026-07-28"],
"capabilities": { "tools": {}, "logging": {} },
"ttlMs": 3600000,
"cacheScope": "public"
}
}{
"jsonrpc": "2.0",
"id": "discover-1",
"result": {
"resultType": "complete",
"supportedVersions": ["2026-07-28"],
"capabilities": { "tools": {} },
"ttlMs": 3600000,
"cacheScope": "public"
}
}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.
- skip
- No server/discover result was available, so advertised capabilities could not be checked
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 MCP-DEP-005
Probe P2.1 checks MCP-DEP-005 in the same request as 24 other rules, so one run shows your server's result for this rule next to the rest. Validate a server or read how the validator works.
Background on this topic: the 2026-07-28 migration guide.
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