createmcps.com

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 MCP-DEP-006

Probe P9.1 checks MCP-DEP-006 in the same request as 1 other rule, 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-005Roots / Sampling / Logging capabilities are not advertised
  • MCP-DEP-007A modern-only server names its supported versions in the initialize error