Skip to content

MCP018 — Results do not identify the server via meta serverInfo

Severity warning
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 handshake used to tell a client who it was talking to exactly once. Statelessly, servers identify themselves in each result’s _meta instead, so a client that reconnects — or an intermediary that sees one response in isolation — can still attribute it.

Running just this check

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

Suppressing it

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

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

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


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