MCP-DEP-006
Server accepts initialize (dual-era support)
“A server that wishes to support both legacy clients and modern clients MAY implement both behaviors.” — spec anchor
How to fix this
Nothing to fix — accepting `initialize` alongside the modern request shape is optional, and only worth doing while you still have legacy clients to serve.
How the validator checks this
Probe P9.1, against a streamable-http server on the modern / legacy / dual protocol. What it reports:
- pass
- Does not accept the legacy initialize handshake — modern-only, as … intends
- info
- Accepts the legacy initialize handshake — this is a dual-era server. The spec explicitly permits implementing both behaviours; it is not a failure.
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-DEP-007.
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-005Roots / Sampling / Logging capabilities are not advertised
- MCP-DEP-007A modern-only server names its supported versions in the initialize error