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
npx mcp-stateless --stdio "node dist/server.js" --only MCP018Suppressing it
If this check does not apply to your server, skip it:
npx mcp-stateless --stdio "node dist/server.js" --skip MCP018Rule 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.