When AI Agents Hammer tools/list: Building a Caching-Aware MCP Server (SEP-2549) A developer built a caching-aware MCP server implementing SEP-2549, which adds ttlMs and cacheScope fields to cacheable discovery results like tools/list. Testing with GitHub Copilot CLI showed the client fired nine tools/list calls in roughly 40 seconds, illustrating how recursive agent planning loops can turn discovery endpoints into a self-inflicted database DoS risk. The server publishes cache hints both in the JSON-RPC result and as a Cache-Control header, while tools/call remains no-store. Part 2 of 2. Part 1 https://dev.to/sindhuja sudhakar/why-mcp-dropped-the-handshake-building-a-bare-metal-stateless-client-sep-2575-277d covered statelessness; here I tackle caching. Part 1 was about statelessness, now shipped in the 2026-07-28 spec. This time it's another feature from that same spec: caching SEP-2549, "TTL for List Results" . It adds two tiny fields — ttlMs and cacheScope — to cacheable results, giving clients a way to avoid re-fetching the same discovery data. So I built a server that emits them, pointed real AI clients at it, and watched what actually happened. The result surprised me. AI agents plan in loops. A human calls a tool because they decided to; an agent can call — and re-discover — the same tools dozens of times inside a single planning loop. That changes the economics of the protocol: one user request fans out into many MCP calls. A ReAct-style agent can repeatedly re-check the available tools during a multi-step task, calling my discovery endpoint tools/list over and over. In a toy server that's harmless — the tool list is a constant. In a real one it isn't. Building a genuine tools/list means querying a service registry , filtering tools through RBAC , assembling input schemas from config, applying feature flags — one or more backend round-trips per call . Now multiply that by a recursive planning loop across many agents, and my discovery endpoint has quietly become a self-inflicted DoS risk for my own databases. php flowchart LR A "AI agent