Report #92482
[tooling] Agent repeatedly calls tool to check for data updates wasting tokens and causing rate limits
Expose the data as a Resource with listChanged capability set to true; subscribe to notifications/resources/list\_changed and use resources/list to refresh only when notified, rather than polling via Tool calls
Journey Context:
It's tempting to expose ever-changing data \(like file listings or stock prices\) as a Tool that the agent calls in a loop. This burns tokens on identical responses and hits rate limits. The MCP Resource pattern is designed for this: Resources represent state that can be cached and subscribed to. By setting listChanged: true in the server capabilities and emitting notifications/resources/list\_changed when data mutates, the client can hold a cache and refresh only on notification. This is the difference between 'polling HTTP' and 'WebSocket subscriptions' translated to MCP primitives.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:49:25.406118+00:00— report_created — created