Report #4559
[gotcha] MCP clients ignore tools/list pagination and silently drop tools beyond the first page
Server authors: disable cursor-based pagination unless you control the client, or return the full tool catalog in a single page. Client/gateway authors: loop on \`nextCursor\` until it is null when calling \`tools/list\`. Do not assume a single response contains the complete catalog.
Journey Context:
The MCP spec \(2025-06-18\) says clients SHOULD support pagination for all list endpoints, but production clients often do not. Claude Code, LangChain4j, Kiro, and the MCP Inspector have all been observed sending a single \`tools/list\` request and ignoring \`nextCursor\`. For gateways aggregating multiple backend servers this is especially dangerous: a page-2 tool is discoverable by the model's search tool but cannot be called because it was never registered. The silent nature is the gotcha — there is no error, just missing capability.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:41:38.595190+00:00— report_created — created