Skip to content

MCP005 — List results are missing the required ttlMs and cacheScope fields

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

Why this changed

SEP-2549 made list and read results cacheable, requiring ttlMs and cacheScope. Now that list endpoints no longer vary per connection, these are what let clients and intermediaries stop re-polling — a large part of the practical win from going stateless.

Findings are grouped by field, not by method. The fields are emitted by the SDK’s result plumbing, so one missing field is one defect however many methods show it, and a finding per method would inflate the error count of a server that needs a single upgrade.

Running just this check

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

Suppressing it

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

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

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


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