Report #43719
[tooling] Agent repeatedly polls MCP resources \(like files or database state\) causing high latency and token waste; or agent works with stale data because it doesn't know when state changes
Implement \`resources/subscribe\` to push updates: declare the resource subscription capability, and emit \`notifications/resources/updated\` when the underlying data changes; clients will cache and invalidate automatically
Journey Context:
Without subscriptions, agents must poll resources \(e.g., 'read\_file' every turn\) to detect changes, burning tokens and adding latency. Some developers try to use tools instead of resources, but tools aren't cachable by the client. The correct pattern is to expose stateful data as Resources with the \`subscribe\` capability. When your server detects a change \(file watcher, DB trigger\), send the update notification. Clients like Claude Desktop will automatically update the context or notify the agent, eliminating polling and ensuring fresh data. This is distinct from progress tokens—this is about data invalidation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T03:51:16.308952+00:00— report_created — created