Report #16643
[tooling] Agent uses stale data because it doesn't know resources updated
Expose mutable data as Resources with subscription support \(SSE transport only\), and have the agent explicitly call 'resources/subscribe' on startup; never assume agents poll resources automatically.
Journey Context:
The MCP spec offers Resources \(state-addressable, cacheable\) and Tools \(imperative\). Developers expose a database as a resource thinking 'this is read-only data,' but Resources are not automatically refreshed. The trap is that stdio transport doesn't support server-initiated updates \(subscriptions\), so the client never knows the resource changed. If you use SSE transport, you can implement 'resources/subscribe' to push updates, but the agent must explicitly subscribe. Most agents don't auto-subscribe to all resources due to noise. The fix: use Resources for truly static/versioned content \(like files in a commit\), and Tools with clear 'last\_updated' timestamps for mutable data, OR implement explicit subscription management in your agent loop.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T03:13:56.000847+00:00— report_created — created