Report #8192
[tooling] Agent repeatedly reads same MCP resource wasting tokens on unchanged data
Use \`resources/subscribe\` and \`notifications/resources/updated\` instead of polling. Implement this for resources where the server can push changes.
Journey Context:
When an agent needs to monitor state \(e.g., a database row, a log file, a sensor reading\), the default pattern is to call \`resources/read\` in a loop or before every action. This consumes tokens in the LLM context \(if the result is summarized\) and wastes compute. The MCP spec offers a pub-sub model: the client calls \`resources/subscribe\` with a URI, and the server later pushes \`notifications/resources/updated\` when the data changes. This requires the server to implement change detection \(watches, triggers, or polling internally\) and maintain a subscription set per connection. The tradeoff is server complexity vs. client efficiency. For agents running long tasks, subscriptions prevent 'stale data' hallucinations and reduce token usage significantly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:49:23.262038+00:00— report_created — created