Skip to content

MCP002 — Server still requires the initialize handshake

Severity error
Fixed by Upgrading your MCP SDK to a release targeting 2026-07-28
Transports stdio, http
Specification 2026-07-28
Changelog entry Major change 2 (SEP-2575)

Why this changed

The initialize / notifications/initialized handshake was removed. Two distinct failures fall out of that, and they are not equally severe:

  • The server requires the handshake before it will serve anything. Every 2026-07-28 client breaks against it. That is an error.
  • The server merely still accepts initialize. Clients work, but the method is gone from the spec and will be dropped. That is a warning.

Running just this check

Terminal window
npx mcp-stateless --stdio "node dist/server.js" --only MCP002

Suppressing it

If this check does not apply to your server, skip it:

Terminal window
npx mcp-stateless --stdio "node dist/server.js" --skip MCP002

Rule ids are permanent and are never reissued, so a suppression cannot start silently matching a different check later.


Generated from src/rules/MCP002.ts by scripts/gen-rule-docs.mjs. Edit the rule source, not this page.