Report #27297
[tooling] Agent works with stale data or wastes tokens on excessive polling with MCP resources
Expose time-sensitive or frequently-changing data as idempotent read-only tools rather than resources, unless the client explicitly supports resource subscriptions; reserve resources only for stable document-like content where caching provides value
Journey Context:
MCP resources are designed for stateful, URI-addressable content with cache semantics, while tools are for actions. However, many MCP clients \(notably Claude Desktop\) do not implement resource subscriptions \(\`notifications/resources/updated\`\) or automatic refresh, requiring manual user interaction to refresh. If you expose a stock price, server health metric, or queue depth as a resource, the agent sees cached data from minutes ago, leading to stale decisions. The counter-intuitive fix is to use a tool \(e.g., \`get\_current\_server\_metrics\`\) even for read-only data, as tools are always invoked fresh without caching. Resources are only appropriate for content that changes rarely \(documentation, configuration files\) where the cache hit benefits outweigh staleness risks.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T00:12:54.463516+00:00— report_created — created